数字电路课程设计-基于DE2的数字钟设计报告(共27页).doc
《数字电路课程设计-基于DE2的数字钟设计报告(共27页).doc》由会员分享,可在线阅读,更多相关《数字电路课程设计-基于DE2的数字钟设计报告(共27页).doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上题目:数字钟1 设计要求该数字钟具有如下六种功能:(1)具有时、分、秒的十进制数字显示(小时从0023)的计时器(具有清零功能和设置起始时间功能);(2)具有手动校时、校分、校秒的功能,利用DE2 Key键,分别对每一个数码管进行校时(校正模式下,时钟处于停滞状态),校时之后的时间可以通过开关赋给24小时计数器模块和倒计时模块;(3)定时与闹钟功能,能在设定的时间发出闹铃声(用开发板上红色的LED灯全亮来表示),程序中实现闹铃30秒;(4)能进行零点报时,要求发出仿中央人民广播电台的整点报时信号,即从23时59分50秒起,每隔2秒钟发出一次低音“嘟”的信号,连续5次,
2、最后一次要求高音“嘀”的信号,此信号结束即达到零点(用开发板上的绿色LED灯亮来表示);(5)设计一个秒表,显示1%秒、60秒、手动停止,手动清零;(6)设计一个倒计时,显示小时、分钟、秒、%1秒,可清零,可设置起始时间。2 设计分析及系统方案设计系统总共有5个状态,分别对应设计要求中的(1)24小时计数器(2)时钟校准(3)闹铃(4)倒计时(5)秒表程序开始利用50MHz的时钟分别构造1Hz的时钟和100Hz的时钟。先用50MHz时钟构造模计数器,用作分频产生100HZ信号,然后用100HZ信号构造模100计数器,用作分频产生1HZ信号,从而构造出周期是1秒和0.01秒的时钟。(1) 时间显
3、示此部分是用1HZ的时钟驱动秒的个位,然后通过进位关系分别带动其余5位时间,从而完成时间显示功能。当清零位置0时,时间一直显示为0。(2) 手动校时此部分通过三个DE2的KEY按键来实现。第一个是状态转换按键,通过它来将状态转换到校时状态;第二个是校准位置选择按键,通过它来选择此时校准哪一位;第三个是对所选位置进行加一的按键。设置好时间之后可以通过两个开关分别将设置好的时间送到正常显示模块和倒计时模块。(3) 闹铃功能此部分通过和手动校时部分相同的操作过程来设置闹铃,系统提供一个可以打开和关闭闹铃的开关。闹铃部分的信号是一个单独的信号,对该信号的设置并不影响时钟的正常运行。当闹铃的小时、分钟和
4、秒的信号分别和时钟的小时、分钟和秒的信号对应相等时,闹铃启动,进行30秒的闹铃提醒。(4) 零点报时在正常显示24小时的状态中,当时间信号运行到23:59:50时,开始零点报时,程序中以驱动绿色LED灯亮来代表。(5) 秒表功能此部分由100HZ的时钟驱动%1秒位,通过进位关系分别带动其余7位时间完成计时功能。秒表的信号是一个单独的信号,使用秒表并不影响时钟的正常运行。对秒表可以进行清零和暂停操作,通过两个开关来实现。(6)倒计时功能此部分就是24小时正常显示模块的逆过程。用100HZ的时钟驱动%1秒的个位,然后通过退位关系分别带动其余7位完成倒计时功能。倒计时的信号为独立的信号,使用倒计时并
5、不影响时钟的正常运行。倒计时设有清零位,用开关控制。数字钟原理框图如下:3系统以及模块硬件电路设计(1)输入信号clk0:系统时钟(50MHZ)state:状态转换按键positionselect:位置选择按键jiayi:校准、设闹钟时对所选的位进行加一的按键queding:校时之后的确定开关queding1:设置倒计时之后再确定开关kainaozhong:闹钟开关控制qingling: 秒表清零开关zanting:秒表暂停开关qingling1: 正常显示的清零开关qingling2:倒计时的清零开关(2)输出信号输出到数码管显示:bighour:out std_logic_vector(6
6、 downto 0); -时针十位 smallhour:out std_logic_vector(6 downto 0); -时针个位 bigminute:out std_logic_vector(6 downto 0); -分针十位 smallminute:out std_logic_vector(6 downto 0); -分针个位 bigsecond:out std_logic_vector(6 downto 0); -秒针十位 smallsecond:out std_logic_vector(6 downto 0); -秒针个位 bigpercentsecond:out std_log
7、ic_vector(6 downto 0); -%1秒十位 smallpercentsecond:out std_logic_vector(6 downto 0); -%1秒个位 lednaozhong :LED代表闹铃输出baoshi:零点报时指示灯1baoshi1:零点报时指示灯2开发系统模式以及管脚定义如下:4 系统的VHDL设计-定义库 - library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;-定义实体 - entity homework is port( - -输入信号 - -1/系统时钟
8、 clk0:in std_logic; -2/状态转换按键 state:in std_logic; -3/校准时进行位置选择 的按键 positionselect:in std_logic; -4/校准、设闹钟时对所选的位进行加一的按键 jiayi:in std_logic; -5/校时之后确定开关(赋给正常显示模块) queding:in std_logic; -6/设置倒计时之后再确定开关 queding1:in std_logic; -7/闹钟开关控制 kainaozhong:in std_logic; -8/秒表清零开关 qingling:in std_logic; -9/秒表暂停开关
9、 zanting:in std_logic; -10/正常显示的清零开关 qingling1:in std_logic; -11/倒计时的清零开关 qingling2:in std_logic; - -输出信号 - - -输出到数码管显示 - bighour:out std_logic_vector(6 downto 0); -时针十位 smallhour:out std_logic_vector(6 downto 0); -时针个位 bigminute:out std_logic_vector(6 downto 0); -分针十位 smallminute:out std_logic_vect
10、or(6 downto 0); -分针个位 bigsecond:out std_logic_vector(6 downto 0); -秒针十位 smallsecond:out std_logic_vector(6 downto 0); -秒针个位 bigpercentsecond:out std_logic_vector(6 downto 0); -%1秒十位 smallpercentsecond:out std_logic_vector(6 downto 0); -%1秒个位 - -LED代表闹铃输出 lednaozhong:out std_logic_vector(17 downto 0)
11、; -零点报时指示灯1 baoshi:out std_logic_vector(7 downto 0); -零点报时指示灯2 baoshi1:out std_logic );end;-定义结构体 - architecture shuzizhong of homework is -产生100HZ信号时的计数器 signal cnt0:integer range 0 to ; -产生1HZ信号时的计数器 signal cnt1:integer range 0 to 99;-100HZ信号 signal clk1:std_logic;-1HZ信号 signal clk2:std_logic;- 送数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字电路 课程设计 基于 DE2 数字 设计 报告 27
限制150内