已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息工程学院EDA课程设计报告书题目: 数字时钟倒计时 专 业: 电子信息科学与技术 班 级: 0309410 学 号: 030941010 学生姓名: 王奎 指导教师: 袁海林 2012年 5月 10日 信息工程学院课程设计任务书学生姓名王奎学 号030941010成 绩设计题目数字时钟倒计时设计内容设计一个多功能数字钟,要求显示格式为 小时分钟秒钟,整点报时,报时时间为5秒,即从整点前5秒钟开始进行报时提示,LED开始闪烁,过整点后,停止闪烁。系统时钟选择时钟模块的10KHz,要得到1Hz时钟信号,必须对系统时钟进行10,000次分频。调整时间的的按键用按键模块的S1和S2,S1调节小时,每按下一次,小时减少一个小时,S2调整分钟,每按下一次,分钟减少一分钟。另外用S12按键作为系统时钟复位,复位后全部显示000000。设计要求运行后数码管显示为23:59:59,按下按键S1后,小时减少变为22;按下S2后,分钟减少变为58;按下S12即复位键后,数码管重新显示为参考资料1数字电子技术基础阎石主编 高等教育出版社2 潘松,黄继业.EDA技术实用教程 M .北京:科学出版社, 2002.3 康华光主编.电子技术基础(模拟部分).第四版.北京:高等教育出版社,20014 乔庐峰 王志功 VHDL数字电路设计教程 电子工业出版社。20055 网络资源 计数器 百度文库 目录一、设计目的1二、总体设计原理与内容11、设计的总体原理12、设计内容23、设计方案2三、EDA设计及仿真31、倒计时器源程序32、显示模块源程序82、源程序仿真结果及数据分析11(1)仿真结果11(2)数据分析11四、硬件实现12五、设计总结13一、设计目的 随着电子技术的高速发展和计算机技术的普遍应用,电子设计也越来越普遍地应用于整个电子行业中。电子设计是人们进行电子产品设计、开发和制造过程中十分关键的一步,其核心就是电子电路的设计。电子设计自动化(EDA)是在电子产品向更复杂、更高级,向数字化、集成化、微型化和低耗能方向发展过程中逐渐产生并日趋完善的电子设计方法,在这种方法中,设计过程的大部分工作(特别是底层工作)均由计算机自动完成,是电子技术发展历程中产生的一种先进的设计方法,是当今电子设计的主流。本课程设计是时钟倒计时。此计时器功能齐全,显示24时倒计时功能,系统设置外部操作开关可以直接清零、启动、暂停,同时应用了七段数码管来显示数值,可以方便地实现断点计时功能,当计时器递减到零时,还会发出光电报警信号。本设计完成的中途计时功能,实现了在许多的特定场合进行时间追踪的功能,在社会生活中也具有广泛的应用价值.二、总体设计原理与内容 1、设计的总体原理 本设计为时钟倒计时,它主要由外部开关,控制电路,秒脉冲发生器,计数器,译码器和报警电路组成。各部分相互联系,共同协作,实现电路功能。各部分关系框图如图3-1所示: 图2-1 总体框图 2、设计内容 本设计为时钟倒计时,它主要分为三个部分:计数部分,显示部分和控制部分。其中计数器和控制电路是系统的主要部分。计数器完成24时计时功能,而控制电路具有直接控制计数器的启动计数、暂停连续计数、译码显示电路的显示功能。为了满足系统的设计要求,在设计控制电路时,应正确处理各个信号之间的时序关系。在操作直接清零开关CLR时,要求计数器清零,数码显示器不灭灯。 当启动开关为高电平时,计数器开始计数;为了简单起见,我们将暂停与连续的控制与开始用一个键控制。当计数器减到0时,启动报警系统,报警指示灯亮进行报警。通过控制脉冲信号的传送来达到相应的目的。3、设计方案 本设计主要能完成:显示24时倒计时功能;系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器灭灯;计时器为24时递减计时其计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时发出光电报警信号等。经分析我们可以用两种方案进行实现:方案一:用VHDL编码进行实现。VHDL是一门硬件描述语言,可以实现各种组合电路及逻辑电路。使用VHDL编码实现,可读性强,易于理解,可以在软仿,硬仿时,依次进行查看其正确性,还能提高自己的编码水平,利于EDA课程的学习与应用。采用静态编码,先设计计数器进行计数,数值通过数码管显示电路进行显示。设置CLOCK为1HZ,数值变化周期为1秒。方案二:也是采用VHDL编码进行实现,但采用的是动态扫描法,设置一个片选信号,分时复用扫描两个数码管。这时就要设置两个时钟,因为1HZ的时钟频率太小了,会使得看到的效果不连续,十位与个位产生分离,效果不好。可以另选一个频率1000HZ左右的时钟信号作为扫描时钟。这种设计节约了能量,延长了数码管的寿命,但引入了片选信号,又增加了一个时钟,所以较第一种方案复杂。方案三:用原理图输入法进行实现。用原理图书输入法也能实现,电路的仿真。但原理图输入法只适合中小型电路,而且需要良好的数字电路基础与电路功底。另外,原理图输入法,比较繁琐,不易于操作。综合比较,选择第一种方案。 三、EDA设计及仿真1、倒计时器源程序其程序如下所示:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;-entity exp22 is port( Clk : in std_logic; -时钟输入 Rst : in std_logic; -复位输入 S1,S2 : in std_logic; -时间调节输入 spk : out std_logic; led : out std_logic_vector(3 downto 0); -整点输报时输出 Display : out std_logic_vector(7 downto 0); -七段码管显示输出 SEG_SEL : buffer std_logic_vector(2 downto 0) -七段码管扫描驱动 ); end exp22;-architecture behave of exp22 is signal Disp_Temp : integer range 0 to 15; signal Disp_Decode : std_logic_vector(7 downto 0); signal SEC1,SEC10 : integer range 0 to 9; signal MIN1,MIN10 : integer range 0 to 9; signal HOUR1,HOUR10 : integer range 0 to 9; signal Music_Count : std_logic_vector(2 downto 0); signal Clk_Count1 : std_logic_vector(13 downto 0); -产生1Hz时钟的分频计数器 signal Clk1Hz : std_logic; signal led_count : std_logic_vector(2 downto 0); signal led_display : std_logic_vector(3 downto 0); begin process(Clk) begin if(Clkevent and Clk=1) then if(Clk_Count110000) then Clk_Count1=Clk_Count1+1; else Clk_Count1=00000000000001; end if; end if; end process; Clk1Hz=Clk_Count1(13); process(Clk1Hz,Rst) begin if(Rst=0) then -系统复位 SEC1=0; SEC10=0; MIN1=0; MIN10=0; HOUR1=0; HOUR10=0; elsif(Clk1Hzevent and Clk1Hz=1) then -正常运行 if(S1=0) then -调节小时 if(HOUR1=0 and HOUR10/=0) then HOUR1=9; HOUR10=HOUR10-1; elsif(HOUR10=0 and HOUR1=0) then HOUR1=3; HOUR10=2; else HOUR1=HOUR1-1; end if; elsif(S2=0) then -调节分钟 if(MIN1=0 ) then MIN1=9; if(MIN10=0) then MIN10=5; else MIN10=MIN10-1; end if; else MIN1=MIN1-1; end if; elsif(SEC1=0) then SEC1=9; if(SEC10=0) then SEC10=5; if(MIN1=0) then MIN1=9; if(MIN10=0) then MIN10=5; if(HOUR10=0and HOUR1=0) then HOUR1=3; HOUR10=2; elsif(HOUR10=0) then HOUR1=9; HOUR10=HOUR10-1; else HOUR1=HOUR1-1; end if; else MIN10=MIN10-1; end if; else MIN1=MIN1-1; end if; else SEC10=SEC10-1; end if; else SEC1=SEC1-1; end if; end if; end process; process(Clk) begin if(Clkevent and Clk=1) then Music_Count=Music_Count+1; if(MIN10=5 and MIN1=9 and SEC10=5) then -在59分50秒开始提示 if(SEC1 MOD 2)=0) then -在偶数秒开始发声 SPK=Music_Count(2); -嘀 else SPK=0; end if; elsif(MIN10=0 and MIN1=0 and SEC10=0 and SEC1=0) then SPK=Music_Count(1); -嗒 else SPK3) then -在59分55秒开始提示 led_Count=led_Count+1; else led_countled_displayled_displayled_displayled_displayled_displayled_displayled_display=0000; end case; ledDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_Temp S1 S1 S1 S1 S1 S1 S1 S1 S1 S1 S1 S0 S0 S0 S0 S0 S0 S0 S0 S0 S0 S0=0000000; END CASE ;END PROCESS;END A;2、源程序仿真结果及数据分析(1)仿真结果 图3-2 仿真结果部分波形图 图3-3仿真结果总体波形图(2)数据分析 由仿真结果图可以看出:先清零,再置数,置初始值为23-59-59 ,置数后,保持23-59-59,直至使能端ENB为高电平,等到上升沿的到来,开始计数,计数器减计数至零时,报警信号WARM变为高电平,发出报警信号。但信号在FPGA器件内部通过连线和逻辑门时,都有一定的延时。延时的大小与连线的长短和门单元的数目有关,同时还受器件的制造工艺、工作电压、温度等的影响。此外,信号的高低电平转换也需要一定的过度时间。由于存在这些因素的影响,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的“毛刺”,称为“冒险”现象。可以通过改变设计来破坏毛刺的产生的条件,从而减少毛刺的发生。例如,在数字电路设计中,常采用格雷码。还可以利用D触发器消除毛刺。但由于时间和条件的限制没有进行时延现象的消除,在本次设计中没有太大影响,但在以后的工作中是一定要避免的。四、硬件实现1、打开QuartusII软件,建立一个工程,将编写好的源代码加载进去进行仿真。2、代码编译成功之后,进行功能仿真,首先建立波形文件,设置时钟参数;将波形文件保存好,进行软件仿真;3、软仿真实现之后,要进行硬仿,即硬件实现。硬件实现简单明了,可以清楚的看到实验的成功与否,而且真实可靠。为了实现硬仿,我们先进行管脚绑定。CLR ,ENB ,PLD分别由键8,键7及键6来执行,S1,S0分别由数码管8和数码管7来显示。绑定情况如图4-4所示: 图4-4 管脚绑定图4、管脚绑定好之后,进行编译。5、编译无误后,进行下载硬仿。硬件电路选择模式6,数码管8和数码管7分别显示计数值的十位与个位。键8,键7与键6分别代表清零,启动/暂停/连续与复位键。加载结果如图4-5所示: 图4-5 加载成功图五、设计总结1、设计过程中遇到的问题及解决方法在此次设计中,我自己的动手能力有了显著的提高。在软仿的时候一切都比较顺利,但硬仿的时候,却发现有一个不该报警的地方报警了,看程序也没错误,波形也没错误,刚开始怎么也找不出问题,后来我们感觉应该还是程序的问题,便从程序入手,在程序中又强调了一下,报警条件,结果硬仿正确了。所以说,实验就要不断的尝试,VHDL是一门语言,语言有些时候不仅仅是语法这么简单,只有在不断地调试中才能取得成功。在本次设计中,其实我们做了两种方案。第二种方案没有详细提及,该方案采用的时动态扫描。做完第一种方案之后,我们又进行了第二种方案的仿真,在硬仿时发现数码管不能正确显示,出现了乱码现象。这让我们很是费解,软仿没有错误,试验箱也不可能有问题,这是什么原因呢?我们思索了很久,也做了许多尝试,都没有成功。后来忽然间看到模式指示数码管旁边有一个短路帽,这让我哦联想到电路实验中短路帽的转换,所以,我把短路帽从上方拿到了下方,结果就正确显示了。还有一次,同学的显示怎么都成功不了,按了开始就变为0,完全看不到变化现象,我看了程序感觉没错,就觉得是不是时钟设置的问题,我把它的时钟频率调小之后,发现果真正确显示了。2,设计体会为期一周的EDA课程设计就要结束了,在这一周的实训中,我收获颇丰。在此次课程设计之前我对QUARTUS软件已经有了接触,但却没有很深的了解
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 益虫饲养工安全生产基础知识竞赛考核试卷含答案
- 复合材质文物修复师保密考核试卷含答案
- 粗纱工安全风险测试考核试卷含答案
- 剧装工绩效目标能力考核试卷含答案
- 茶叶拼配师岗前工作合规化考核试卷含答案
- 2025-2026学年七上英语说课稿汉语版
- 汽车涂装生产线操作工岗位新材料考核试卷含答案
- 电机线圈制造工安全防护强化考核试卷含答案
- 煤直接液化操作工基础在岗模拟考核试卷含答案
- 2025-2026学年关于爱国的说课稿
- 2026年昆明市嵩明润泽水务运营有限公司招聘(5人)笔试备考试题及答案解析
- 2026年事业单位C类《计算机应用》专项训练试题
- 2026年英语教师雏雁考试试题及答案
- 2026北京市交通发展年度报告
- (2026版)围手术期出凝血管理麻醉专家意见
- 肛裂的护理要点
- 实习生录用通知书标准范本
- 上海交通大学春季统一招聘笔试题
- 2026年度质量战略规划
- 非遗漆扇动态介绍非物质文化遗产课件
- 邮政客户经理工作总结汇报
评论
0/150
提交评论