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

    vhdl数字时钟设计.docx

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

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

    vhdl数字时钟设计.docx

    1、vhdl数字时钟设计数字时钟设计一、题目分析1、功能介绍 1)具有时、分、秒计数显示功能,以24小时循环计时。 2)时钟计数显示时有LED灯的花样显示。 3)具有调节小时、分钟及清零的功能。 4)具有整点报时功能。2、总体方框图3、性能指标及功能设计 1)时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分60进制计数,即从0到59循环计数,时钟24进制计数,即从0到23循环计数,并且在数码管上显示数值。2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7与键4进行任意的调整,因为我们用的时钟信号均就是1HZ的,所以

    2、每LED灯变化一次就来一个脉冲,即计数一次。3)清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。可以根据我们自己任意时间的复位。4)蜂鸣器在整点时有报时信号产生,蜂鸣器报警。产生“滴答、滴答”的报警声音。5)LED灯在时钟显示时有花样显示信号产生。即根据进位情况,LED不停的闪烁,从而产生“花样”信号。二、选择方案 1、方案选择方案一:根据总体方框图及各部分分配的功能可知,本系统可以由秒计数器、分钟计数器、小时计数器、整点报时、分的调整以及小时的调整与一个顶层文件构成。采用自顶向下的设计方法,子模块利用VHDL语言设计,顶层文件用原理图的设计方法。显示:小时采用24进制,

    3、而分钟均就是采用6进制与10进制的组合。方案二:根据总体方框图及各部分分配的功能可知,本系统可以由秒计数器、分钟计数器、小时计数器、整点报时、分的调整以及小时的调整与一个顶层文件构成。采用自顶向下的设计方法,子模块利用VHDL语言设计,顶层文件用原理图的设计方法。显示:小时采用24进制,而分钟与秒均60进制。 终上所述,考虑到试验时的简单性,故我选择了方案二。 三、细化框图根据自顶向下的方法以及各功能模块的的功能实现上述设计方案应系统细化框图:四、编写程序、仿真与分析1、秒计数器1)VHDL语言描述程序见附录2)秒计数器的仿真波形图3)波形分析利用60进制计数器完成00到59的循环计数功能,当

    4、秒计数至59时,再来一个时钟脉冲则产生进位输出,即enmin=1;reset作为复位信号低电平有效,即高电平时正常循环计数,低电平清零。因为这种60进制的VHDL语言就是很好写的,它并不复杂,再说我们必须要学会这些基本的硬件语言的描写。2、分钟计数器1)VHDL语言描述程序见附录2)分钟计数器的仿真波形图3)波形分析小时计数模块利用24进制计数器,通过分钟的进位信号的输入可实现从00到23的循环计数。 3、小时计数器1)VHDL语言描述程序见附录2)小时计数器的仿真波形图3)波形分析小时计数模块利用24进制计数器,通过分钟的进位信号的输入可实现从00到23的循环计数。4、整点报时报警模块 1)

    5、VHDL语言描述程序见附录2)整点报时模块仿真波形图1) 波形分析由图知对于整点报时模块,当分钟计数至59时来一个时钟脉冲则产生一个进位信号,分钟计数到00,此时产生报警信号持续一分钟。当有时钟脉冲时lamp显示灯就闪烁轮续点亮。五、全系统联调1、数字时钟系统原理图2、数字时钟系统波形图仿真六、附录(源程序)1、小时计数器VHDL语言源程序(底层文件)LIBRARY IEEE;use IEEE、STD_LOGIC_1164、ALL;USE IEEE、STD_LOGIC_UNSIGNED、ALL;ENTITY hour IS PORT(clk,reset:IN STD_LOGIC; daout:

    6、out STD_LOGIC_VECTOR(5 DOWNTO 0);END ENTITY hour;ARCHITECTURE fun OF hour ISSIGNAL count:STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN daout=count; PROCESS(clk,reset) BEGIN IF(reset=0)THEN count=000000; 若reset=0,则异步清零 ELSIF(clkevent and clk=1)THEN 否则,若clk上升沿到 IF(count(3 DOWNTO 0)=1001)THEN 若个位计时恰好到“1001”即9 IF

    7、(count16#23#)THEN 23进制 count=count+7; 若到23D则 else count=000000; 复0 END IF; ELSIF (count16#23#)THEN 若未到23D,则count进1 count=count+1; ELSE 否则清零 count=000000; END IF; END IF(count(3 DOWNTO 0)=“1001”) END IF; END IF(reset=0) END PROCESS;END fun;2、分钟计数器VHDL语言源程序(底层文件)LIBRARY IEEE;USE IEEE、STD_LOGIC_1164、AL

    8、L;USE IEEE、STD_LOGIC_UNSIGNED、ALL;ENTITY minute IS PORT(clk,clk1,reset,sethour:IN STD_LOGIC; enhour:OUT STD_LOGIC; daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END ENTITY minute ;ARCHITECTURE fun OF minute IS SIGNAL count :STD_LOGIC_VECTOR (6 DOWNTO 0); SIGNAL enhour_1, enhour_2: STD_LOGIC; enmin_1为59分时的进

    9、位信号 BEGIN enmin_2由clk调制后的手动调时脉冲信号串 daout=count; enhour_2= (sethour and clk1); sethour为手动调时控制信号,高电平有效 enhour= (enhour_1 or enhour_2); PROCESS(clk,reset,sethour) BEGIN IF(reset=0) THEN 若reset为0,则异步清零 count=0000000; ELSIF(clkevent and clk=1)THEN 否则,若clk上升沿到 IF(count (3 DOWNTO 0) =1001)THEN若个位计时恰好到“1001

    10、”即9 IF(count 16#60#) THEN 又若count小于16#60#,即60 IF(count=1011001) THEN又若已到59D enhour_1=1; 则置进位为1 count=0000000; count复0 ELSE count=count+7; 若count未到59D,则加7,即作“加6校正” END IF; 使前面的16#60#的个位转变为8421BCD的容量 ELSE count=0000000;count复0(有此句,则对无效状态电路可自启动) END IF; END IF(count16#60#) ELSIF (count 16#60#) THEN cou

    11、nt=count+1; 若count16#60#则count加1 enhour_1=0 after 100 ns; 没有发生进位 ELSE count=0000000; 否则,若count不小于16#60# count复0 END IF; END IF(count(3 DOWNTO 0)=“1001”) END IF; END IF(reset=0) END process;END fun;3、秒钟计数器VHDL语言源程序(底层文件)LIBRARY IEEE;USE IEEE、STD_LOGIC_1164、ALL;USE IEEE、STD_LOGIC_UNSIGNED、ALL;ENTITY s

    12、econd ISPORT( clk,reset,setmin:STD_LOGIC; enmin:OUT STD_LOGIC; daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END ENTITY second;ARCHITECTURE fun OF second ISSIGNAL count:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL enmin_1,enmin_2:STD_LOGIC; enmin_1为59秒时的进位信号 BEGIN enmin_2由clk调制后的手动调分脉冲信号串 daout=count; enmin_2=(setm

    13、in and clk); setmin为手动调分控制信号,高电平有效 enmin=(enmin_1 or enmin_2); enmin为向分进位信号 PROCESS(clk,reset,setmin) BEGIN IF(reset=0)THEN count=0000000; 若reset为0,则异步清零 ELSIF(clk event and clk=1)then 否则,若clk上升沿到 IF(count(3 downto 0)=1001)then 若个位计时恰好到“1001”即9 IF(count16#60#)then 又若count小于16#60#,即60H IF(count=10110

    14、01)then 又若已到59D enmin_1=1;count=0000000;则置进位为1及count复0 ELSE 未到59D count=count+7; 则加7,而+7=+1+6,即作“加6校正” END IF; ELSE 若count不小于16#60#(即count等于或大于16#60#) count=0000000; count复0 END IF; END IF(count16#60#) ELSIF(count16#60#)then 若个位计数未到“1001”则转此句再判 count=count+1; 若count16#60#则count加1 enmin_1=0after 100

    15、ns; 没有发生进位 ELSE 否则,若count不小于16#60# count=0000000; 则count复0 END IF; END IF(count(3 DOWNTO 0)=“1001”) END IF; END IF(reset=0)END PROCESS;END fun;4、整点报时报警模块VHDL语言源程序(底层文件)LIBRARY IEEE;USE IEEE、STD_LOGIC_1164、ALL;USE IEEE、STD_LOGIC_UNSIGNED、ALL;ENTITY alert IS PORT(clk:IN STD_LOGIC; dain:IN STD_LOGIC_VE

    16、CTOR(6 DOWNTO 0); speak:OUT STD_LOGIC; lamp:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END alert;ARCHITECTURE fun OF alert IS SIGNAL count:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL count1:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN speaker:PROCESS(clk) BEGIN speak=10)THEN count1=00;count1为三进制加法计数器 ELSE count1=count1+1; END IF ; END IF ; END IF ; END PROCESS speaker; lamper:PROCESS(clk) BEGIN IF(rising_edge(clk)THEN IF(count=10)THEN IF(count=00)THEN lamp=001;循环点亮三只灯 ELSIF(count=01)THEN lamp=010; ELSIF(count=10)THEN lamp=100; END IF; count=count+1; ELSE count=00; END IF; END IF; END PROCESS lamper;END fun;


    注意事项

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

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




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

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

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


    收起
    展开