欢迎来到天天文库
浏览记录
ID:5212973
大小:640.50 KB
页数:41页
时间:2017-12-06
《eda多功能数字钟设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计总成绩:江汉大学文理学院EDA课程设计报告课程设计题目多功能数字钟部(系)信息技术学部专业姓名学号指导教师2014年12月29日目录一、设计目的1二、设计要求1三、硬件方案13.1设计思路13.2设计框图23.3数字钟主控电路状态表3四、软件方案54.1按键消抖模块54.2时钟计数器模块74.3显示译码模块174.4分频器模块194.5主控制电路模块214.5.1计数器控制模块214.5.2闹钟计数器模块254.5.3闹钟控制模块274.5.4显示输出控制模块324.5.5led控制模块344.5.6主控模块374.6电子钟系统原理图38五、实现过程中遇到的问题及
2、措施39六、设计心得体会39七、参考文献39一、设计目的本课程设计的目的是熟练掌握相关软件的使用和操作。能对VHDL语言程序进行编译,调试,以及通过计算机仿真,得到正确的仿真波形图,并根据所得仿真波形图分析判断并改进所设计的电路。 在成功掌握软件操作基础上,将所数字电路的基础课知识与VHDL语言的应用型知识结合起来并与实际设计,操作联系起来,即“理论联系实际”。深入了解VHDL语言的作用与价值,对用硬件语言设计一个电路系统开始具备一个较完整的思路与较专业的经验。对EDA技术有初步的认识,并开始对EDA技术的开发创新有初步的理解。二、设计要求设计一个能进行时、分、秒计时的十
3、二小时制或二十四小时制的数字钟,并具有定时与钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟和秒进行手动调节以校时间,每逢整点,产生报时音报时。三、硬件方案3.1设计思路根据设计要求进行分析,数字钟应当有计数器,分频器,按键消抖,闹钟,显示及主控模块构成。分频器用来提供时钟,计数器用于计时,按键消抖为系统提供准确的按键控制信号输入,闹钟用于提供闹钟功能,显示模块显示时间,主控模块根据按键输入控制各个模块以实现所需求功能。在此设计中已将闹钟模块融入主控模块中。393.2设计框图设计系统框图如图3-1所示。图3-1数字钟系统框图分频器模块:48M时钟信号输入,可以提
4、供多种时钟信号输出。时钟计数模块:由60进制,24进制计数器以及一些附加功能模块组成(设置时间和检测整点等功能)。按键消抖模块:消除机械按键抖动,提供更稳定的信号输入。显示译码:将要显示的数据经过译码以动态扫描的方式显示在数码管上。可以通过按键显示时间或设置闹钟的时间。蜂鸣器及LED输出口:此模块无代码,仅是连接外部蜂鸣器和LED的端口。主控模块:主控模块是整个核心,故将单独进行说明。数字钟主控模块框图如图3-2所示。39图3-2数字钟主控模块框图计数器控制模块:1HZ时钟信号输入,按键控制计数器模块对计数器计数及设置计数器的值(即设置时间)。LED控制模块:通过按键控制
5、,显示闹钟开启与关闭,以及设置时间和设置闹钟时用于指示当前设置为分钟还是时钟。闹钟计数器模块:此模块跟计数器模块一样。通过按键是计数器自增。来设置闹钟时间。闹钟控制模块:通过计数器输入来判断整点,计数器输入与闹钟计数器模块进行比较。以此来实现闹钟功能。显示输出模块:显示主要有三部分,一是正常显示时间,二是显示设置时间,三是闹钟时间。具体显示那一部分是通过按键状态来判断。3.3数字钟主控电路状态表用两个电平信号A、B进行模式选择,AB=00为模式0,系统为计时状态;AB=01为模式1,系统为手动校时状态;AB=10为模式2,系统为闹钟设置状态。设置一个turn信号,当tur
6、n=0时,表示在手动校对时,选择调整分钟部分;当turn=1时,表示在手动校对时,选择调整小时部分。39设置一个change信号,在手动校时或闹钟设置模式下,每按一次,计数器加1。设置一个reset信号,当reset=0时,整个系统复位;当reset=1时,系统进行计时或其他特殊功能操作。设置一个闹钟设置信号reset1,当reset1=0时,对闹钟进行设置,当reset1=0时,关闭闹钟信号。设置状态显示信号(连发光二极管):LD_alert指示是否设置了闹铃功能;LD_h指示当前调整的是小时信号;LD_m指示当前调整的是分钟信号。当闹钟功能设置后(LD_alert=1
7、),系统应启动一个比较电路,当计时与预设闹铃时间相等时,启动闹铃声,直到关闭闹铃信号有效。整点报时部分由分和秒计时同时为0(或60)启动,与闹铃共用一个扬声器驱动信号out。系统计时时钟为clk=1Hz,选择另一时钟clk_lk=1024Hz作为产生闹铃声、报时音的时钟信号。主控电路状态表如表3-1所示。表3-1数字钟主控电路状态表模式选择秒、分、时计数器秒冲输出状态备注resetreset1ABturnLD_hLD_mLD_alert0xxxxx000系统复位1x00xclk000系统计时1x010change=↑分计数器加
此文档下载收益归作者所有