要求:
要求能在数码管上依次自动显示自然数序列(0~ 9)、奇数序列(1、3、5、7、9)、音乐序列(0~7)和偶数序列(0、2、4、6、8)。
方法一:
1.基于状态机的方法进行实现
设计一个二十八进制的计数器,分别在28个状态输出要求的28个BCD码,然后用显示译码器将BCD码转换为七段码输出。
module LED_Controller(iCLK,oSEG7); //i表示输入 o表示输出
input iCLK;
output reg [6:0]oSEG7;
reg [4:0]Qtmp; //计数器状态
reg [3:0]DISP_DATA; //BCD码
always @(posedge iCLK) //iCLK出现上升沿状态变化
if(Qtmp==5'd27)
Qtmp<=5'd0;
else
Qtmp<=Qtmp+1;
always @(Qtmp) //组合电路输出
case(Qtmp)
5'd0: DISP_DATA<=4'