⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clkscan.v

📁 采用Quartus2编写的数码管扫描显示电路 共有三个电路 电路1:当按下启动计时按钮时
💻 V
字号:
//s8~s1为state的8个状态,分别用于控制scan_en[8:1]
`define s1 3'd0 
 `define s2 3'd1
 `define s3 3'd2
 `define s4 3'd3
 `define s5 3'd4
 `define s6 3'd5

module clkscan(clk, reset, scan_en, data, second, minute, hour);
input clk, reset;
input[7:0] second, minute, hour;
output[8:1] scan_en;
output[3:0] data;
reg[8:1] scan_en;
reg[3:0] data;
reg[2:0] state;

always @(negedge clk or negedge reset )
    begin
      if(!reset)        //① 异步复位(注意复位时使数码管1一直点亮)
		begin
			state = `s1;
			scan_en='b00000001;
			data = 0;
		end
	  else     //② 若按下startn按钮
// 则进行状态机的状态转移
// 并产生串行扫描使能信号
		begin
			case(state)
			`s1:begin state = `s2;scan_en='b00000010;data=second/10;end
			`s2:begin state = `s3;scan_en='b00001000;data=minute%10;end
			`s3:begin state = `s4;scan_en='b00010000;data=minute/10;end
			`s4:begin state = `s5;scan_en='b01000000;data=hour%10;end
			`s5:begin state = `s6;scan_en='b10000000;data=hour/10;end
			`s6:begin state = `s1;scan_en='b00000001;data=second%10;end
			default:begin state = `s1;scan_en='b00000001;data=0;end
			endcase
// 扫描数据计数器加1计数
		end
    end
	
endmodule

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -