电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

基于vhdl的电子闹钟设计VIP免费

基于vhdl的电子闹钟设计_第1页
基于vhdl的电子闹钟设计_第2页
基于vhdl的电子闹钟设计_第3页
基于VHDL的数字闹钟设计摘要:随着EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制及计算机应用领域的重要性日益突出。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言VHDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑优化和仿真测试,直至实现既定的电子线路系统功能。本文介绍了基于VHDL硬件描述语言设计的多功能数字闹钟的思路和技巧。在Quartus11开发环境中编译和仿真了所设计的程序,并逐一调试验证程序的运行状况。仿真和验证的结果表明,该设计方法切实可行,该数字闹钟可以实现调时定时闹钟播放音乐功能具有一定的实际应用性。关键字:闹钟FPGAVHDLQuartusII一、电子钟相关功能描述如下:(1)计时功能:这是本计时器设计的基本功能,可进行时、分、秒计时,并显示。(2)闹钟功能:如果当前时间与设置的闹钟时间相同,则扬声器发出一段音乐,并维持一分钟。(3)调时调分调闹钟功能:当需要校时或者要重新设置闹钟的时间时,可通过实验箱上的按键控制。二、设计原理:数字闹钟电路的基本结构由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计时,当计时到23时59分59秒时,再来一个计数脉冲,则计数器清零,重新开始计时。秒计数器的计数时钟CLK为1Hz的标准信号。当数字闹钟处于计时状态时,秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数信号时、分、秒的计时结果通过6个数码管来动态显示。数字闹钟除了能够正常计时外,还应能够对时间进行调整。因此,通过模式选择信号KEY1、KEY2控制数字钟的工作状态,即控制数字钟,使其分别工作于正常计时,调整分、时和设定闹钟分、时5个状态。当数字闹钟处于计时状态时,3个计数器允许计数,且秒、分、时计数器的计数时钟信号分别为CLK,秒的进位,分的进位;当数字闹钟处于调整时间状态时,被调的分或时会一秒一秒地增加;当数字钟处于闹钟定时状态时,可以设定小时和分;当计时到所设定的时刻时,speak将会被赋予梁祝音乐信号用于驱动扬声器,持续1分钟。三、实验代码:1)顶层文件:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYclockISPORT(CLK12MHZ:INSTD_LOGIC;CLK8HZ:INSTD_LOGIC;SPKOUT:OUTSTD_LOGIC;CLK:INSTD_LOGIC;KEY1:INSTD_LOGIC;KEY2:INSTD_LOGIC_VECTOR(1DOWNTO0);H1,H2,M1,M2,S1,S2:OUTSTD_LOGIC_VECTOR(3DOWNTO0));END;ARCHITECTUREoneOFclockISCOMPONENTshizhongPORT(clk:instd_logic;md1:instd_logic;md2:instd_logic_vector(1downto0);clken:outstd_logic;h1,h2,m1,m2,s1,s2:outstd_logic_vector(3downto0));ENDCOMPONENT;COMPONENTNoteTabsPORT(clk:INSTD_LOGIC;ToneIndex:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDCOMPONENT;COMPONENTToneTabaPORT(Index:INSTD_LOGIC_VECTOR(3DOWNTO0);Tone:OUTSTD_LOGIC_VECTOR(10DOWNTO0);en:instd_logic);ENDCOMPONENT;COMPONENTSpeakeraPORT(clk:INSTD_LOGIC;Tone:INSTD_LOGIC_VECTOR(10DOWNTO0);SpkS:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALTone:STD_LOGIC_VECTOR(10DOWNTO0);SIGNALToneIndex:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALclken:STD_LOGIC;SIGNALen:STD_LOGIC;BEGINu1:ShizhongPORTMAP(clk=>CLK,md1=>KEY1,md2=>KEY2,clken=>en,h1=>h1,h2=>h2,m1=>m1,m2=>m2,s1=>s1,s2=>s2);u2:NoteTabsPORTMAP(clk=>CLK8HZ,ToneIndex=>ToneIndex);u3:ToneTabaPORTMAP(Index=>ToneIndex,Tone=>Tone,en=>en);u4:SpeakeraPORTMAP(clk=>CLK12MHZ,Tone=>Tone,SpkS=>SPKOUT);END;2)时钟控制模块:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityshizhongisport(clk:instd_logic;md1:instd_logic;md2:instd_logic_vector(1downto0);clken:outstd_logic;h1,h2,m1,m2,s1,s2:outstd_logic_vector(3downto0));endshizhong;architectureoneofshizhongissignalhou1:std_logic_vector(3downto0);signalhou2:std_logic_vector(3downto0);signalmin1:std_logic_vector(3downto0);signalmin2:std_logic_vector(3downto0);signalseth1:std_logic_...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部