自动售饮料机及多功能数字时钟VerilogHDL数字设计实践

自动售饮料机及多功能数字时钟VerilogHDL数字设计实践

ID:38447853

大小:654.55 KB

页数:44页

时间:2019-06-12

自动售饮料机及多功能数字时钟VerilogHDL数字设计实践_第1页
自动售饮料机及多功能数字时钟VerilogHDL数字设计实践_第2页
自动售饮料机及多功能数字时钟VerilogHDL数字设计实践_第3页
自动售饮料机及多功能数字时钟VerilogHDL数字设计实践_第4页
自动售饮料机及多功能数字时钟VerilogHDL数字设计实践_第5页
资源描述:

《自动售饮料机及多功能数字时钟VerilogHDL数字设计实践》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、9.9自动售饮料机设计一个自动售饮料机,设饮料售价2.5元,可使用5角和一元硬币,有找零功能。88币值显示取饮料找零投币孔1元5角设计思路引入有限状态机,利用5个状态表示投入币值的数目变化情况。【例9.38】自动售饮料机/*信号定义clk:时钟输入reset:系统复位信号half_dollar:投入5角硬币one_dollar:投入1元硬币half_out:找零信号dispense:机器售出饮料collect:提示取走饮料*/modulesell(one_dollar,half_dollar,collect,half_out,dispense,reset,clk);parameterid

2、le=0,half=1,one=2,two=3,three=4;//币值情况inputone_dollar,half_dollar,reset,clk;outputcollect,half_out,dispense;regcollect,half_out,dispense;reg[2:0]D;//状态量always@(posedgeclk)beginif(reset)begindispense=0;collect=0;endcase(D)idle:if(half_dollar)D=half;elseif(one_dollar)D=one;half:if(half_dollar)D=one

3、;elseif(one_dollar)D=two;one:if(half_dollar)D=two;elseif(one_dollar)D=three;two:if(half_dollar)D=three;elseif(one_dollar)begindispense=1;//售出饮料collect=1;D=idle;endthree:if(half_dollar)begindispense=1;collect=1;D=idle;endelseif(one_dollar)begindispense=1;collect=1;half_out=1;D=idle;endendcaseenden

4、dmodule9.10实用多功能数字钟设计一个多功能数字钟,具有计时、定时与闹钟、校时和整点报时功能。功能控制按键基准时钟扬声器时间显示产生闹铃和报时音校时时、分、秒计时【例9.39】多功能数字钟/*信号定义clk4Hz标准时钟clk_1k1KHz闹铃报时时钟mode功能选择:0计时,1闹钟,2校时,接按键turn手动校时,选择调整小时还是分钟,接按键;长时间按住,清零秒钟change手动调整,每按1次,计数器加1,接按键;长时间按住,连续快速加1hour,min,sec时、分、秒显示信号,BCD码,驱动数码管alert驱动扬声器,产生闹铃和报时音;闹铃音为20s急促音,按change可

5、屏蔽;整点报时音为四短一长音LD_alert指示是否设置闹钟LD_hour指示当前调整的是小时,接发光二极管LD_min指示当前调整的是分钟,接发光二极管*/moduleclock(clk,clk_1k,mode,change,turn,alert,hour,min,sec,LD_alert,LD_hour,LD_min);inputclk,clk_1k,mode,change,turn;outputalert,LD_alert,LD_hour,LD_min;output[7:0]hour,min,sec;reg[7:0]hour,min,sec,hour1,min1,sec1,ahou

6、r,amin;reg[1:0]m,fm,num1,num2,num3,num4;reg[1:0]loop1,loop2,loop3,loop4,sound;regLD_hour,LD_min;regclk_1Hz,clk_2Hz,minclk,hclk;regalert1,alert2,ear;regcount1,count2,counta,countb;wirect1,ct2,cta,ctb,m_clk,h_clk;always@(posedgeclk)//ear决定整点报时的长短音beginclk_2Hz<=~clk_2Hz;if(sound==3)beginsound<=0;ear

7、<=1;endelsebeginsound<=sound+1;ear<=0;endendalways@(posedgeclk_2Hz)//产生1Hz的时基信号clk_1Hz<=~clk_1Hz;always@(posedgemode)//mode信号选择功能beginif(m==2)m<=0;elsem<=m+1;endalways@(negedgeturn)//选择调整小时还是分钟fm<=~fm;always//产生count1,

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

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

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