时间 | 内容 | 链接 |
2012-9-25 | 申请帖 | forum.eepw.com.cn/thread/221205/1 |
2012-10-24 | 收到器件 | 2楼 |
2012-10-31 | 焊接完毕 | 4楼 |
2012-11-1 | 点亮LED | 5楼 |
2012-11-2 | 点亮LED灯源代码 | 6楼 |
2012-11-7 | 流水灯源代码 | 7楼 |
2012-11-7 | 跑马灯源代码 | 8楼 |
2012-11-9 | 流水灯视频 | 9楼 |
2012-11-11 | 闪烁灯视频 | 10楼 |
2012-11-12 | 跑马灯 | 11楼 |
2012-11-14 | 数码管动态显示 | 12楼 |
2012-11-14 | 拨码开关控制LED | 13楼 |
2012-11-15 | 花样彩灯,8个LED | 14楼 |
2012-11-15 | PWM波控制按键暗亮程度 | 15楼 |
Jacklxd的进程贴
-----流水灯,一共11个LED灯
module water_led(
input CLOCK_50,
input Q_KEY, // 板载按键RST
output [11:1] LED // LED[1] ~ LED[11]
);
//++++++++++++++++++++++++++++++++++++++
// 分频部分 开始
//++++++++++++++++++++++++++++++++++++++
reg [23:0] cnt; // 计数子
always @ (posedge CLOCK_50, negedge Q_KEY)
if (!Q_KEY)
cnt <= 0;
else
cnt <= cnt + 1'b1;
wire led_clk = cnt[23]; // 每(2^24/50M = 0.3355)sec取一次
//++++++++++++++++++++++++++++++++++++++
// 流水灯部分 开始
//++++++++++++++++++++++++++++++++++++++
reg [11:1] led_r;
reg dir;
always @ (posedge led_clk, negedge Q_KEY)
if (!Q_KEY)
dir <= 0;
else
if(led_r == 12'h3FF && dir == 0)
dir <= 1;
else if(led_r == 12'h001 && dir == 1)
dir <= 0;
always @ (posedge led_clk, negedge Q_KEY)
if (!Q_KEY)
led_r <= 12'h001;
else
if(!dir)
led_r <= (led_r << 1) + 1'b1;
else
led_r <= (led_r >> 1);
assign LED = ~led_r;
endmodule
------跑马灯,11个LED灯从左至右依次点亮
module rider_led(
input CLOCK_50,
input Q_KEY, // 板载按键RST
output [11:1] LED // LED[1] ~ LED[1]
);
reg [23:0] cnt;
always @ (posedge CLOCK_50, negedge Q_KEY)
if (!Q_KEY)
cnt <= 0;
else
cnt <= cnt + 1'b1;
wire led_clk = cnt[23]; // 每(2^24/50M = 0.3355)sec取一次
reg [11:1] led_r;
reg dir;
always @ (posedge led_clk, negedge Q_KEY)
if (!Q_KEY) // 复位后右移
dir <= 0;
else
if(led_r[10])
dir <= 1;
else if(led_r[2])
dir <= 0;
always @ (posedge led_clk, negedge Q_KEY)
if (!Q_KEY) // 复位后右移
led_r <= 12'h001;
else
if(!dir)
led_r <= led_r << 1; // LED右移
else
led_r <= led_r >> 1; // LED左移
assign LED = ~led_r; // 寄存器输出
endmodule