欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    EDA数字时钟设计.docx

    • 资源ID:16604642       资源大小:284.03KB        全文页数:14页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    EDA数字时钟设计.docx

    1、EDA数字时钟设计目录1设计实验目的2设计实验说明3设计实验要求4功能设计1时钟计数2.时间设置3.清零功能4.整点报时功能5数字时钟计数报时 VHDL 程序设计仿真与分析 1.秒计数器(miao)VHDL 程序描述、仿真波形图及其分析 2.分计数器(fen)VHDL 程序描述、仿真波形图及其分析3.时计数器(shi)VHDL 程序描述、仿真波形图及其分析4. 整点报时器(baoshi) VHDL 程序描述、仿真波形图及其分析5.分频器(fenpin)设计、仿真波形图及其分析6.扫描显示译码器(saomiao)VHDL 程序描述、仿真波形图及其分析7.数字时钟整体设计原理图及其分析6.设计总结

    2、7.参考文献1设计实验目的:熟练运用 VHDL 语言,完成数字时钟设计的软件 编程、编译、综合、仿真,使用 EDA 实验箱,实现数字时钟的硬件功能。2设计实验说明:1数字时钟主要由:分频器、扫描显示译码器、六十进制计数器(或十进 制计数器与 6 进制计数器组成)、六十进制计数器(或十进制计数器与 6 进制计 数器组成)、十二进制计数器(或二十四进制计数器)电路组成。在整个时钟中 最关键的是如何获得一个精确的 1HZ 计时脉冲。2数字时钟显示由时(12 或 24 进制任选)、分(60 进制)、秒(60 进制) 组成,利用扫描显示译码电路在六个数码管显示。3.数字时钟组成及功能: 数字时钟组成及功

    3、能:1.分频率器:用来产生 1HZ 计时脉冲; 2.十二或二十四进制计数器:对时进行计数 3.六十进制计数器:对分和秒进行计数; 4.六进制计数器:分别对秒十位和分十位进行计数; 5.十进制计数器:分别对秒个位和分个位进行计数; 6.扫描显示译码器:完成对 7.字段数码管显示的控制;3设计实验要求:1.精确显示时、分、秒。 2.数字时钟要求:具有对时、分、秒置数功能。3.能够完成整点报时功能。4功能设计:1时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分 60 进制计数,即从 0 到 59 循环计数, 对时 24 进制计数, 即从 0 到 23 循环计数。 2.时间设置:手动调节

    4、分钟(setfen)、小时(setshi),高定平时有效, 可以对分、时进行进位调节,低电平时正常计数。这样可以对所设计的时钟的时 间任意调。3.清零功能:reset 为复位端,低电平时实现清零功能,高电平时正常计 数。这样可以对所设计的时钟的时间进行清零处理。 4.整点报时功能:当分由 59 进位时,会在整点报时输出端输出高电平,此 信号可以通过 LED 点亮检验。5数字时钟计数报时 VHDL 程序设计仿真与分析1. (1)秒计数器(miao)VHDL 程序描述library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsi

    5、gned.all; entity miao is port( clk,reset,setfen:in std_logic; enfen:out std_logic; countmiao:out std_logic_vector(7 downto 0) ); end miao; architecture fun of miao is signal count:std_logic_vector(7 downto 0); signal enfen_1,enfen_2:std_logic; begin countmiao=count; enfen_2=(setfen and clk); enfen=(

    6、enfen_1 or enfen_2); process(clk,reset,setfen) begin if(reset=0) then count=00000000; enfen_1=0; elsif(clkevent and clk=1) then if(count(3 downto 0)=1001) then if(count16#60#) then if(count=01011001) then count=00000000; enfen_1=1; else count=count+7; end if; else count=00000000;enfen_1=0; end if; e

    7、lsif(count16#60#) then count=count+1; enfen_1=0; else count=00000000; enfen_1=1; end if; end if; end process; end fun;(2)秒计数器(miao)仿真波形图(3)秒计数器(miao)仿真分析 随着 clk 脉冲信号的不断到来,countmiao 记录出 clk 的脉冲个数,计数 到 59 时,在下一个 clk 脉冲信号到来时,输出端 enfen 输出高定平,即向分进 位,同时 countmiao 清零。 2、 reset 为清零端, reset 低电平时, 当 countmiao

    8、 计数从零重新开始计数。 3、setfen 为分的手动进位端,当 setfen 高定平时且 clk 脉冲到来时,输出 enfen 高电平,向分进位。2. (1)分计数器(fen)VHDL 程序描述 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fen is port( imiao,clk,reset,setshi:in std_logic; enshi:out std_logic; countfen:out std_logic_vector(7 downto 0) ); en

    9、d fen; architecture fun of fen is signal enshi_1,enshi_2:std_logic; signal count:std_logic_vector(7 downto 0); begin countfen=count; enshi_2=(setshi and clk); enshi=(enshi_1 or enshi_2); process(imiao,reset,setshi) begin if(reset=0) then count=00000000; elsif(imiaoevent and imiao=1) then if(count(3

    10、downto 0)=1001) then if(count16#60#) then if(count=01011001) then count=00000000; enshi_1=1; else count=count+7; end if; else count=00000000; end if; elsif(count16#60#) then count=count+1; enshi_1=0; else count=00000000; end if; end if; end process; end fun;(2)分计数器(fen)仿真波形图(3)分计数器(fen)仿真分析 imiao 为秒

    11、计数器的 enfen 进位输出端,当 enfen(imiao)高电平到来 时, clk 高电平时, 且 countfen 开始计数。 countfen 计数到 59 时, 下一个 enfen (imiao)、clk 到来时,enshi 高电平,即向时进位,同时 countfen 清零。 2、reset 为清零端,当 reset 低电平时,countfen 计数从零重新开始计数。 3、setshi 为时的手动进位端,当 setshi 高定平时且 clk 脉冲到来时,输出 en 时高电平,向时进位。3.(1)时计数器(shi)VHDL 程序描述library ieee; use ieee.std_

    12、logic_1164.all; use ieee.std_logic_unsigned.all; entity shi is port( ifen,reset:in std_logic; countshi:out std_logic_vector(7 downto 0) ); end shi; architecture fun of shi is signal count:std_logic_vector(7 downto 0); begin countshi=count; process(ifen,reset) begin if(reset=0) then count=00000000; e

    13、lsif(ifenevent and ifen=1) then if(count(3 downto 0)=1001) then if(count16#23#) then count=count+7; else count=00000000; end if; elsif(count16#23#) then count=count+1; else count=00000000; end if; end if; end process; end fun;(2)时计数器(shi)仿真扫描显示译码器(saomiao)仿真(3)时计数器(shi)仿真分析 ifen 为分计数器的 enshi 进位输出端,当

    14、 enshi(ifen)为高电平时, countshi 计数。countshi 计数到 23 时,当下一个 enshi(ifen)、clk 到来时, countshi 会自动清零。 2、reset 为清零端,当 reset 低电平时,countfen 计数从零重新开始计数。4.整点报时(1)整点报时器(baoshi)VHDL 程序描述 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entitybaoshi is port( clk:in std_logic; inputmiao,input

    15、fen:in std_logic_vector(6 downto 0); output:out std_logic_vector(1 downto 0) ); end baoshi; architecture fun of baoshi is signal temp:std_logic_vector(1 downto 0); signal nummiao,numfen:std_logic_vector(7 downto 0); begin nummiao=inputmiao; numfen=inputfen; outputtemptemptemptemptemp=00; end case; e

    16、nd if; end if; end process; end fun; 11(2)整点报时器(baoshi)仿真波形图(3)整点报时器(baoshi)仿真分析 input 为分计数器的输出端,当输出 58、59 和 00(十六进制)时,整点报 时器(baoshi)的输出端 output 为高电平,点亮 LED 灯。当 intput 为 58、59 时,点亮一个 LED 灯,当 input 为 00 时,点亮两个 LED 灯。其他情况时,LED 灯均不发光。4. (1)分频器(fenpin)设计 library ieee; use ieee.std_logic_1164.all; use ie

    17、ee.std_logic_unsigned.all; entity fenpin is port( clk_5M:in std_logic; clk:out std_logic ); end fenpin; architecture fun of fenpin is signal count:std_logic_vector(22 downto 0); begin process(clk_5M) begin if (clk_5Mevent and clk_5M=1) then if(count=10011000100101100111111) then count=00000000000000

    18、000000000; clk=1; else count= count+1; clk=0; end if;end if;end process; end fun;5. (1)扫描显示译码器(saomiao)VHDL 程序描述扫描显示译码器是用来显示时钟数值的装置,将数字时钟的高低电平信号用 数码管的数值显示出来。八个数码管中,用六个数码管显示时、分和秒,另外两 个可做为时和分、分和秒之间的间隔,始终不显示。 首先对八个数码管进行扫描,每一时刻都只有一个数码管处于扫描状态,并 将此时的数字时钟的高低电平通过十六进制的 BCD 码转换为数码管显示数值。library ieee; use ieee.

    19、std_logic_1164.all; use ieee.std_logic_unsigned.all; entity saomiao is port( clk_smxs:in std_logic; shi:in std_logic_vector(7 downto 0); fen:in std_logic_vector(7 downto 0); miao:in std_logic_vector(7 downto 0); selout:out std_logic_vector(7 downto 0); segout:out std_logic_vector(6 downto 0) ); end

    20、saomiao; architecture fun of saomiao is signal temp:std_logic_vector(2 downto 0); signal seg:std_logic_vector(6 downto 0); signal sel:std_logic_vector(7 downto 0); begin selout=sel; segout=111 then temp=000; else tempnum:=shi(7 downto 4); selnum:=shi(3 downto 0); selnum:=fen(7 downto 4); selnum:=fen

    21、(3 downto 0); selnum:=miao(7 downto 4); selnum:=miao(3 downto 0); selselsegsegsegsegsegsegsegsegsegsegseg=0000000; end case; end if; end process; end fun;(2)扫描显示译码器(saomiao)仿真波形图6.数字时钟整体设计 、数字时钟整体设计:(1)数字时钟的电路原理图:(3)数字时钟整体设计:时钟脉冲源为 EDA 实验箱中的 5MHz 的脉冲信号,用于分频器的输入信号和 扫描显示译码器的扫描。分频器的功能是将 5MHz 的脉冲信号转换为 1

    22、Hz 的时钟 信号,用于秒的计数。 秒为 60 进制计数器,当 1Hz 的脉冲信号来临时,开始计数。计数到 59 时, 会输出 enfen 高电平,用于分的计数。setfen 为手动进位端,置入高电平时也 会使 enfen 产生高电平。分计数器为 60 进制计数器,当 enfen 高电平来临时, 分计数器会开始计数,计数到 59 时,会产生 enshi 的高电平。setshi 为手动置 数端,当 setshi 高定平时,也会使 enshi 为高电平。enshi 为时计数器的计数 脉冲输入,enshi 高电平时,时计数器开始计数。时计数器为 24 进制计数器, 计数到 24 时会自动清零。res

    23、et 为异步清零端,高定平时,所有时钟显示数码 管均为 0。 selout 为数码管扫描地址,接入数码管地址的低三位。segout 为数码管的 输入端,分别接入数码管的 a,b,c,d,e,f,g 端口。 output 为整点报时输出端。 当分为 59, 秒为 58 时, output1 点亮第一个 LED 灯,当分为 59,秒为 59 时,output2 点亮地二个 LED 灯,当分为 00,秒为 00 时,output1、output2 同时点亮两个 LED。其他情况时,LED 均处于灭等状态。 这样完成报时功能。6数字时钟设计总结 、数字时钟设计总结本次实习最主要的收获是:使我们对 ED

    24、A 设计有一定的感性和理性 认识;培养和锻炼我们的实际动手能力。使我们的理论知识与实践充分地结合, 作到不仅具有专业知识,而且还具有较强的实践动手能力,能分析问题和解决问 题的高素质人才,为以后的顺利就业作好准备。 本次实习的对我们很重要,是我们通信工程学生实践中的重要环节。在以 前我们学的都是一些理论知识。这一次的实习正如老师所讲,没有多少东西要我 们去想,更多的是要我们去做,好多东西看起来十分简单,看着电路图都懂,但 没有亲自去操作,就不会懂得理论与实践是有很大区别的。看一个东西简单,但 在实际操作中就是有许多要注意的地方,有些东西也与你的想象不一样,我们这 次的实验就是要我们跨过这道实际

    25、和理论之间的鸿沟。不过,我坚信自己的是有 一定能力的。以前我们光只注意一些理论知识,并没有专门的练习我们的实际动 手能力。 这次的实习使我意识到我的操作能力的不足, 在理论上也有很多的缺陷。 所以,在以后的学习生活中,我需要更努力地读书和实践。7 参考文献1.辛春燕.VHDL 程序描述语言.北京:国防工业出版社,2002 2.包明, 赵明富, 陈泽光.EDA 技术汲取应用.北京: 北京航空航天大学出版社, 20043.马淑华,高原.电子设计自动化.北京:北京邮电大学出版社,2006 4.周立功.EDA 实验与实践. 北京:北京航空航天大学出版社,2009 5.罗中华,杨戈. EDA 与可编程实验教程.重庆:重庆大学出版社,2007


    注意事项

    本文(EDA数字时钟设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开