完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
module clock(clk,key,dig,seg);
input clk; input [1:0] key; output[7:0] dig; output [7:0] seg; reg [7:0]seg_r; reg [7:0] dig_r; reg [3:0] disp_dat; reg [24:0] count; reg[23:0]hour; reg sec,keyen; reg [1:0] dout1,dout2,dout3; wire [1:0] key_done; assign dig=dig_r; assign seg=seg_r; always@(posedge clk) begin count=count+1'b1; if(count==25'd24000000) begin count=25'd0; sec=~sec; end end assign key_done=(dout1|dout2|dout3); always@(posedge count[17]) begin dout1<=key; dout2<=dout1; dout3<=dout2; end always@(negedge key_done[0]) begin keyen=~keyen; end always@(posedge clk) begin case(count[17:15]) 3'd0:disp_dat=hour[3:0]; 3'd1:disp_dat=hour[7:4]; 3'd2:disp_dat=4'ha; 3'd3:disp_dat=hour[11:8]; 3'd4:disp_dat=hour[15:12]; 3'd5:disp_dat=4'ha; 3'd6:disp_dat=hour[19:16]; 3'd7:disp_dat=hour[23:20]; endcase case(count[17:15]) 3'd0:dig_r=8'b11111110; 3'd1:dig_r=8'b11111101; 3'd2:dig_r=8'b11111011; 3'd3:dig_r=8'b11110111; 3'd4:dig_r=8'b11101111; 3'd5:dig_r=8'b11011111; 3'd6:dig_r=8'b10111111; 3'd7:dig_r=8'b01111111; endcase end always@(posedge clk) begin case(disp_dat) 4'h0:seg_r=8'hc0; 4'h1:seg_r=8'hf9; 4'h2:seg_r=8'ha4; 4'h3:seg_r=8'hb0; 4'h4:seg_r=8'h99; 4'h5:seg_r=8'h92; 4'h6:seg_r=8'h82; 4'h7:seg_r=8'hf8; 4'h8:seg_r=8'h80; 4'h9:seg_r=8'h90; 4'ha:seg_r=8'hbf; default:seg_r=8'hff; endcase if((count[17:15]==3'd2)&sec) seg_r=8'hff; end always@(negedge sec or negedge key_done[1]) begin if(!key_done[1]) begin hour=24'h0; end else if(!keyen) begin hour[3:0]=hour[3:0]+1'b1; if(hour[3:0]==4'ha) begin hour[3:0]= 4'h0; hour[7:4]=hour[7:4]+1'b1; if(hour[7:4]==4'h6) begin hour[7:4]= 4'h0; hour[11:8]=hour[11:8]+1'b1; if(hour[11:8]==4'ha) begin hour[11:8]= 4'h0; hour[15:12]=hour[15:12]+1'b1; if(hour[15:12]==4'h6) begin hour[15:12]= 4'h0; hour[19:16]=hour[19:16]+1'b1; if(hour[19:16]==4'ha) begin hour[19:16]= 4'h0; hour[23:20]=hour[23:20]+1'b1; end if(hour[23:16]==8'h24) hour[23:16]=8'h0; end end end end end end endmodule
|
|
相关推荐
1个回答
|
|
代码都没有注释,看着太累,就懒得看了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1307 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1038 浏览 0 评论
2382 浏览 1 评论
2087 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2349 浏览 0 评论
1868 浏览 49 评论
6007 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 18:25 , Processed in 0.484044 second(s), Total 70, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号