江苏大学数字逻辑数字时钟.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江苏 大学 数字 逻辑 时钟
- 资源描述:
-
JIANGSU NIVERSITY 课程设计报告 学院:计算机科学与通信工程 班级:网络工程 姓名: 学号: 指导老师: 报告日期 :2016年1月15日 目 录 Ⅰ.设计目的 1 Ⅱ.设计内容 1 Ⅲ.设计原理 1 Ⅳ.具体实现 2 (1)顶层图 2 (2)代码 2 1.24进制: 2 2. 60进制: 3 3.动态显示: 4 4. 分频器: 5 5. 二路选择器: 6 6.整点报时: 7 7.闹钟设置: 8 8.alarmcmp: 9 9.消抖: 9 Ⅴ.心得体会 10 Ⅰ.设计目的 设计一个拥有:正常的时分秒计数功能,实现校时校分清零的功能,利用扬声器实现整点报时和闹钟功能的多功能数字钟。 Ⅱ.设计内容 整个系统分成七个模块进行:计时模块、校时模块、整点报时模块、分频模块、动态扫描模块,动态显示模块、闹钟模块。 l、能进行正常的时、分、秒计时功能,分别由6个数码显示24小时、60分钟的计数器显示。 2、能利用实验系统上的按钮实现“校时”、“校分”功能; 3、能利用扬声器做整点报时: 4、定时闹钟功能 5、用层次化设计方法设计该电路,用硬件描述语言编写各个功能模块。 6、报时功能。报时功能用功能仿真的仿真验证,可通过观察有关波形确认电路设计是否正确。 Ⅲ.设计原理 1 计时模块:使用一个二十四进制和两个六十进制计数器级联,构成数字钟的基本框架。二十四进制用于计时,六十进制用于计分和计秒。给秒计数器一个1hz的时钟脉冲,分计数器以秒计数器的进位作为计数脉冲,时计数器以分计数器的进位作为计数脉冲。 2 校时模块:分别按下校时键和校分键,计数器增至所需时分数,按下清零键,秒计数器归零。 此处注意事项:①按键“抖动”消除。利用触发器,如D触发器,利用D触发器边沿触发的特性,在除去时钟边沿来之前一瞬间之外的绝大部分时间都不能接受输入,从而实现“消抖”。②校分时,分计数器计数不应对小时位产生影响,因而需要屏蔽此时分计数器的进位信号。③需要设计二路选择器对于正常计数以及校时进行选择。 3 整点报时模块:计时到59分50秒,每两秒一次低音报时,整点进行高音报时,将报时信号接到实验板上的扬声器输出。、 4 分频模块:通过不同进制的计数将1khz的时钟脉冲分频出不同频率的时钟脉冲,以实现系统对多频率时钟信号的需求。 5 动态显示模块:利用6个数码管,将时分秒按照高低位输出到数码管上。其中扫描频率超过人眼视觉暂留频率就可以实现六个管同时显示的视觉效果。 6 闹钟模块:需要新的计数器进行定时闹钟信号的存储,与正常计时状态实现切换,设计一个比较模块使闹钟和计时相等时,开始鸣叫,同时需要一个按键能够控制闹钟的开关。 Ⅳ.具体实现 (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 is port(clk:in std_logic; qh,ql:out std_logic_vector(3 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")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_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 is begin tc<='0' when(clk='1' and ql="0000" and qh="0110") else '1'; process(clk,clr,ql,qh) 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; end 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_vector(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="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"=>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 is when"0000"=>seg7out<="0111111"; when"0001"=>seg7out<="0000110"; when"0010"=>seg7out<="1011011"; when"0011"=>seg7out<="1001111"; when"0100"=>seg7out<="1100110"; when"0101"=>seg7out<="1101101"; when"0110"=>seg7out<="1111101"; when"0111"=>seg7out<="0000111"; when"1000"=>seg7out<="1111111"; when"1001"=>seg7out<="1101111"; when"1010"=>seg7out<="1000000"; when others=>null; END CASE; END PROCESS; END 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 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="1111111111") THEN Count <= (OTHERS =>'0'); ELSE Count <= 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.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity sel2 is port(sel:in std_logic; ip: in std_logic; a,b:out std_logic); end sel2; architecture beh of sel2 is begin process(sel) begin if(sel='0')then a<=ip; else b<=ip; end if; end process; end beh; 6.整点报时: 整点报时及闹时:模块图如图在59分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 is port(mh,ml,sh,sl:in std_logic_vector(3 downto 0); sig500,sig1k: out std_logic ); end zdbs; architecture behavior of zdbs is begin 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"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 is port(sel:in std_logic; hclo,mclo,sclo,halr,malr,salr: in std_logic_vector(7 downto 0); h,s,m:out std_logic_vector(7 downto 0)); end alarmset; architecture beh of alarmset is begin process(sel) begin if(sel='0')then h<=hclo; m<=mclo; s<=sclo; else h<=halr; m<=malr; s<="00000000"; 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 is port( h,m,halr,malr: in std_logic_vector(7 downto 0); stop:in std_logic; sig:out std_logic); end alarmcmp; architecture beh of alarmcmp is begin process(h,m,halr,malr,stop) begin if stop='0'then sig<='0'; end if; if h=halr and m=malr and stop='1' then sig<='1'; else sig<='0'; end if; end process; end beh; 9.消抖: 模块图如图。分频出的用64Hz信号对s1校时信号、s2校分信号、s3秒清零信号、s4秒清分。是由四个两级d触发器构成的,分别对输入的sa、sb、sc信号的相邻两个上升沿进行比较以确定按键的按下,从而达到消抖的目的。 Ⅴ.心得体会 通过此次课程设计,使我更加扎实的掌握了有关数字逻辑方面的知识,在设计过程中遇到了一些问题,比如在画顶层原理图时,最大的问题就是根本没有把各个模块的VHD文件以及生成的器件都全部放在顶层文件的文件夹内,还有就是程序设计的时候考虑的不够全面,没有联系着各个模式以及实验板的情况来编写程序,以至于多考虑编写了译码电路而浪费了很多时间。暴露除了我在这方面的知识有所欠缺和经验不足,实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。 课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时也给我很多新的想法,一些在课上学习不到的思路,让我感触颇深。通过这次课程设计,我掌握了关于数字钟方面的有关知识,可以独立设计一个数字钟,并且了解了它的原理。思路即出路,有什么不懂的地方要及时弄懂,世上无难事,只怕有心人。只要认真专研,动手实践,就没有弄不懂的知识。 目 录 第一章 总 论 1 第一节 项目名称及承办单位 1 第二节 研究工作的依据与范围 2 第三节 简要研究结论 3 第四节 主要经济技术指标 5 第二章 项目提出的背景及必要性 7 第一节 项目提出的背景 7 第二节 项目建设的必要性 13 第三章 市场预测与需求分析 19 第一节 车用生物燃气市场发展分析 19 第二节 有机肥市场分析 23 第四章 建设规模与产品方案 29 第一节 建设规模 29 第二节 产品方案 29 第五章 厂址选择与建设条件 31 第一节 厂址方案 31 第二节 建设条件 32 第六章 工艺技术方案 40 第一节 项目组成 40 第二节 生产技术方案 40 第三节 生产设备 53 第七章 原辅材料供应 56 第一节 原辅材料供应 56 第二节 公用设施 58 第八章 工程建设方案 59 第一节 总图运输 59 第二节 建筑结构工程 62 第三节 公用工程 70 第九章 环境保护、劳动安全卫生 75 第一节 环境保护 75 第二节 劳动安全卫生 77 第十章 节能与消防 84 第一节 节 能 84 第二节 消 防 89 第十一章 企业组织与劳动定员 92 第一节 企业组织 92 第二节 劳动定员 92 第三节 人员培训 93 第十二章 项目实施进度计划 94 第十三章 建设项目招标方案 95 第十四章 投资估算与资金筹措 97 第一节 投资估算 97 第二节 资金筹措 98 第十五章 财 务 评 价 100 第十六章 社会影响分析 105 第一节 社会效益分析 105 第二节 社会风险分析 106 12展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




江苏大学数字逻辑数字时钟.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/2335099.html