基于vhdl的万年历设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

还认真开展了6次全国统一行动,遏制了因三超一疲劳而引发的交通事故;在三、四、五月份,我队还按照州政府、州安委会、州支队要求,开展了道路交通集中整治专项行动、治理酒后驾驶、摩托车、电动车专项治理行动,均取得了一定的成效。实验报告基于VHDL的万年历设计学号:姓名:吉光宇班级:13电信一:实验目的、设计具有如下功能的万年历:(1)能进行正常的年、月、日和时、分、秒的日期和时间计时功能,按键KEY1用来进行模式切换,当KEY1=1时,显示年、月、日;当KEY1=0时,显示时、分、秒。(2)能利用实验系统上的按键实现年、月、日和时、分、秒的校对功能。(3)用层次化设计方法设计该电路,编写各个功能模块的程序。(4)仿真报时功能,通过观察有关波形确认电路设计是否正确。(5)完成电路设计后,用实验系统下载验证设计的正确性。二:实验原理、1.按照模块化的设计思想,要实现万年历的基础功能,必定要包含年、月、日和时、分、秒的功能模块,其中秒和分可以用六十进制计数器来实现,时用二十四进制计数器实现,月用十二进制计数器来实现,年的低两位和高两位都是一百进制计数器,比较特殊的是天的计数器,因为它有四种情况,大月三十一天,小月三十天,平年二月二十八天,闰年二月有二十九天,所以年和月的模块对天的计数都有影响,需要从年和月的输出端引出控制信号来控制天的计数。同时每个计数器都有显示输出端和进位输出端,同时低级别(如秒)的进位输出要给较还认真开展了6次全国统一行动,遏制了因三超一疲劳而引发的交通事故;在三、四、五月份,我队还按照州政府、州安委会、州支队要求,开展了道路交通集中整治专项行动、治理酒后驾驶、摩托车、电动车专项治理行动,均取得了一定的成效。高级别(如分)的时钟输入端,以此类推,采用串行工作方式进行连接。从而完成了基础的计时和显示的功能。再按照由基础功能到增强功能的设计思路,要实现校时功能,要在之前电路的基础之上增加一个校时控制模块,增加两个按键来实现控制,按键1来选择校对哪一个模块,按键2选择校对到何值——检测到按键2的一个上升沿,对应的计数器加1。除此之外还需要有显示模式的切换的功能,需要增加一个模式切换的控制模块,通过增加一个按键3来实现控制,是显示年月日还是时分秒。三.实验说明万年历的设计思路与多功能时钟的设计思路相似。多功能时钟的各功能模块及相互之间的连接如下图1所示图1多功能时钟系统原理框图还认真开展了6次全国统一行动,遏制了因三超一疲劳而引发的交通事故;在三、四、五月份,我队还按照州政府、州安委会、州支队要求,开展了道路交通集中整治专项行动、治理酒后驾驶、摩托车、电动车专项治理行动,均取得了一定的成效。年、月、日和时、分、秒的显示格式如图2所示。年、月、日同时显示,时、分、秒同时显示,通过显示模式切换来分别显示。年/时月/分日/秒图2万年历显示格式四.实验原理图万年历时分秒部分的原理图如下图所示,年月日部分与之同理,通过控制可以进行切换。图3万年历实验原理图译码驱动译码驱动译码驱动译码驱动译码驱动译码驱动时十位计数时个位计数分十位计数分个位计数秒十位计数秒个位计数校时控制电路校分控制电路分频器电路分频器电路晶体振荡器电路1HZ还认真开展了6次全国统一行动,遏制了因三超一疲劳而引发的交通事故;在三、四、五月份,我队还按照州政府、州安委会、州支队要求,开展了道路交通集中整治专项行动、治理酒后驾驶、摩托车、电动车专项治理行动,均取得了一定的成效。图4万年历实验结构框图图5万年历实验结构局部图还认真开展了6次全国统一行动,遏制了因三超一疲劳而引发的交通事故;在三、四、五月份,我队还按照州政府、州安委会、州支队要求,开展了道路交通集中整治专项行动、治理酒后驾驶、摩托车、电动车专项治理行动,均取得了一定的成效。原理图说明:如图4、5所示,K1键是选择万年历工作的模式,K2键提供上升沿(时钟功能)来使各计数模块加一,从而实现校时的功能。LED灯起指示作用。模式0:正常计时显示--K1不按,LED1到LED5都不亮模式1:调整分增加--K1按下一次,LED1亮其余四个不亮模式2:调整时增加--K1按下两次,LED2亮其余四个不亮模式3:调整日增加--K1按下三次,LED3亮其余四个不亮模式4:调整月增加--K1按下四次,LED4亮其余四个不亮模式5:调整年增加--K1按下五次,LED5亮其余四个不亮CLK是外部1Hz输入时钟,作为秒的时钟输入,驱动整个万年历工作运行。K3键是显示模式的选择,显示时分秒时,LEDSHUCHUMOSHI指示灯亮,显示年月日时,LEDSHUCHUMOSHI指示灯灭。4.工作过程当1Hz时钟信号从CLK输入端输入时,K1,K2,K3都没有按下时,系统从零(闰年)开始处于正常的计时模式,显示时分秒部分,LEDSHUCHUMOSHI指示灯亮。低位计满归零并且向高位进1,如果月份是二月,则天计满29就向月进1。如果按下按键3,LEDSHUCHUMOSHI指示灯不亮,显示年月日部分。如果此时按一下按键1,那么万年历停止计时,工作于模式1,再通过按键2对分进行校时,通过同样的方法可以对时、日、月、年进行校时。当校时完毕,需要万年历重新计时工作时,通过按下键1使LED1到LED5都不亮时,系统工作与正常计时模式。五、实验结果4.1VHDL程序与仿真4.1.1秒与分模块秒与分模块为六十进制的计数器源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;还认真开展了6次全国统一行动,遏制了因三超一疲劳而引发的交通事故;在三、四、五月份,我队还按照州政府、州安委会、州支队要求,开展了道路交通集中整治专项行动、治理酒后驾驶、摩托车、电动车专项治理行动,均取得了一定的成效。ENTITYCNT60ISPORT(CLK:INSTD_LOGIC;Q1,Q2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT60;ARCHITECTUREONEOFCNT60ISSIGNALQ11,Q22:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ11=Q11+1;IFQ11=9THENQ11=(OTHERS='0');Q22=Q22+1;ENDIF;IFQ22=5ANDQ11=9THENQ22=0000;Q11=0000;COUT='1';ELSECOUT='0';ENDIF;ENDIF;ENDPROCESS;Q1=Q11;Q2=Q22;END;仿真结果:图660进制计数器仿真图还认真开展了6次全国统一行动,遏制了因三超一疲劳而引发的交通事故;在三、四、五月份,我队还按照州政府、州安委会、州支队要求,开展了道路交通集中整治专项行动、治理酒后驾驶、摩托车、电动车专项治理行动,均取得了一定的成效。如上图所示当Q1、Q2计满60时,Q1、Q2都归零同时有一个进位输出脉冲,完成了六十进制计数器的功能,设计正确。4.1.2小时模块时模块为24进制计数器。源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT24ISPORT(CLK:INSTD_LOGIC;Q1,Q2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT24;ARCHITECTUREONEOFCNT24ISSIGNALQ11,Q22:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ11=Q11+1;IFQ11=9THENQ11=(OTHERS='0');Q22=Q22+1;ENDIF;IFQ22=2ANDQ11=3THENQ22=0000;Q11=0000;COUT='1';ELSECOUT='0';ENDIF;ENDIF;ENDPROCESS;Q1=Q11;Q2=Q22;END;仿真结果:还认真开展了6次全国统一行动,遏制了因三超一疲劳而引发的交通事故;在三、四、五月份,我队还按照州政府、州安委会、州支队要求,开展了道路交通集中整治专项行动、治理酒后驾驶、摩托车、电动车专项治理行动,均取得了一定的成效。图724进制计数器仿真图如上图所示当Q1、Q2计满24时,Q1、Q2都归零同时有一个进位输出脉冲,完成了六十进制计数器的功能,设计正确。4.1.3日(天)模块日模块有四种情况,大月为31进制计数器,小月为30进制计数器,平年二月为28进制计数器,闰年二月为29进制计数器,需要有一个二位判断输入信号来进行进制数的选择。源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYDAYISPORT(PANDUAN:INSTD_LOGIC_VECTOR(1DOWNTO0);--两位判断输入信号CLK:INSTD_LOGIC;CQ1:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CQ2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);END;ARCHITECTUREONEOFDAYISSIGNALCQ3,CQ4:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALPAN:STD_LOGIC_VECTOR(1DOWNTO0);BEGINPROCESS(CLK,PANDUAN)还认真开展了6次全国统一行动,遏制了因三超一疲劳而引发的交通事故;在三、四、五月份,我队还按照州政府、州安委会、州支队要求,开展了道路交通集中整治专项行动、治理酒后驾驶、摩托车、电动车专项治理行动,均取得了一定的成效。BEGINIFCLK'EVENTANDCLK='1'THEN--上升沿CQ3=CQ3+1;IFCQ3=9THENCQ3=(OTHERS='0');CQ4=CQ4+1;ENDIF;PAN=PANDUAN;CASEPANISWHEN00=IFCQ3=0001ANDCQ4=0011--判断信号为00时为31进THENCQ3=0001;CQ4=0000;COUT='1';--制计数器ELSECOUT='0';ENDIF;WHEN01=IFCQ3=0000ANDCQ4=0011--判断信号为01时为30进THENCQ3=0001;CQ4=0000;COUT='1';--制计数器ELSECOUT='0';ENDIF;WHEN10=IFCQ3=1000ANDCQ4=0010--判断信号为10时为28进THENCQ3=0001;CQ4=0000;COUT='1';--制计数器ELSECOUT='0';ENDIF;WHEN11=IFCQ3=1001ANDCQ4=0010--判断信号为11时为29进THENCQ3=0001;CQ4=0000;COUT='1';--制计数器ELSECOUT='0';ENDIF;WHENOTHERS=NULL;ENDCASE;ENDIF;CQ1=CQ3;CQ2=CQ4;ENDPROCESS;END;仿真结果:还认真开展了6次全国统一行动,遏制了因三超一疲劳而引发的交通事故;在三、四、五月份,我队还按照州政府、州安委会、州支队要求,开展了道路交通集中整治专项行动、治理酒后驾驶、摩托车、电动车专项治理行动,均取得了一定的成效。图8判断信号为00时天模块仿真图图9判断信号为01时天模块仿真图图10判断信号为10时天模块仿真图还认真开展了6次全国统一行动,遏制了因三超一疲劳而引发的交通事故;在三、四、五月份,我队还按照州政府、州安委会、

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功