分享
分享赚钱 收藏 举报 版权申诉 / 17

类型多功能数字钟.doc

  • 上传人:kpmy5893
  • 文档编号:8273603
  • 上传时间:2019-06-17
  • 格式:DOC
  • 页数:17
  • 大小:1.37MB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    多功能数字钟.doc
    资源描述:

    1、河南科技大学课 程 设 计 说 明 书课程名称 EDA 课程设计 题 目 多功能数字钟设计 学 院 电子信息工程学院班 级 电信科 081 学生姓名 邢 中 普 指导教师 张 雷 鸣 日 期 2011 年 9 月 19 日 课程设计任务书课程设计名称 EDA 课程设计 学生姓名 邢中普 专业班级 电信科 081 设计题目 多功能数字钟设计 一、 课程设计目的1、综合运用 EDA 技术,独立完成一个课题的设计,考察运用所学知识,解决实际问题的能力;2、结合理论知识,考察阅读参考资料、文献、手册的能力;3、进一步熟悉 EDA 技术的开发流程,掌握文件编辑、编译、仿真、下载验证等环节的实现方法和应用

    2、技巧;4、锻炼撰写研究报告、研究论文的能力;5、通过本实践环节,培养科学和严谨的工作作风。二、 设计内容、技术条件和要求l、能进行正常的时、分、秒计时功能,分别由 6 个数码显示 24 小时、60 分钟的计数器显示。2、能利用实验系统上的按钮实现“校时” 、 “校分”功能;(1)按下“SA”键时,计时器迅速递增,并按 24 小时循环;(2)按下“SB”键时,计时器迅速递增,并按 59 分钟循环, 并向“时”进位;(3)按下“SC”键时,秒清零;抖动的,必须对其消抖处理。3、能利用扬声器做整点报时:(1)当计时到达 5950”时开始报时,频率可为 500Hz;计满 23 小时后回零;计满59 分

    3、钟后回零。 (2)到达 5959”时为最后一声整点报时,整点报时的频率可定为 lKHz。4 定时闹钟功能5、用层次化设计方法设计该电路,用硬件描述语言编写各个功能模块。6、报时功能。报时功能用功能仿真的仿真验证,可通过观察有关波形确认电路设计是否正确。三、 时间进度安排1 周:(1) 完成设计准备,确定实施方案;(2) 完成电路文件的输入和编译;(4) 完成功能仿真。2 周:(1) 完成文件至器件的下载,并进行硬件验证;(2) 撰写设计说明书。四、 主要参考文献(1)谭会生、瞿遂春, EDA 技术综合应用实例与分析 ,西安电子科技大学出版社, 2004(2)曹昕燕、周凤臣等, EDA 技术实验

    4、与课程设计 ,清华大学出版社, 2006指导教师签字: 2011 年 9 月 19 日一、实验原理 :用层次化设计的方法以 VHDL 语言编程实现以下功能:【1】 具有“时” 、 “分” 、 “秒”计时功能;时为 24 进制,分和秒都为 60 进制。【2】 具有消抖功能:手工按下键盘到是否这个过程大概 50ms 左右,在按下开始到弹簧片稳,定接触这段时间为 5-10ms,从释放到弹片完全分开也是 5-10ms,在达到稳定接触和完全分开的微观过程中,电平是时高时低的,因此如果在首次检测到键盘按下时延时 10ms 再检测就不会检测到抖动的毛刺电平了。64Hz 的信号周期为15.6ms,正适合做消抖

    5、信号。【3】 具有校时和清零功能,能够用 4Hz 脉冲对“小时” 和“分”进行调整,并可进行秒零;【4】 具有整点报时功能。在 59 分 51 秒、53 秒、55 秒、57 秒发出低音 512Hz 信号,在59 分 59 秒发出一次高音 1024Hz 信号,音响持续 1 秒钟,在 1024Hz 音响结束时刻为整点。【5】 具有一键设定闹铃及正常计时与闹铃时间的显示转换。闹时时间为一分钟。二、程序流程:1、秒计数器模块设计:模块图如图 1。六十进制带进位计数器,可清零,clk 输入信号为 1Hz 脉冲,当 q0 计满 9后 q1 增加 1,当 q0 满 9 且 q1 记满 5,q1、q0 同时归

    6、零,co 输出为高电平。q1 为十位 q0为个位。图 1程序如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity c60 isPort ( clk,clr : in std_logic;co :out std_logic;q1,q0 : out std_logic_vector(3 downto 0); end c60;architecture one of c60 is begin process (clk,clr) var

    7、iable cq1,cq0:std_logic_vector(3 downto 0); begin if clr=1 then cq1:=(others=0);cq0:=(others=0); elsif (clkevent and clk=1) then if cq00); elsif cq1=5 and cq0=9 then co0); cq0:=(others=0); else co0);cq0:=(others=0); elsif (clkevent and clk=1) then if cq00); elsif cq1=5 and cq0=9 then co0); cq0:=(oth

    8、ers=0); else co=7 then c64=127 then c4=511 then c1=0;a=not a;else c1=c1+1;end if; end if; end process; clk_512=q512; clk_1=a; clk_4=b; clk_64=c; end one;仿真波形如下图 8:图 85、消抖:模块图如图 9。分频出的用 64Hz 信号对 sa 校时信号、sb 校分信号、sc 秒清零信号、sd 闹时设置信号进行防抖动处理。是由四个两级 d 触发器构成的,分别对输入的sa、sb、sc、sd信号的相邻两个上升沿进行比较以确定按键的按下,从而达到消抖的目

    9、的。图 9程序如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity xd isPort ( clk_64 : in std_logic;hj,mj,sclr,sdo :out std_logic;sa,sb,sc,sd : in std_logic); end xd;architecture one of xd is begin process(clk_64) variable sa_n,sa_p,sb_n,sd_n,sb_p

    10、,sc_n,sc_p,sd_p:std_logic; begin if clk_64event and clk_64=1 then sa_p:=sa_n;sa_n:=sa; sb_p:=sb_n;sb_n:=sb; sc_p:=sc_n;sc_n:=sc; sd_p:=sd_n;sd_n:=sd; if sa_p= sa_n then hj=sa;end if; if sb_p= sb_n then mj=sb;end if; if sc_p= sc_n then sclr=sc;end if; if sd_p= sd_n then sdo=sd;end if; end if; end pro

    11、cess; end one;仿真波形如下图 10:图 106、闹钟时间的设定:模块图如图 11。一键设定闹铃时间,内部由四个 d 触发器构成。当确定 sd 键按下时,将当前时间的小时和分的个位十位分别存入四个 d 触发器内,作为闹时时间。图 11程序如下library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity df4 isPort ( sd :in std_logic;hh,hl,mh,ml : in std_logic_vector(

    12、3 downto 0);hh_o,hl_o,mh_o,ml_o: out std_logic_vector(3 downto 0);end df4;architecture one of df4 is begin process (sd,hh,hl,mh,ml) begin if sd=1 then hh_o=hh;hl_o=hl;mh_o=mh;ml_o=ml;end if; end process; end one; 仿真波形如下图 12:图 127、二选一电路(1)一位二选一:模块图如图 13。用以进行正常计时和校时/分的选择。alarm 为经过消抖的校时/分信号。当按键未曾按下时,即校

    13、时/分信号没有到来时,二选一选择器会选择输出 a(正常计时输入)信号,否则当 alarm 按键按下时输出 y 为校时/分输入信号4Hz。图 13程序如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity xuan21 isPort ( alarm,a,b: in std_logic;y:out std_logic);end xuan21 ;architecture one of xuan21 is begin process(a

    14、larm,a,b) begin if alarm=0 then y=a;else y=b; end if; end process; end one;仿真波形如下图 14:图 14(2)三位二选一:模块图如图 15。用以进行正常计时时间与闹铃时间显示的选择,alarm 输入为按键。当alarm 按键未曾按下时二选一选择器会选择输出显示正常的计时结果,否则当 alarm 按键按下时选择器将选择输出显示闹铃时间显示。图 15程序如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_

    15、LOGIC_UNSIGNED.ALL;entity x213 isPort ( alarm : in std_logic;y:out std_logic_vector(3 downto 0);a,b: in std_logic_vector(3 downto 0); end x213;architecture one of x213 is begin process(alarm,a,b) begin if alarm=0 then y=a;else y=b; end if; end process; end one;仿真结果如下图 16:图 168、整点报时及闹时:模块图如图 17。在 59

    16、分 51 秒、53 秒、55 秒、57 秒给扬声器赋以低音 512Hz 信号,在 59分 59 秒给扬声器赋以高音 1024Hz 信号,音响持续 1 秒钟 ,在 1024Hz 音响结束时刻为整点。当系统时间与闹铃时间相同时给扬声器赋以高音 1024Hz 信号。闹时时间为一分钟。图 17程序如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity voice isPort ( hou1,huo0,min1,min0,sec1,sec

    17、0,hh,hl,mh,ml: std_logic_vector(3 downto 0);in_1000,in_500:in std_logic;q : out std_logic); end voice;architecture one of voice is begin process(min1,min0,sec1,sec0) begin if min1=“0101“ and min0=“1001“ and sec1=“0101“ then if sec0=“0001“ or sec0=“0011“ or sec0=“0101“ or sec0=“0111“ then q=in_500; e

    18、lsif sec1=“0101“ and sec0=“1001“ then q=in_1000; else q=0; end if; else q=0; end if; if min1=mh and min0=ml and hou1=hh and huo0=hl then q=in_1000; end if; end process; end one;仿真波形如下图 18图 189、顶层原理图:三、课程设计感想由于一直忙于单片机的学习,渐渐对 VHDL 语言有了些陌生,所以当看到题目时,一时间不知从何处下手,但后来发现系统的构思与单片机差不多,所以就按照 C 语言的思路,参照书本例程,整理 V

    19、HDL 语言的系统用法,不多久,对 VHDL 语言开始渐渐能够熟练应用起来。紧接着就是开始编写本课程设计多功能数字钟程序,按照功能分别编写,然后模块化,最终通过调用进行汇总。虽然在编写程序方面比较顺利,但在关键的波形仿真方面却出了些困难,在分频模块中,设定输入的时钟信号后,却只有二分频的结果,其余三个分频始终没反应。后来,在数十次的调试之后,才发现是因为规定的信号量范围太大且信号的初始值随机,从而不能得到所要的结果。总而言之,通过本次课程设计,对 VHDL语言又变得熟悉,且更加熟练,得到了的一些教训也不失为一些经验。四、参考资:1、谭会生、瞿遂春, EDA 技术综合应用实例与分析 ,西安电子科技大学出版社, 20042、曹昕燕、周凤臣等, EDA 技术实验与课程设计 ,清华大学出版社, 20063、潘松、黄继业, EDA 技术实用教程 ,科学出版社, 20064、侯伯亨,刘凯,顾新, VHDL 硬件描述语言与数字逻辑电路设计 ,西安电子科技大学出版社,1997

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:多功能数字钟.doc
    链接地址:https://www.docduoduo.com/p-8273603.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开