《数字闹钟系统eda课程设计》由会员分享,可在线阅读,更多相关《数字闹钟系统eda课程设计(21页珍藏版)》请在金锄头文库上搜索。
1、课 程 设 计 报 告 书所属课程名称 EDA 技术及应用课程设计 题 目 数字闹钟系统设计 分 院 专业班级 15 级电信 1 班 学号 学生姓名 指导教师 20 18 年 1 月 8 日 课 程 设 计( 论 文 )任 务 书一、课程设计(论文)题目 数字闹钟系统设计 二、课程设计(论文)工作:自 2018 年 1 月 8 日起至 2018 年 1 月 10 日止。三、课程设计(论文)的内容要求:设计一个 24 小时制的数字闹钟,该数字闹钟包括几个组成部分:(1)显示屏:由 7 段数码管组成;(2)YES(确认)键:用于输入新的时间或新的闹钟时间;(3)TIME(时间)键;用于确定新的时间
2、设置;(4)ALARM(闹钟)键:用于确定新的闹钟时间设置或显示已设置的闹钟时间;(5)扬声器:在当前时钟时间与闹钟时间相同时,发出蜂鸣声; EDA 技术及应用课程设计 第 3 页 共 21 页目录第 1 章 课程设计内容及要求.第 2 章 程序设计目的.第 3 章 程序实现思路.第 4 章 程序清单(或正文).第 5 章 课程设计心得.第 6 章 参考文献(资料). EDA 技术及应用课程设计 第 4 页 共 21 页第 2 章 程序设计目的随着 EDA 技术的发展和应用领域的扩大与深入,EDA 技术在电子信息、通信、自动控制及计算机应用领域的重要性日益突出。EDA 技术就是依赖功能强大的计
3、算机,在 EDA 工具软件平台上,对以硬件描述语言 VHDL 为系统逻辑描述手段完成的设计文件,自动地完成逻辑优化和仿真测试,直至实现既定的电子线路系统功能。本课设基于 VHDL 硬件描述语言并选用合适的可编程逻辑器件设计一个 24 小时制的数字闹钟的思路和技巧。在 max+plus2 开发环境中编译和仿真了所设计的程序,并逐一调试验证程序的运行状况。仿真和验证的结果表明,该设计方法切实可行,该数字闹钟可以实现调时定时闹钟功能具有一定的实际应用性。 EDA 技术及应用课程设计 第 5 页 共 21 页第 3 章 程序实现思路根据该数字闹钟的设计要求,可得到其外部端口如图。各个输入/输出端口的作
4、用如下:1)CLK 为外部时钟信号,RESET 为复位信号。2)当 YES 为高电平,表示用户选择了某个与置数字。3)当 TIME_BUTTON 为高电平时,表示用户按下 TIME 键。(5)SEG7 是数据动态扫描显示的公共七段数码显示管驱动端;LEDW 是数码管的位选择端,它经过外接的 3-8 译码器译码后接数码管的公共端 COM(6) SOUND ALARM 用于控制扬声器发声,当 SOUND ALARM=1 时,扬声器发出蜂鸣,表示到了设定的闹钟时间。根据系统的设计要求,整个系统可分为闹钟控制器、预置寄存器、分频电路、时间计数器、闹钟寄存器、显示驱动控制器等 6 个模块,各个模块的作用
5、介绍如下(1)闹钟控制器( CONTROL):它是整个系统正常有序工作的核心,按设计要求产生相应的控制逻辑,控制其他各部分的协调工作。(2)预置寄存器( KEYBUFFER):这时一个预置数字产生器和移位寄存器的结合体。通过对 YES 进行操作,选择欲输入的数字;暂存用户输入的数字,并且用户每输入一个数字,暂存数字移位一次,实现用户输入的数字在显示器上从右到左的依次显示(3)分频电路( DIVIDER):将较高速的外部时钟频率分频成每秒一次的时钟频率,以便进行时钟计数(4)时间计数器( OUNTER):这实际上是一个异步复位、异步置数的累加器,通常情况下进行时钟累加计数,必要时可置入新的时钟值
6、,然后从该值开始新的计数(5)闹钟寄存器(REG):用于保存用户设置的闹钟时间,是一个异步复位寄存器。 EDA 技术及应用课程设计 第 6 页 共 21 页(6)显示驱动器( DRIVER):根据需要显示当前时间、用户设置的闹钟时间或用户输入的预置时间,同时判断当前时间是否已到了闹钟时间,这实际上是一个多路选择器和比较器的结合体。具体数据的显示采用的是动态扫描显示方式。 EDA 技术及应用课程设计 第 7 页 共 21 页第 4 章 程序清单或正文1)程序包 P_ALARM:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;PACKAGE P_ALARM ISS
7、UBTYPE T_DIGITAL IS INTEGER RANGE 0 TO 9;SUBTYPE T_SHORT IS INTEGER RANGE 0 TO 65535;TYPE T_CLOCK_TIME IS ARRAY (5 DOWNTO 0) OF T_DIGITAL;TYPE T_DISPLAY IS ARRAY (5 DOWNTO 0) OF T_DIGITAL;END PACKAGE P_ALARM;2)闹钟控制器外部端口(程序及图):LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE WORK.P_ALARM.ALL;ENTITY CONTR
8、OL ISPORT ( KEY: IN STD_LOGIC;ALARM_BUTTON:IN STD_LOGIC;TIME_BUTTON:IN STD_LOGIC;CLK:IN STD_LOGIC;RESET:IN STD_LOGIC;LOAD_NEW_A:OUT STD_LOGIC;LOAD_NEW_C:OUT STD_LOGIC;SHOW_NEW_TIME:OUT STD_LOGIC;SHOW_A:OUT STD_LOGIC);END ENTITY CONTROL;ARCHITECTURE BEHAVE OF CONTROL ISTYPE T_STATE IS(S0,S1,S2,S3,S4)
9、 ;CONSTANT KEY_TIMEOUT:T_SHORT:=500;CONSTANT SHOW_ALARM_TIMEOUT:T_SHORT:=500;SIGNAL CURR_STATE:T_STATE;SIGNAL NEXT_STATE:T_STATE;SIGNAL COUNTER_K:T_SHORT;SIGNAL ENABLE_COUNT_K:STD_LOGIC;SIGNAL COUNT_K_END:STD_LOGIC ;SIGNAL COUNTER_A:T_SHORT;SIGNAL ENABLE_COUNT_A:STD_LOGIC ;SIGNAL COUNT_A_END:STD_LOG
10、IC; EDA 技术及应用课程设计 第 8 页 共 21 页BEGINPROCESS(CLK,RESET) ISBEGINIF RESET =1 THENCURR_STATEIF (KEY=0) THENNEXT_STATEIF(KEY=1) THENNEXT_STATEIF (ALARM_BUTTON =1) THENNEXT_STATEIF (TIME_BUTTON =1) THENNEXT_STATEIF(KEY=1) THENNEXT_STATENULL;END CASE;END PROCESS;COUNT_KEY:PROCESS(ENABLE_COUNT_K,CLK) ISBEGIN
11、IF (ENABLE_COUNT_K =0) THENCOUNTER_K=KEY_TIMEOUT) THENCOUNT_K_END=SHOW_ALARM_TIMEOUT) THENCOUNT_A_ENDTEMPTEMPTEMPTEMPTEMPTEMPTEMPTEMPSEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7SEG7=00111111;END CASE;END PROCESS;9)闹钟系统顶层原理图 EDA 技术及应用课程设计 第 20 页 共 21 页 EDA 技术及应用课程设计 第 21 页 共 21 页第 5 章课程设计心得通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。第 6 章参考文献(资料)1 蒋小燕,俞伟钓,张立臣 EDA 技术及 VHDL 南京:东南大学出版社 2016 致 谢