刚刚接触 FPGA。以前一直在搞avr,msp430,和 STM32。前段时间cortex-m0的出现深深的刺激了我。搞MCU更新太快了。。。于是开始慢慢准备转向FPGA。当然啦这些东西还是各有千秋。闲话少说,流水灯作为一个入门必备程序是第一步要搞的。欢迎老鸟批评指正,也希望能找一群刚刚上手FPGA的一起学习。
硬件用的 EP1C6 cyclone的红色飓风二代 开发板。。这个 因为流水灯么 就不解释硬件 电路神马了 直接上程序。
- module runled(key,led,clk,reset);
- input [1:0] key;
- input clk,reset;
- output [3:0] led;
- reg [3:0] led;
- reg [24:0] key_num;
- always @ (posedge clk)
- if(key==2'b01)
- begin
- key_num<=key_num+1;
- if(key_num==25'd50000000) // div 50M to 1HZ
- begin
- led<=led<<1;
- key_num<=0;
- if(led==4'b0000)
- led<=4'b1111;
- end
- end
- else if(key==2'b10)
- begin
- key_num<=key_num+1;
- if(key_num==25'd50000000) // div 50M to 1HZ
- begin
- led<=led>>1;
- key_num<=0;
- if(led==4'b0000)
- led<=4'b1111;
- end
- end
- else if(key==2'b11)
- begin
- key_num<=key_num+1;
- if(key_num==25'd50000000) // div 50M to 1HZ
- led<=~led;
- end
- else
- led<=4'b1111;
- endmodule
复制代码
0
|
|
|
|
用两个按键开关控制流水灯的形式。如果key0按下从左到右流水灯显示,如果key1按下,从右到左流水灯显示,如果都按下,全部灯常亮。如果没有按键拿下,全部灯闪烁。
|
|
|
|
|
so good
|
|
|
|
|
yqldt 发表于 2012-8-10 06:42
花样要多,更好
本来想搞更多种类呢,但是开发板上就两个key。。下次做个外接键盘,配合蜂鸣器的流水灯。
|
|
|
|
|
michel31 发表于 2012-8-10 00:05
so good
哈哈,谢谢支持~
|
|
|
|
|
最好能来个同步复位或者异步复位 将所有的寄存器变量都复位一下
|
|
|
|
|