数电课程设计报告VHDL电子钟.doc

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数电课程设计报告VHDL电子钟

目录 一、设计要求 二、设计方案 1 设计需求 1 多功能电子钟的设计方案 1 电子钟模式 1 显示模式 1 选位模式 2 三、各功能模块设计 3 主控模块 3 主要功能 3 源代码 3 计时模块 5 主要功能 5 源代码 5 闹钟模块 8 主要功能 8 源代码 8 辅控模块 10 主要功能 11 源代码 11 显示模块 14 主要功能 14 源代码 15 蜂鸣器模块 17 主要功能 17 源代码 17 分频器模块 18 主要功能 18 源代码 18 四、设计实现过程 20 五、实验结果。讨论及心得体会 22 附录 23 各模块仿真图 23 AC 23 BCD7DIS 23 CHOSE21 23 CHOSE81 23 CLKCUT 24 COUNT24 24 COUNT60 24 KEYEN 24 MC 24 SOUND 25 SWSC 25 TRANSLATE38 25 一、设计要求 1具有以二十四小时制计时、显示、整点报时、时间设置和闹钟的功能。 2射击精度要求为1s。 二、 设计需求 1.?计时:正常工作状态下每天按24小时制计时并显示,蜂鸣器无声,逢整点报时。 2.较时:在时显示状态下,按下“k键”则进入“小时”校准状态,此时按“k键”则进入“分钟”校准状态,继续按“k键”则进入“秒钟”校准状态,再按k键”则。在较时状态时,被较准的,数码管以闪烁显示,此时进行时。 3.?整点报时:蜂鸣器在59分钟的51、53、55、57秒时发出频率为512hz的低音,在59秒时发出1024hz的高音,结束时为整点。 4.?显示:要求采用扫描显示方式驱动个LED数码管显示时秒。 5.?闹钟:闹钟定时时间到,蜂鸣器发出周期1秒的“滴、滴”声,持续时间为一分钟。 6.?闹钟设置:在时状态下,按下“k键”则进入“小时”定时状态,此时按“k键”则进入“分钟”定时状态,继续按“k键”则进入“秒钟”定时状态,再按k键”则回到状态。在定时状态时,被定时的,数码管以闪烁显示,此时进行时。 多功能电子钟的设计方案 电子钟模式 显示模式 选位模式 系统开启后,数码管正常显示。Functioswitch键按下,开始进入计时调时状态,在这个状态中,首先全部闪烁显示,K键按下,小时闪烁,K键按下,分钟闪烁,K键按下,秒钟闪烁。Functioswitch键按下,进入闹钟显示状态。Functioswitch键按下,进入闹钟调时状态,在这个状态中,首先全部闪烁显示,K键按下,小时闪烁,K键按下,分钟闪烁,K键按下,秒钟闪烁。 三、各功能模块设计 电子钟包括:主控模块,计时模块,闹钟模块,辅控模块,显示模块,蜂鸣器模块,分频器模块。 主控模块 主要功能 控制整个系统,输出现在的状态,以及按键信息。 源代码 mc.vhd library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity mc is port(functionswitch,k,set,lightkey: in std_logic; chose21,setout: out std_logic; lightswitch:buffer std_logic; modeout,kmodeout : out std_logic_vector(1 downto 0); setcs,setcm,setch,setas,setam,setah:out std_logic); end mc; architecture work of mc is signal mode,kmode:std_logic_vector(1 downto 0); signal light,chose21buf:std_logic; signal setcount:std_logic_vector(5 downto 0); begin process(functionswitch,k,set,lightkey) begin if functionswitchevent and functionswitch=1 then mode=mode+1; end if; if lightkeyevent and lightkey=1 then lightswitch=not lightswitch; end if; if mode=01 then chose21buf=0; else chose21buf=1; end if; if kevent and k=1 the

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档