




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东 北 石 油 大 学课 程 设 计课 程 EDA技术课程设计 题 目 闹钟系统设计 院 系 电子科学学院 专业班级 电子信息工程 学生姓名 许鹤强 学生学号 090901140323 指导教师 2013年 3 月8日东北石油大学课程设计任务书课程 EDA技术课程设计题目 闹钟系统的设计专业 电子信息工程 姓名 许鹤强 学号 090901140323主要内容、基本要求、主要参考资料等主要内容:设计并制作一个带闹钟功能的24小时计时器。它包括以下几个组成部分:1、显示屏,由4 个七段数码管组成,用于显示当前时间(时:分)或设置的闹钟时间;2、数字键,实现09的输入,用于输入新的时间或新的闹钟时间;3、TIME(时间)键,用于确定新的时间设置;4、ALARM(闹钟)键,用于确定新的闹钟时间设置,或显示已设置的闹钟时间;5、扬声器,在当前时钟时间与闹钟时间相同时,发出蜂鸣声基本要求:1、计时功能:这是本计时器设计的基本功能,每隔一分钟计时一次,并在显示屏上显示当前时间。2、闹钟功能:如果当前时间与设置的闹钟时间相同,则扬声器发出蜂鸣声。3、设置新的计时器时间:用户用数字键输入新的时间,然后按TIME键确认。在输入过程中,输入数字在显示屏上从右到左依次显示。例如,用户要设置新的时间12:34,则按顺序输入“1”,“2”,“3”,“4”,与之对应,显示屏上依次显示的信息为:“1”,“12”,“123”,“1234。如果用户在输入任意几个数字后较长时间内,例如5 s,没有按任何键,则计时器恢复到正常的计时显示状态。主要参考资料:1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限 2013.3.8 指导教师 专业负责人 2013年 3月4日一、设计思想1.基本原理数字闹钟电路的基本结构由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计时,当计时到23时59分59秒时,再来一个计数脉冲,则计数器清零,重新开始计时。秒计数器的计数时钟CLK为1Hz的标准信号。当数字闹钟处于计时状态时,秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数信号时、分、秒的计时结果通过6个数码管来动态显示。数字闹钟除了能够正常计时外,还应能够对时间进行调整。因此,通过模式选择信号md1、md2控制数字钟的工作状态,即控制数字钟,使其分别工作于正常计时,调整分、时和设定闹钟分、时5个状态。当数字闹钟处于计时状态时,3个计数器允许计数,且秒、分、时计数器的计数时钟信号分别为CLK,秒的进位, 分的进位;当数字闹钟处于调整时间状态时,被调的分或时会一秒一秒地增加;当数字钟处于闹钟定时状态时,可以设定小时和分;当计时到所设定的时刻时,speak将会被赋予时钟信号,持续1分钟。设定按键时钟1Hz按键UPDN功能切换寄存器时钟10Hz时钟计数寄存器闹钟设定寄存器闹钟控制电路模式切换数据选择蜂鸣器扫描技术字符译码扫描时钟320Hz数码显示2.设计框图2、 设计步骤和调试过程YESALARM_BUTTON LEDW2.0TIME_BUTTON SEG77.0CLK SOUND_ALARMRESETCLOCK1、总体设计电路计时器的外部端口根据该数字闹钟的设计要求,我们可得到其外部端口如图所示。各个输入/输出端口的作用如下:(1)CLK为外部时钟信号,RESET为复位信号。(2)当YES为高电平时(YES=1),表示用户选择了某个预置数字。(3)当ALARM_BUTTON为高电平时,表示用户按下ALARM键。(4)当TIME_BUTTON为高电平时,表示用户按下TIME键。(5)SEG7是数据动态扫描显示的公共八段数码显示管驱动端,而LEDW则是数码管的位选择端,它经过外接的38译码器译码后接数码管的公共端COM。(6)SOUND_ALARM用于控制扬声器发声,当SOUND_ALARM = 1时,扬声器发出蜂鸣,表示到了设定的闹钟时间。2、模块设计和相应模块程序1) 秒计数模块SECOND60进制,带有进位和清零功能的,输入为1Hz脉冲和低电平有效的清零信号CLR,输出秒个位、时位及进位信号CO。2) 分计数模块MINUTE60进制,带有进位和置数功能的,输入为1Hz脉冲和高电平有效的使能信号EN,输出分个位、时位及进位信号CO。3) 时计数模块HOUR24进制,输入为1Hz脉冲和高电平有效的使能信号EN,输出分个位、时位。4) 扫描模块SELTIME输入为秒(含个十位)、分、时、扫描时钟CLK1K,输出为D和显示控制信号SEL。5) 整点报时功能模块ALERT输入为分秒信号,输出为高频声控Q1K和Q500。6) 译码显示功能模块DISPLAY输入为D,输出为Q秒模块程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity SECOND isport(clk,clr:in std_logic;sec1,sec0:out std_logic_vector(3 downto 0);co:out std_logic);end SECOND;architecture SEC of SECOND isbeginprocess(clk,clr)variable cnt1,cnt0:std_logic_vector(3 downto 0);Beginif clr=1 thencnt1:=0000;cnt0:=0000;elsif clkevent and clk=1 thenif cnt1=0101 and cnt0=1000 thenco=1;cnt0:=1001;elsif cnt01001 thencnt0:=cnt0+1;elsecnt0:=0000;if cnt10101 thencnt1:=cnt1+1;elsecnt1:=0000;co=0;end if;end if;end if;sec1=cnt1;sec0=cnt0;end process;end SEC;分模块程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity MINUTE isport(clk,en:in std_logic;min1,min0:out std_logic_vector(3 downto 0);co:out std_logic);end MINUTE;architecture MIN of MINUTE isbeginprocess(clk,en)variable cnt1,cnt0:std_logic_vector(3 downto 0);beginif clkevent and clk=1 thenif en=1 thenif cnt1=0101 and cnt0=1000 thenco=1;cnt0:=1001;elsif cnt01001 thencnt0:=cnt0+1;elsecnt0:=0000;if cnt10101 thencnt1:=cnt1+1;elsecnt1:=0000;co=0;end if;end if;end if;end if;min1=cnt1;min0=1001 thencnt1:=cnt1+1;cnt0:=0000;else cnt0:=cnt0+1;end if;end if;end if;h1=cnt1;h0=cnt0;end process;end hour_arc;扫描模块程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity SELTIME isport(clk:in std_logic;sec1,sec0,min1,min0,h1,h0:in std_logic_vector(3 downto 0);daout:out std_logic_vector(3 downto 0);sel:out std_logic_vector(2 downto 0);end SELTIME;architecture fun of SELTIME issignal count:std_logic_vector(2 downto 0);beginsel=101) thencount=000;elsecountdaoutdaoutdaoutdaoutdaoutdaoutqqqqqqqqqq=1101111;end case;end process;end disp_are;定时闹钟模块程序:library ieee;use ieee.std_logic_1164.all;entity ALERT isport(m1,m0,s1,s0:in std_logic_vector(3 downto 0);clk:in std_logic;q500,qlk:out std_logic);end ALERT;architecture sss_arc of ALERT isbeginprocess(clk)beginif clkevent and clk=1 thenif m1=0101 and m0=1001 and s1=0101 thenif s0=0001 or s0=0011 or s0=0101 or s0=0111 thenq500=1;elseq500=0;end if;end if;if m1=0101 and m0=1001 and s1=0101 and s0=1001 thenqlk=1;elseqlk=0;end if;end if;end process;end sss_arc;3、仿真及仿真结果秒模块仿真波形分模块仿真波形时模块仿真波形扫描模块仿真波形显示模块仿真波形定时闹钟模块仿真波形4、实验调试结果为验证所设计程序是否正确,将程序下载进行硬件测试。在Quartus开发环境中进行管脚锁定,连接好数码管驱动电路,然后将目标文件下载到器件中。最终可以看到时、分、秒正常显示。三、结论及心得体会本次课程设计的完成令我受益匪浅,通过对数字闹钟的设计,让我学会了初步掌握了简单课程设计的分析方法。最重要的是增强了动手能力和根据自己所学需要查阅资料的能力,以及自己分析和解决问题的能力,整个制作的过程中,它促进了同学之间的相互沟通,也让我在自己的专业知识的学习过程中,更多的,更好的学习一门知识,用于以后的实践应用中,做这个数字钟的设计中包含了很多不同功能的程序,让我在其中学到了一些程序的中的思路,特别一步一步去把错误的程序改正确是一种很有成就感的事,这样让我学到了更多的知识,同时使我对所学知识有了更新的认识和更大的兴趣。参考资料1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 阎石主编.数字电子技术基础. 北京:高教出版社,2003.3 侯继红, 李向东主编.EDA实用技术教程. 北京:中国电力出版社,2004.10东北石油大学课程设计成绩评价表课程名称EDA技术课程设计题目名称闹钟系统设计学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英语六级完形真题及答案
- 沈阳工程学院真题及答案
- 期货从业资格之《期货法律法规》题型+答案(考点题)含答案详解【突破训练】
- 2024粮油食品检验人员自我提分评估含答案详解【B卷】
- 2025房产买卖合同新(合同版本)
- 2024教师资格考试综合练习往年题考附答案详解
- 2025计算机一级模拟题库及答案详解【基础+提升】
- 2024-2025学年度医院三基考试通关考试题库及参考答案详解
- 2025合同样本:股权转让意向书范本
- 监理工程师题库检测试题打印及参考答案详解(精练)
- 2025年防跌倒、坠床安全管理考核试题及答案
- 2025年河北石家庄交通投资发展集团有限责任公司公开招聘操作类工作人员336人考试参考题库及答案解析
- 幼儿园大班数学《小熊种玉米》课件
- 2025年疫苗上岗证考试题及答案
- 公交车广告承包合同5篇
- 航空科普课件
- 小学语文教师职称考试试题及答案
- 第5章 绩效评价(《绩效管理》第3版)
- 2025-2026学年人教版(2024)初中地理八年级上册教学计划及进度表
- 庆祝国庆节爱国班会内容完整课件
- 2024年贵州遵义市市直事业单位选调31人历年高频难、易点(公共基础测验共200题含答案解析)模拟试卷
评论
0/150
提交评论