




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
物联网1101 3110611002 朱一数字逻辑电路设计课程设计多功能数字钟学院:计算机科学与通信工程班级:物联网1101学号:3110611002姓名: 朱一指导老师: 金华提交日期:2012年6月17日一 设计任务及要求:(1)、拥有正常的时、分、秒计时功能。(2)、能利用实验板上的按键实现校时、校分及秒清零功能。(3)、能利用实验板上的扬声器做整点报时。(4)、闹钟功能。(5)、在quartus ii中采用层次设计方法进行设计。(6)、完成全部电路设计后在设计板上下载,验证设计课题的正确性。二 功能简介:完成时钟的计时、调整,整点报时等基础功能,完成闹钟的设置、开启和关闭功能,整点报时的开启和关闭功能,完成时间设定和显示功能。三 多功能数字钟的总体设计框图: 时显示器 分显示器 秒显示器闹时设置清零校时校分时十位 时个位分十位 分个位秒十位 秒个位扬声器译码器 译码器译码器 译码器译码器 译码器时计数器分计数器秒计数器muxmux报时电路hadjhaojsclr基准频率分频器dasbsc1hz4hz64hz500hz闹钟电路sc四 各模块电路图及程序:设计方案:根据总体设计框图,可以将整个系统分为6个模块来实现,分别是计时模块、校时模块、整点报时模块、分频模块、动态显示模块.(1)计时模块该模块的设计相对简单,使用一个二十四进制和两个六十进制计数器级联,构成数字钟的基本框架。二十四进制计数器用于计时,六十计时器用于计分和计秒。只要给秒计数器一个1hz的时钟脉冲,则可以正常计时。分计数器以秒计数器的进位作为计数脉冲,小时计数器以分计数器的进位作为计数脉冲。(2)校时模块校时模块设计要求实现校时、校分以及秒清零的功能。 1按下校时键,小时计数器迅速递增以调至所需要的小时位。 2按下校分键,分数计数器迅速递增以调至所需要的分位。 3按下清零键,将秒计数器清零。可以选择实验板上的3个脉冲案件进行锁定。对于此模块的设计,有3个需要注意的问题:1在校分时,分数计数器的计数不应对小时位产生影响,因而需要屏蔽此时分计数器的进位信号以防止小时计数器计数。2按键抖动的消除所谓“抖动”是指一次按键时的弹跳现象,通常实验板中按键所用的开关为机械弹跳开关,由于机械点的弹性作用,按键开关在闭合时并不能马上接通,而断开时也并不能马上断开,使得闭合及断开的瞬间伴随着一系列的电压抖动,从而导致本来一次按键,希望计数一次,结果因为抖动多次计数多次,且计数随机,这样就严重影响了时间的校对。3计数采用1hz的脉冲驱动计数器计数,而校对时间对应选用相对高频率的信号驱动计数器以达到快速校对时间的目的。显然,这两种计数器脉冲之间需要进行相应的选择切换。于是将计时和校时模块合起来的电路是实现示意图所示。两种脉冲信号用两路选择器进行选择,选择条件为是否按键。按键输出经过了消抖处理。二十四进制计数器六十进制计数器六十进制计数器2mux2mux消抖校时消抖校分1hz高频计数脉冲分频 多功能数字钟的计时和校时模块(3)整点报时模块该模块的功能要求是:计时到59分50秒时,每两秒一次低音报时,整点时进行高音报时,可以将报时信号接到实验板上的扬声器输出。而已不同频率的脉冲信号区分低音和高音报时。比如可以用500hz信号进行低音报时,1khz信号作为高音报时信号。进行报时的条件是计数器计数至所需要的时间点,因而需要实现一个比较模块,将分计数器和秒计数器的输出连至比较输入端完成比较过程。(4)分频模块在本系统中需要用到多种不同频率的脉冲信号,上至高音报时信号,下至1hz的计时脉冲。所有这些脉冲信号均可以通过一个基准分频分频器产生。基准频率分频器就是一个进制很大的计数器,利用计数器的分频功能,从不同的输出为得到所需要的脉冲信号。(5)动态显示模块 时间的显示需要用到6个数码管,如果实验板上可用的静态显示数码管有6个或6个以上则很容易实现,只需要将小时高位到秒低位ginger6组输出按顺序锁定到6个数码管上即可。(6)闹钟模块闹钟模块要求数字钟计时到所设定的任意时间时均能驱动扬声器报时。该模块的设计应考虑到以下几个问题。1 设定的闹钟的时间应使用新的计数器进行存储,与正常的计时互不干扰。2 与正常计时状态的显示切换。可以设定一个按键,用于选择是将计时时间还是将闹钟时间状态送动态显示模块。3 应实现一个比较模块,当计时到与闹钟时间相等时,则驱动扬声器鸣叫。4 闹钟响声应限定在一定时间内,比如一分钟,且在这段时间内应随时可以通过按键取消闹时状态(扬声器停止鸣叫)。将上述6个功能模块分别加以实现,再连接成为顶层原理图,编译后锁定管脚下载验证结果的正确性。整体电路连接图:各元器件连接图或vhdl程序:(1) cnt24:(2) cnt60m (3) cnt60s(4) v24jingzhilibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity v24jingzhi is port( clk,epet:in std_logic; jh,jm:buffer std_logic_vector(3 downto 0);end v24jingzhi;architecture beha of v24jingzhi isbegin process(clk) begin if(rising_edge(clk) and epet=1)then if(jm=0011 and jh=0010)then jm=0000;jh=0000; else if(jm=1001)then jh=jh+1;jm=0000; else jm=jm+1; end if; end if; end if; end process;end beha;(5) v60jingzhilibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity v60jingzhi is port( clk,epet:in std_logic; jh,jm:buffer std_logic_vector(3 downto 0);end v60jingzhi;architecture beha of v60jingzhi isbegin process(clk) begin if(rising_edge(clk) and epet=1)then if(jm=1001 and jh=0101)then jm=0000;jh=0000; else if(jm=1001)then jh=jh+1;jm=0000; else jm=jm+1; end if; end if; end if; end process;end beha;(6) freq_divider(7) zdbslibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity zdbs is port(mh,ml,sh,sl:in std_logic_vector(3 downto 0);sig500,sig1k:out std_logic);end zdbs;architecture beha of zdbs isbegin sig500=1 when mh=0101and ml=1001and sh=0101and (sl=0000or sl=0010or sl=0100or sl=0110or sl=1000)else0; sig1k=1 when (mh=0000and ml=0000and sh=0000and sl=0000)else 0;end beha;(8) nzbslibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity nzbs is port(jh,jm,nh,nm:in std_logic_vector(7 downto 0);sig1k:out std_logic);end nzbs;architecture beha of nzbs isbegin sig1k=1 when (jh=nh and jm=nm)else 0;end beha;(9) ndtsmlibrary ieee ;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity ndtsm is port( clk,k3:in std_logic; h,m,s,nh,nm:in std_logic_vector(7 downto 0); seg7out:out std_logic_vector(6 downto 0); sel:buffer std_logic_vector(2 downto 0) );end ndtsm;architecture beha of ndtsm is signal key:std_logic_vector(3 downto 0); begin process(clk) variable dount:std_logic_vector(2 downto 0):=000; begin if(rising_edge(clk)then if(k3=0)then if dount=101 then dount:=000; else dount:=dount+1; end if; else if dount=011 then dount:=000; else dount:=dount+1; end if; end if; end if; selkeykeykeykeykeykeynull; end case; else case sel is when 000=keykeykeykeynull; end case; end if; end process; process (key) begin case key is when0000=seg7outseg7outseg7outseg7outseg7outseg7outseg7outseg7outseg7outseg7outseg7outseg7outseg7outseg7outseg7outseg7outnull; end case; end process; end beha;各模块连接图:(1)、计时、校时模块:(2)、分频模块:(3)、整点、闹钟报时模块:(4)、动态显示模块:五、心得体会: 通过本次数字逻辑电路的设计,我学到了很多东西,最重要的是去做好一个东西的心态,也许在你拿到题目时会觉得困难,但是只要你态度认真,一点一点去实现它,你就肯定会完成的。设计时最麻烦的就是联线了,有时候画的线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沂水离婚协议书
- 煤气月结协议书
- 产品研发及技术研发合作协议
- 专业市场招商合作协议合同书
- 《营销策略》课件
- 销售代理业务委托协议书
- 消费全返协议书
- 城市交通管理智能化系统开发合同
- 车位租赁押金合同协议
- 连锁超市合作协议合同
- 2024年全国高考数学试题及解析答案(新课标Ⅱ卷)
- 贵州水城宏源实业(集团)有限责任公司招聘笔试题库2024
- 14.促织《变形记》联读教学设计 2023-2024学年统编版高中语文必修下册
- 闽教版(2020版)三年级下册信息技术整册教案
- 《大学英语四级强化教程》全套教学课件
- 重点镇评价标准
- LNG卸车操作和储罐安全培训试题及答案
- 2024届上海市上海师大附中高一下数学期末检测模拟试题含解析
- 英文版中国故事绘本愚公移山
- 2023广州美术学院附属中等美术学校(广美附中)入学招生测试卷数学模拟卷
- 《民法典》培训系列课件:第三编 租赁合同
评论
0/150
提交评论