版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上JIANGSU NIVERSITY课程设计报告学院:计算机科学与通信工程班级:网络工程姓名:学号:指导老师:报告日期 :2016年1月15日专心-专注-专业目 录.设计目的 设计一个拥有:正常的时分秒计数功能,实现校时校分清零的功能,利用扬声器实现整点报时和闹钟功能的多功能数字钟。.设计内容 整个系统分成七个模块进行:计时模块、校时模块、整点报时模块、分频模块、动态扫描模块,动态显示模块、闹钟模块。l、能进行正常的时、分、秒计时功能,分别由6个数码显示24小时、60分钟的计数器显示。2、能利用实验系统上的按钮实现“校时”、“校分”功能;3、能利用扬声器做整点
2、报时:4、定时闹钟功能5、用层次化设计方法设计该电路,用硬件描述语言编写各个功能模块。6、报时功能。报时功能用功能仿真的仿真验证,可通过观察有关波形确认电路设计是否正确。.设计原理1 计时模块:使用一个二十四进制和两个六十进制计数器级联,构成数字钟的基本框架。二十四进制用于计时,六十进制用于计分和计秒。给秒计数器一个1hz的时钟脉冲,分计数器以秒计数器的进位作为计数脉冲,时计数器以分计数器的进位作为计数脉冲。2 校时模块:分别按下校时键和校分键,计数器增至所需时分数,按下清零键,秒计数器归零。此处注意事项:按键“抖动”消除。利用触发器,如D触发器,利用D触发器边沿触发的特性,在除去时钟边沿来之
3、前一瞬间之外的绝大部分时间都不能接受输入,从而实现“消抖”。校分时,分计数器计数不应对小时位产生影响,因而需要屏蔽此时分计数器的进位信号。需要设计二路选择器对于正常计数以及校时进行选择。3 整点报时模块:计时到59分50秒,每两秒一次低音报时,整点进行高音报时,将报时信号接到实验板上的扬声器输出。、4 分频模块:通过不同进制的计数将1khz的时钟脉冲分频出不同频率的时钟脉冲,以实现系统对多频率时钟信号的需求。5动态显示模块:利用6个数码管,将时分秒按照高低位输出到数码管上。其中扫描频率超过人眼视觉暂留频率就可以实现六个管同时显示的视觉效果。6 闹钟模块:需要新的计数器进行定时闹钟信号的存储,与
4、正常计时状态实现切换,设计一个比较模块使闹钟和计时相等时,开始鸣叫,同时需要一个按键能够控制闹钟的开关。.具体实现(1)顶层图图一:顶层图(2)代码1.24进制:时计数器:模块图如图。24进制无进位计数器,当计数信号计到23后再检测到计数信号时会自动归零。带清零,clk输入为分秒进位相与的结果。qh为十位,ql为个位。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt24 isport(clk:in std_logic; qh,ql:out std_logic_vector(3
5、downto 0); tc:out std_logic);end cnt24;architecture one of cnt24 is begin process(clk) variable iql,iqh:std_logic_vector(3 downto 0):="0000" begin if clk'event and clk='1' then iql:=iql+1; if iql="1010" then iqh:=iqh+1; iql:="0000" end if; if (iqh="0010
6、")and(iql="0100") then iqh:="0000" iql:="0000" end if; end if; ql<=iql; qh<=iqh; end process; end one; 2. 60进制: 秒计数器模块设计:六十进制带进位计数器,可清零,clk输入信号为1Hz脉冲,当ql计满9后qh增加1,当ql满9且qh记满5,ql、qh同时归零,co输出为高电平。qh为十位ql为个位。library ieee;use ieee.std_logic_1164.all;use ieee.std_
7、logic_unsigned.all;entity cnt60 is port(clk,clr:in std_logic; ql,qh:buffer std_logic_vector(3 downto 0); tc:out std_logic );end cnt60;architecture behavor of cnt60 isbegin tc<='0' when(clk='1' and ql="0000" and qh="0110") else '1' process(clk,clr,ql,qh)
8、variable iql,iqh:std_logic_vector(3 downto 0); begin if(clr='0'or (iql="0000" and iqh="0110")then iql:="0000" iqh:="0000" else if(clk'event and clk='1')then iql:=iql+1; if(iql="1010")then iql:="0000" iqh:=qh+1; end if; e
9、nd if;end if;ql<=iql;qh<=iqh;end process;END behavor;分计数器同上。注:不同之处为分的clk输入信号为秒的进位信号。3.动态显示:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY dtsm is port( clk:in std_logic; h:in std_logic_vector(7 downto 0); m:in std_logic_vector(7 downto 0); s:in std_logic_vecto
10、r(7 downto 0); seg7out:out std_logic_vector(6 downto 0); sel:buffer std_logic_vector(2 downto 0) );END dtsm;ARCHITECTURE beha of dtsm 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 dount=&qu
11、ot;111" then dount:="000" ELSE dount:=dount+1; END IF; END IF; sel<=dount; end process; PROCESS(sel) BEGIN CASE sel IS when "000"=>key<=h(7 downto 4); when "001"=>key<=h(3 downto 0); when "010"=>key<="1010" when "011&qu
12、ot;=>key<=m(7 downto 4); when "100"=>key<=m(3 downto 0); when "101"=>key<="1010" when "110"=>key<=s(7 downto 4); when "111"=>key<=s(3 downto 0); when others=>null; END CASE; END PROCESS; PROCESS (key) BEGIN case key i
13、s when"0000"=>seg7out<="" when"0001"=>seg7out<="" when"0010"=>seg7out<="" when"0011"=>seg7out<="" when"0100"=>seg7out<="" when"0101"=>seg7out<=""
14、; when"0110"=>seg7out<="" when"0111"=>seg7out<="" when"1000"=>seg7out<="" when"1001"=>seg7out<="" when"1010"=>seg7out<="" when others=>null; END CASE; END PROCESS; END
15、 beha;4. 分频器:模块图如图。由四个分频器构成,输入信号in_clk为1024Hz脉冲信号。把输入的1024Hz信号分频为四个脉冲信号,即1Hz的秒脉冲,4Hz的校时、校分脉冲,64Hz的消抖脉冲,以及512Hz的蜂鸣器低音输入。:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY freq_divider IS PORT(clk : IN STD_LOGIC; hz1 : OUT STD_LOGIC; hz4 : OUT
16、 STD_LOGIC; hz64 : OUT STD_LOGIC; hz512 : OUT STD_LOGIC);END freq_divider;ARCHITECTURE rtl OF freq_divider IS SIGNAL count : STD_LOGIC_VECTOR(9 DOWNTO 0);BEGIN PROCESS(clk) BEGIN IF (clk'event and clk='1') THEN IF(count="") THEN Count <= (OTHERS =>'0'); ELSE Count
17、 <= count +1; END IF ; END IF ; END PROCESS; hz512 <= count(0); hz64 <= count(3); hz4 <= count(7); hz1 <= count(9);END rtl;5. 二路选择器:模块图如图。用以进行正常计时和校时/分的选择。alarm为经过消抖的校时/分信号。当按键未曾按下时,即校时/分信号没有到来时,二选一选择器会选择输出a(正常计时输入)信号,否则当alarm按键按下时输出y为校时/分输入信号4Hz。library ieee;use ieee.std_logic_1164.a
18、ll;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity sel2 isport(sel:in std_logic; ip: in std_logic; a,b:out std_logic);end sel2;architecture beh of sel2 isbegin process(sel) begin if(sel='0')then a<=ip; else b<=ip; end if; end process;end beh;6.整点报时:整点报时及闹时:模块图如图在59分
19、52秒、54秒、56秒、58秒给扬声器赋以低音512Hz信号,在00分00秒给扬声器赋以高音1024Hz信号,当系统时间与闹铃时间相同时给扬声器赋以高音1024Hz信号。闹时时间为一分钟。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity zdbs isport(mh,ml,sh,sl:in std_logic_vector(3 downto 0); sig500,sig1k: out std_logic);end zdbs;architecture behavior of zdbs i
20、sbegin sig500<='1' when mh="0101"and ml="1001"and sh="0101"and( sl="0000"or sl="0010" or sl="0100"or sl="0110"or sl="1000") else '0'sig1k<='1' when mh="0000"and ml="0000"
21、and sh="0000"and sl="0000" else '0'end behavior;7.闹钟设置:闹钟时间的设定:模块图如图。由开关K1选择闹钟和时间。由S1、S2脉冲键调节时、分。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity alarmset isport(sel:in std_logic; hclo,mclo,sclo,halr,malr,salr: i
22、n std_logic_vector(7 downto 0); h,s,m:out std_logic_vector(7 downto 0);end alarmset;architecture beh of alarmset isbegin process(sel) begin if(sel='0')then h<=hclo; m<=mclo; s<=sclo; else h<=halr; m<=malr; s<="" end if; end process;end beh;8.alarmcmp:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity alarmcmp isport( h,m,halr,malr: in std_logic_vector(7 downto 0); stop:in std_logic; sig:out std_logic); e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 巢湖市巢湖区2025-2026学年第二学期五年级语文期中考试卷(部编版含答案)
- 延边朝鲜族自治州延吉市2025-2026学年第二学期五年级语文第五单元测试卷(部编版含答案)
- 临汾市大宁县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 黔南布依族苗族自治州罗甸县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 黄山市歙县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 软件推广方案
- 饭店营销方案
- 深度解析(2026)《AQ 2058-2016金属非金属矿山在用矿用电梯 安全检验规范》
- 电瓶车试题及答案
- 审计学基础理论与实务题目及答案
- 京东物流安全管理制度
- DB62-T 3255-2023 建筑工程施工扬尘防治技术标准
- 外包外委作业管理制度
- DB15-T 4026-2025 水利工程格宾应用技术规范
- CJ/T 358-2019非开挖工程用聚乙烯管
- T/CECS 10375-2024建筑幕墙用精密钢型材
- 重庆广汇供电服务有限责任公司招聘笔试真题2024
- 大学生春季传染病预防指南
- 多模态信息处理与认知负荷-洞察阐释
- CT引导下经皮胃造瘘术专家共识(2025版)解读
- Unit4 Eat Well Section B (1a-1d) 课件 2024-2025学年人教版七年级英语下册
评论
0/150
提交评论