FPGA数字跑表程序.doc

FPGA数字跑表程序.doc

ID:54765306

大小:27.00 KB

页数:6页

时间:2020-04-21

FPGA数字跑表程序.doc_第1页
FPGA数字跑表程序.doc_第2页
FPGA数字跑表程序.doc_第3页
FPGA数字跑表程序.doc_第4页
FPGA数字跑表程序.doc_第5页
资源描述:

《FPGA数字跑表程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、(1)跑表的计时范围为0.01s~59min59.99s,计时精度为10ms;(2)具有异步复位清零、启动、计时和暂停功能;(3)输入时钟频率为100Hz;(4)要求数字跑表的输出能够直接驱动共阴极7段数码管显示/*信号定义CLK:时钟信号;CLR:异步复位信号;PAUSE:暂停/启动信号;MSH,MSL:百分秒的高位和低位;SH,SL:秒信号的高位和低位;MH,ML:分钟信号的高位和低位。*/moduleh(clk,clr,pause,msh,msl,sh,sl,mh,ml,led1,led2,led3,led4,led5,led6);inputclk,clr;inputpause

2、;output[6:0]led1;output[6:0]led2;output[6:0]led3;output[6:0]led4;output[6:0]led5;output[6:0]led6;output[3:0]msh,msl,sh,sl,mh,ml;reg[6:0]led1;reg[6:0]led2;reg[6:0]led3;reg[6:0]led4;reg[6:0]led5;reg[6:0]led6;reg[3:0]msh,msl,sh,sl,mh,ml;regcn1,cn2;//cn1为百分秒向秒的进位,cn2为秒向分的进位//百分秒计数进程,每计满100,cn1产生一个进

3、位1always@(posedgeclkorposedgeclr)beginif(clr)//异步复位begin{msh,msl}<=8'h00;//从00开始计数cn1<=0;endelseif(!pause)//PAUSE为0时正常计数,为1时暂时计数beginif(msl==9)beginmsl<=0;//低位百分秒计数到10是归零if(msh==9)beginmsh<=0;//高位百分秒计数到10是归零cn1<=1;//CN1触发进位endelse//低位计数到10,高位未计数到10时,高位计数msh<=msh+1;endelsebegin//低位计数未到10时,继续计数ms

4、l<=msl+1;cn1<=0;//低位未计数到10时,CN1不产生进位endendend//秒计数模块,每计数满60,CN2产生一个进位always@(posedgecn1orposedgeclr)beginif(clr)begin//异步复位{sh,sl}<=8'h00;cn2<=0;endelseif(sl==9)beginsl<=0;//低位秒计数到10,低位归零if(sh==5)beginsh<=0;//低位计数到10,高位计数到6时,高位秒归零cn2<=1;//cn2触发进位endelsesh<=sh+1;//低位计数到10,高位未到6时,低位计数endelsebegin

5、sl<=sl+1;//低位未计数到10,低位计数cn2<=0;//低位未计数到10时,CN2不产生进位endend//分钟计数模块,每计满60,系统自动清0always@(posedgecn2orposedgeclr)beginif(clr)begin//异步复位{mh,ml}<=8'h00;endelseif(ml==9)beginml<=0;//低位分计数到10时,低位归零if(mh==5)mh<=0;//低位计数到10,高位计数到6时,高位归零elsemh<=mh+1;//低位计数到10,高位未计数到6时,高位计数endelseml<=ml+1;//低位计数未到10时,低位计数

6、end//led显示模块always@(msl[3:0])begincase(msl[3:0])//利用case语句控制显示低位百分秒的0~90:led1='b;1:led1='b;2:led1='b;3:led1='b;4:led1='b;5:led1='b;6:led1='b;7:led1='b;8:led1='b;9:led1='b;endcaseendalways@(msh[3:0])begincase(msh[3:0])//利用case语句控制显示高位百分秒的0~90:led2='b;1:led2='b;2:led2='b;3:led2='b;4:led2='b;5:led

7、2='b;6:led2='b;7:led2='b;8:led2='b;9:led2='b;endcaseendalways@(sl[3:0])begincase(sl[3:0])//利用case语句控制显示低位秒的0~90:led3='b;1:led3='b;2:led3='b;3:led3='b;4:led3='b;5:led3='b;6:led3='b;7:led3='b;8:led3='b;9:led3='b;endcaseendalways@(sh

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

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

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