简易数字跑表设计.doc

简易数字跑表设计.doc

ID:61487289

大小:7.23 MB

页数:16页

时间:2021-02-05

简易数字跑表设计.doc_第1页
简易数字跑表设计.doc_第2页
简易数字跑表设计.doc_第3页
简易数字跑表设计.doc_第4页
简易数字跑表设计.doc_第5页
资源描述:

《简易数字跑表设计.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、西安郵電大学数字控制系统课程设计报告书院(系)名称:自动化学院学生姓名:专业名称:自动化班级:自动1103时间:2014年9月1日至2014年9月12日简易数字跑表的设计一、设计要求:计时精度10ms,计时范围59.99秒。(1)对单人计时,能实现暂停、显示及清零功能,在数码管上实时显示,设置启动/暂停、清零按键;(2)对多个人同时计时,在数码管上实时显示,并能回显出六个时间。可控制显示,设置清零、取时按键;(3)采用状态机设计;(4)百分秒在数码管上实时显示,秒利用多个数码管显示BCD值。二、设计过程

2、:1.查找资料:数字系统设计与VerilogHDL(第4版)2.方案设计:(1)画状态图:按键状态输出复位:00开始:S0清零:z=0;启/停:01计数:S1不清零:z=1;存/回显:10暂停:S2存/回显:S3图1.程序状态图(2)写程序:·在一个module模块里,有多个always块;·有分频、计数、存储、输出等模块;·测试模块的输入输出与源程序的输入输出相反;3.系统仿真:Verilog仿真所需仿真环境:modelsim4.硬件调试三、软件设计:1.源程序:modulepaobiao(clk,r

3、st,pause,save,mg,md,bg,bd);//秒高,秒低,百分秒高,百分秒低inputclk,rst,pause,save;outputreg[3:0]mg,md,bg,bd;reg[15:0]zd,zz,zg;//中间变量reg[17:0]count1;regclk1;//100msregpause_temp,save_temp;//取上升沿reg[13:0]count2,reg0,reg1,reg2,reg3,reg4,reg5;reg[2:0]count3;//reg[1:0]stat

4、e,next_state;regcn1;parameterS0=2'b00,S1=2'b01,S2=2'b11;//分频always@(posedgeclkornegedgerst)beginif(!rst)count1<=0;elseif(count1==)count1<=0;//elsecount1<=count1+1;endalways@(posedgeclk)beginif(!rst)clk1<=0;elseif(count1==99999)clk1<=~clk1;//99999elseclk1

5、<=clk1;end//总计时always@(negedgeclk1ornegedgerst)//clk1beginif(!rst)count2<=0;elseif(state==S1)count2<=count2+1;//elseif(state==S2)count2<=count2;elsecount2<=count2;end//存储个数计数always@(negedgerstornegedgesave)beginif(!rst)count3<=0;elseif(next_state==S1)cou

6、nt3<=count3+1;elseif(next_state==S2)count3<=count3-1;elsecount3<=count3;end//毫秒低位显示结果always@(negedgerstorposedgeclk)beginif(!rst)bd<=0;elseif(state==S1)bd<=count2%10;elseif(state==S2)begincase(count3)3'b000:bd<=reg0%10;3'b001:bd<=reg1%10;3'b010:bd<=reg2%

7、10;3'b011:bd<=reg3%10;3'b100:bd<=reg4%10;3'b101:bd<=reg5%10;default:bd<=reg0%10;endcaseendelsebd<=bd;end//毫秒高位显示结果always@(negedgerstorposedgeclk)beginif(!rst)bg<=0;elseif(state==S1)bg<=(count2/10)%10;elseif(state==S2)begincase(count3)3'b000:bg<=(reg0/10)

8、%10;3'b001:bg<=(reg1/10)%10;3'b010:bg<=(reg2/10)%10;3'b011:bg<=(reg3/10)%10;3'b100:bg<=(reg4/10)%10;3'b101:bg<=(reg5/10)%10;default:bg<=(reg0/10)%10;endcaseendelsebg<=bg;end//秒位显示结果always@(negedgerstorposedgeclk)beginif(!r

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

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

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