基于BASYS2的简易数字钟.doc

基于BASYS2的简易数字钟.doc

ID:52679420

大小:57.50 KB

页数:8页

时间:2020-03-29

基于BASYS2的简易数字钟.doc_第1页
基于BASYS2的简易数字钟.doc_第2页
基于BASYS2的简易数字钟.doc_第3页
基于BASYS2的简易数字钟.doc_第4页
基于BASYS2的简易数字钟.doc_第5页
资源描述:

《基于BASYS2的简易数字钟.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、/***********************************verilog*************************************/moduleclock_final(clk,clr,switch,ad,adj,o_seg,a);inputclk,clr,switch,ad;input[3:0]adj;//output[2:0]led;//led灯output[6:0]o_seg;//7段数码管output[3:0]a;//扫描输出reg[6:0]segs;//数码管寄存器reg[3:0]a;

2、reg[15:0]temp;//显示过程的中间变量wire[23:0]cnt;//走时模式和校时模式临时变量wireen0,enp1,enp2,enp3,enp4,enp5,cp1hz,cp,out_500hz;//switch-N3转换信号分两个屏一个是小时/分钟,一个是分钟/秒//clr-E2清零信号//adj[3]控制小时的十位设置//adj[2]控制小时的个位设置//adj[1]控制分钟的十位设置//adj[0]控制分钟的个位设置initialbegina=4'b1110;end//初始化assigncp=cp1h

3、z,//判断ad是否等于1,如果等于,cp就输出cp10hz否则就输出cp1hz,en0=(~ad)

4、(switch&adj[0]),enp1=~ad?(cnt[3:0]==4'd9):(adj[1]&switch),enp2=~ad?(cnt[7:4]==4'd5)&(cnt[3:0]==4'd9):(adj[0]&switch==0),enp3=~ad?(enp2&(cnt[11:8]==4'd9)):(adj[1]&switch==0),enp4=~ad?(enp3&(cnt[15:12]==4'd5)):(adj[

5、2]&switch==0),enp5=~ad?(enp4&((cnt[19:16]==4'd9)

6、(cnt[23:20]==4'b0010&cnt[19:16]==4'd3))):(adj[3]&switch==0),o_seg=segs;in50MHz_out1Hzu0(clk,cp1hz);//输出频率1HZin50MHz_out_8MHzu7(clk,out_500hz);//输出500HZcounter10u1(en0,clr,cp,cnt[3:0]);//second个位计数counter6u2(enp1,clr

7、,cp,cnt[7:4]);//second十位计数counter10u3(enp2,clr,cp,cnt[11:8]);//minutes个位计数counter6u4(enp3,clr,cp,cnt[15:12]);//minutes十位计数counter10_hu5(enp4,clr,cp,cnt[19:16],cnt[23:20]);//hours个位计数counter3u6(enp5,clr,cp,cnt[23:20]);//hours十位计数//////always@(ad)begin//显示模式选择//if((

8、~ad))begintemp[15:0]<=cnt1[15:0];temp[31:16]<=cnt1[23:8];end//elsebegintemp[15:0]<=cnt;temp[31:16]<=cnt[23:8];end//endalways@(posedgeclk)beginif(switch==1'b0)temp<=cnt[23:8];elseif(switch==1'b1)temp<=cnt[15:0];endalways@(posedgeout_500hz)beginif(a==4'b1110)a<=4'b1

9、101;//M13elseif(a==4'b1101)a<=4'b1011;//J12elseif(a==4'b1011)a<=4'b0111;//F12elsea<=4'b1110;//K14endalways@(posedgeclk)//数码管显示译码if(switch==1'b0)beginif(a==4'b1110)//K14begincase(temp[3:0])4'd0:segs<=7'b1000000;//04'd1:segs<=7'b1111001;//14'd2:segs<=7'b0100100;4'd3

10、:segs<=7'b0110000;4'd4:segs<=7'b0011001;4'd5:segs<=7'b0010010;4'd6:segs<=7'b0000010;4'd7:segs<=7'b1111000;4'd8:segs<=7'b0000000;4'd9:segs<=7'b0010000;//

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。