数电设计——数字电子钟
任务:
用文本法或图形法设计一个能显示时、分、秒的数字电子钟。 要求:
1. 设计由20MHz有源晶振电路产生标准信号的单元电路;
2. 时为00~23二十四进制计数器,分、秒为00~59六十进制计数器; 3. 能够显示时、分、秒; 4. 具有清零、调节分钟的功能; 5. 模拟钟摆功能;
6. 对时、分、秒单元电路进行仿真并记录。 流程图:
分频器 60进制计数器 秒
进位输出 清零端 60进制计数器 分
进位输出 24进制计数器 模块: 1.分频器 源程序:module div(Q,n,clk);
input clk;
input [1:0]n; reg [15:0]q; reg [15:0]cnt;
时
reg Q; output Q; always@(n) begin case(n) 2'd0: q<=16'd 19999; 2'd1: q<=16'd 1; 2'd2: q<=16'd 124; 2'd3: q<=16'd 7; endcase end
always@(posedge clk) begin if(cnt>=q) begin cnt<=16'd 0; Q<=1'd 1; end else begin cnt<=cnt+16'd 1; Q<=1'd 0; end end endmodule
//20M_1K //1K_500 //1K_8 //8_1
仿真波形:
2.60进制计算器
源程序:module CNT_60(Q,t,reset,clk);
input clk,reset; reg [5:0]Q; output t; output Q;
always@(posedge reset or posedge clk) begin if(reset) Q<=6'b00000; else begin if(Q>=59) Q<=6'b00000; else Q<=Q+6'b1; end end
assign t=(Q==59)?1'b1:1'b0; endmodule
仿真波形:
3.24进制计数器
源程序:module CNT_24(Q,t,reset,clk);
input clk,reset; reg [4:0]Q; output t; output Q;
always@(posedge reset or posedge clk) begin if(reset) Q<=5'b00000; else begin if(Q>=23) Q<=5'b00000; else Q<=Q+5'b1;
end end
assign t=(Q==23)?1'b1:1'b0; endmodule
仿真波形:
4.显示译码器 源程序:module show(data,out_h,out_l);
input [7:0]data;
output [3:0]out_h,out_l; reg [3:0]out_h,out_l; always @(data)
begin
case(data)
8'b00000000:begin out_h<=4'b0000;out_l<=4'b0000;end //0 8'b00000001:begin out_h<=4'b0000;out_l<=4'b0001;end //1 8'b00000010:begin out_h<=4'b0000;out_l<=4'b0010;end //2 8'b00000011:begin out_h<=4'b0000;out_l<=4'b0011;end //3 8'b00000100:begin out_h<=4'b0000;out_l<=4'b0100;end //4 8'b00000101:begin out_h<=4'b0000;out_l<=4'b0101;end //5 8'b00000110:begin out_h<=4'b0000;out_l<=4'b0110;end //6 8'b00000111:begin out_h<=4'b0000;out_l<=4'b0111;end //7 8'b00001000:begin out_h<=4'b0000;out_l<=4'b1000;end //8 8'b00001001:begin out_h<=4'b0000;out_l<=4'b1001;end //9 8'b00001010:begin out_h<=4'b0001;out_l<=4'b0000;end//10 8'b00001011:begin out_h<=4'b0001;out_l<=4'b0001;end//11 8'b00001100:begin out_h<=4'b0001;out_l<=4'b0010;end//12 8'b00001101:begin out_h<=4'b0001;out_l<=4'b0011;end//13 8'b00001110:begin out_h<=4'b0001;out_l<=4'b0100;end//14 8'b00001111:begin out_h<=4'b0001;out_l<=4'b0101;end//15 8'b00010000:begin out_h<=4'b0001;out_l<=4'b0110;end//16 8'b00010001:begin out_h<=4'b0001;out_l<=4'b0111;end//17 8'b00010010:begin out_h<=4'b0001;out_l<=4'b1000;end//18
相关推荐: