EDA课程设计多功能数字时钟

上传人:仙*** 文档编号:29151943 上传时间:2021-09-28 格式:DOC 页数:16 大小:127KB
收藏 版权申诉 举报 下载
EDA课程设计多功能数字时钟_第1页
第1页 / 共16页
EDA课程设计多功能数字时钟_第2页
第2页 / 共16页
EDA课程设计多功能数字时钟_第3页
第3页 / 共16页
资源描述:

《EDA课程设计多功能数字时钟》由会员分享,可在线阅读,更多相关《EDA课程设计多功能数字时钟(16页珍藏版)》请在装配图网上搜索。

1、苏州科技学院EDA电子综合设计苏州科技学院天平学院EDA电子综合设计院 系: 天平学院 专 业: 物联网 班 级: 学 号: 姓 名: 第一部分:设计说明1.1设计任务设计一款数字电子时钟,具体要求如下:1:输入条件:50MHz时钟,2个输入按键;2:功能实现:具有显示时、分、秒功能;采用LED数码管显示;具有闹钟与对时功能,对时精确到分,闹钟设置与对时采用按键作为输入信号。3:采用altera公司的quartusII软件进行编程与仿真,设计语言可以选择VerilogHDL或VHDL。1.2目的与意义随着半导体技巧、集成技巧和盘算机技巧的迅猛发展,电子系统的设计方法和设计手段都产生了很大的变更

2、。可以说电子EDA技巧是电子设计领域的一场革命。传统的“固定功效集成块十连线”的设计方法正逐步地退出历史舞台,而基于芯片的设计方法正成为现代电子系统设计的主流。作为高级院校有关专业的学生和宽大的电子工程师懂得和攀握这一先进技巧是势在必行,这不仅是进步设计效率的需要,更是时代发展的需求,只有攀握了EDA技巧才有能力参和世界电子工业市场的竞争,才干生存和发展。随着科技的进步,电子产品的更新日新月异,EDA技巧作为电子产品开发研制的源动力,已成为现代电子设计的核心。所以发展EDA技巧将是电子设计领域和电子产业界的一场重大的技巧革命,同时也对电课程的教学和科研提出了更深更高的请求。非凡是EDA技巧在我

3、国尚未普及,把握和普及这一全新的技巧,将对我国电子技巧的发展具有深远的意义。 通过综合设计,力争掌握使用EDA工具设计数字系统电路的基本方法,包括原理方案的确定、详细设计中的编程与仿真等一系列过程,为以后进行工程实践问题的研究打下设计基础。第二部分 原理方案设计设计一个多功能数字时钟,具有时分、秒计数显示、闹钟功能。能够利用按键实现对闹钟时间的设定并在当前显示时间到时后能够进行闹钟提示。能够利用按键实现“较时”、“较分”功能,随时对数码管的显示进行校正和校对。数字中系统主要由系统时钟,三个功能按键(mode,turn,change),FPGA,数码管和蜂鸣器部分组成。分频模块计时模块闹钟模块显

4、示模块控制模块蜂鸣器图1多功能数字时钟整体模块图2.1分频模块方案设计分频模块用于为系统的实现提供稳定的工作频率和计时信号源,产生分频为1HZ频率的信号作为计时模块的信号源。分频算法设计:定义变量并根据需要得到的分频信号设定计数值,对该变量进行加或减计数,每到达一次计数值点,将该变量清零或重置,并且对输出信号取一次反,即可以得到所需的分频信号。在这里使用任意分频计数器。定义变量并且设定一个上限值,每次加计数到该上限值时,输出该计数值的最高位。2.2显示模块计时模块是对1s的信号源进行秒计时,计时满后向上进位的设计思想。译码显示模块采用的是数码管的动态扫描方式。2.3控制模块设置三个按键,一个作

5、为功能控制信号,按键每次加一,加到三在归零。为0:计时功能; 为1:闹铃功能; 为2:手动校对功能。 一个按键选择是调整时间,还是分钟,若长时间按住该键,可使秒信号清零,用于精确调时。 一个按键用于手动调整,每按一次,计数器加1,如果长按,则连续快速加1;用于快速调时和定时。第三部分 详细设计过程图2 顶层模块3.1分频模块3.1.1模块功能描述该模块为任意分频计数器,在这里使用了两个分频模块,分别输出1Hz和500hz的时钟信号。功能:对输入时钟clock进行F_DIV倍分频后输出clk_out。其中F_DIV为分频系数,分频系数范围为12n (n=F_DIV_WIDTH)若要改变分频系数,

6、改变参数F_DIV或F_DIV_WIDTH到相应范围即可。若分频系数为偶数,则输出时钟占空比为50%;若分频系数为奇数,则输出时钟占空比取决于输入时钟占空比和分频系数(当输入为50%时,输出也是50%)。3.1.2模块设计思想定义变量为分频系数,若位偶数,则产生分频系数的一半个时钟周期为高电平,分频系数的一半个时钟周期为低电平;若为奇数,则相应地偏移一个。3.1.3设计关键知识点若分频系数为偶数,则输出时钟占空比为50%;若分频系数为奇数,则输出时钟占空比取决于输入时钟占空比和分频系数(当输入为50%时,输出也是50%)。library ieee;use ieee.std_logic_1164

7、.all;use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all;entity fenpin is port(clk50MHz:in std_logic; clk1Hz,clk500Hz:out std_logic );end fenpin ; architecture cml of fenpin is begin process (clk50MHz) variable count1: integer range 0 to 25000000; variable q1: std_logic; begin if clk50MHz

8、event and clk50MHz=1 then if count1=25000000 thenq1:=not q1; count1:=0; else count1:=count1+1; end if; end if; clk1Hz=q1; end process; process(clk50MHz) variable count500: integer range 0 to 50000; variable q500: std_logic; begin if clk50MHz event and clk50MHz=1 then if count512=50000 then q500:=not

9、 q500; count500:=0; else count500:=count500+1; end if; end if; clk500Hzdata=h1;seldata=h0;seldata=min1;seldata=min0;seldata=sec1;seldata=sec0;seldata=1000;sel=111111; end case;if order=101 then order=000;else orderdaout daout daout daout daout daout daout daout daout daout daout = 1111111;end case;

10、end process ; end cml;3.3时钟控制模块3.3.1模块设计功能该模块设计为多功能数字钟的控制模块。 各信号引脚功能定义为:mode:功能控制信号;为0:计时功能; 为1:闹铃功能; 为2:手动校对功能; turn:在手动校对时,选择是调整时间,还是分钟,若长时间按住该键,可使秒信号清零,用于精确调时; change:手动调整时,每按一次,计数器加1,如果长按,则连续快速加1;用于快速调时和定时;hour,min,sec:时,分,秒显示信号; alert:扬声器驱动信号;用于产生闹铃音和报时音;闹铃音为持续20秒的急促的“嘀嘀嘀”音 ,若按住“change”键,可屏蔽该闹铃

11、音;整点报时音为“嘀嘀嘀嘀嘟”四短一长音;LD_alert:接发光二极管,指示是否设置了闹钟功能; LD_hour:接发光二极管,指示当前调整的是小时信号; LD_min: 接发光二极管,指示当前调整的是分钟信号。3.3.2模块设计思想mode按键每触发一次,定义一个变量m自加,从0加到2;加满2,重新置为0。用case语句产生3种模式。图6 时钟模块 ALERTlibrary ieee;use ieee.std_logic_1164.all;entity ALERT isport(h1,h0,m1,m0,s1,s0:in std_logic_vector(3 downto 0); clk:i

12、n std_logic; q500:out std_logic);end ALERT;architecture sss_arc of ALERT is begin process(clk) begin if clkevent and clk=1 then if h1=0001 and h0=0110 and m1=0101 and m0=1001 and s1=0101 then if s0=0001 or s0=0011 or s0=0101 or s0=0111 then q500=1; else q500=0; end if; end if;end if;end process;end

13、sss_arc;3.4校时闪烁电路3.4.1模块设计功能如果正在进行校时,flashjiaoshi将实现使当前正在校时项(小时或分钟)以1Hz的频率闪烁,以便于操知道正在被校正.3.4.2模块设计思想3.5时计数器 分计数器 秒计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour isport(en,clk:in std_logic; h0,h1:buffer std_logic_vector(3 downto 0 ) );end hour;architecture cml

14、 of hour is beginprocess(en,clk,h0,h1) begin if en=0 then h0=0000; h1=0000; elsif clkevent and clk=1 then if h0=0011 and h1=0010 then h0=0000; h1=0000; elsif h0=1001 then h0=0000; h1=h1+1; else h0=h0+1; end if; end if; end process ; end cml;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic

15、_unsigned.all;entity mine isport(en,clk:in std_logic; co:out std_logic; min0,min1:buffer std_logic_vector(3 downto 0 ) );end mine;architecture cml of mine issignal min0_t,min1_t:std_logic_vector(3 downto 0 ); beginprocess(en,clk,min0,min1) begin if en=0 then min0=0000; min1=0000; elsif clkevent and

16、clk=1 then if min0=1001 and min1=0101 then min0=0000; min1=0000; co=1; elsif min0=1001 then min1=min1+1; min0=0000; else min0=min0+1; co=0; end if; end if; end process ; end cml; library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity second isport(clr,clk:in std_logic; co:ou

17、t std_logic; sec0,sec1:buffer std_logic_vector(3 downto 0 ) );end second;architecture cml of second issignal sec0_t,sec1_t:std_logic_vector(3 downto 0 ); beginprocess(clr,clk,sec0,sec1) begin if clr=0 then sec0=0000; sec1=0000; co=0; elsif clkevent and clk=1 then if sec0=1001 and sec1=0101 then sec0

18、=0000; sec1=0000; co=1; elsif sec0=1001 then sec1=sec1+1; sec0=0000; else sec0=sec0+1; co=0; end if; end if; end process ; end cml;第四部分 功能仿真4.1分频仿真波形由于50MHz分频为4Hz分频系数太大,这里以50分频为例。图7 50分频示例在clk_out的半个周期内,clk出现了25个周期,50分频是正确的。4.2计时仿真 时计数 分计数 秒计数 图8 时间 计数4.3闹钟仿真图9 闹钟仿真波形设定闹铃时间为22:22,当时间到点时q500输出高电平,时间没到时q500输出低电平。显示模块仿真Sel循环选择数码管,daout输出相应的数据。 第五部分 总结 在学习的过程中,我深深体会到,学习不单单要将理论知识学扎实了,更重要的是实际动手操作能力,学完了课本知识,我并没有觉得自己有多大的提高,感觉学到的很没用,我们现在学到的还很少,只是编写一些简单的程序。相反的,每次做完实验之后,都会感觉自己收获不少,每次都会有问题。 或许在今后的工作中会用到这些编程,在这几次反复的操练中,铭记于心。多学一点,多认真一些,或许未来有所改变。15

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!