基于VHDL的闹钟控制系统

时间:2022-04-29 04:32:27

基于VHDL的闹钟控制系统

摘要:VHDL语言具有与具体硬件无关和设计平台无关的特性。本文的闹钟设计与制作是基于VHDL语言,并对系统硬件设计和软件实现进行了详细的描述。

关键词:VHDL语言,数字,闹钟

中图分类号:F324.9 文献标识码:A

1概述

闹钟不仅具有数字钟的功能,还具有定时响铃的功能,是人们不可缺少的日常生活用品之一。闹钟是一个具有"时"、"分"、"秒"显示的计时装置,其周期为24小时,显示满刻度为23时59分59秒,当计时至满刻度时,系统自动清零,开始新的一天的计时。除此之外,该系统的时间可以进行调整,当闹钟计数至我们预先设定的时间时,闹钟的铃声响起,以提示人们时间到了。

2系统模块化设计

系统总体可分为五大部分:计数模块、分频模块、闹钟控制模块、数码转换模块以及扫描输出模块,如图1所示。其中计数模块包括"秒"位计数器(SECOND)、"分"位计数器(MINUTE)、"时"位计数器(HOUR);分频模块包括分频器(F),闹钟控制模块包括闹钟控制器(LINGSHENG);数码转换模块包括时位输出数码转换器(BCD_SHI)、分位输出数码转换器(BCD_FEN)、秒位数码转换器(BCD_MIAO)、七段显示码输出器(SE71)。闹钟控制系统框图如图1所示。

3源程序代码仿真

(一)、"秒"计数器(SECOUND)

该程序主要是对闹钟跳过的秒数进行计算,clk,ens为输入信号端口,cos,times为输出信号端口。ens具有清零功能,clk是脉冲信号,每增加一秒times数值就加一,当times为59时cos为1。"秒"计数器(SECOUND)对应仿真波形图如图2所示。当clk处于上升沿时,输出端口times会加1。

(二)、"分"计数器(MINUTE)

该模块的功能是实现分的计数,每当秒计数模块的cos为1时,输入端口ena就输入1,输出端口timem就加1,当timem为59时,com为1。"分"计数器对应仿真波形图如图3所示。

输入端口ena输入1,输出端口timem就加1,当timem为59时,com为1。

(三)"时"计数器(HOUR)

该模块的功能是实现时计数,输入端口com为1时,输出端口timeh就加1,当timeh为23时将恢复0并重新开始计时。"时"计数器对应仿真波形图如图4所示。clk_1hz输出用于正常的计数,clk_2输出用于七段显示数码管的动态扫描输出。

(四)分频器(F)

根据外部的输入时钟,将外部时钟分成两路信号,一路clk_1hz输出用于正常的计数,一路clk_2输出用于七段显示数码管的动态扫描输出。对应仿真波形图如图5所示。输入端口com为1时,输出端口timeh就加1,当timeh为23时将恢复0并重新开始计时。

(五)闹钟控制器(LINGSHENG)

该模块的功能是当输入端off为1时开启闹铃功能,当时钟的实际时间与设定的时间相等时闹钟铃声响起;当输入端off为0时关闭闹铃功能。闹钟控制器对应仿真波形图如图6所示。当输入端off为1时开启闹铃功能,当时钟的实际时间与设定的时间相等时闹钟铃声响起;当输入端off为0时关闭闹铃功能。

(六)时位输出数码转换器(BCD_SHI)

该模块的功能是将输入端口intergh的二十四进制时位计数制在输出端口换为二进制形式。时位输出数码转换器,仿真波形图如图7所示。输入端口intergh的二十四进制时位计数制在输出端口换为二进制形式,当intergh为12时转换后的输出为00010010。

(七)分位输出数码转换器(BCD_FEN)

该模块的功能是将输入端口intergm的六十进制分位计数制在输出端口换为二进制形式。分位输出数码转换器(BCD_FEN)仿真波形如图8所示。输入端口intergm的六十进制时位计数在输出端口换为二进制形式,当intergm输入为9时转换后的输出为00001001。

(八)秒位数码转换器(BCD_MIAO)程序

该模块的功能是将输入端口intergs的六十进制秒位计数制在输出端口换为二进制形式。秒位数码转换器(BCD_MIAO)程序如下,仿真波形见图9所示。输入端口intergs的六十进制时位计数在输出端口换为二进制形式,当intergs输入为15时转换后的输出为00010101。

(九)、七段显示码输出器(SEG71)程序

该模块的功能是将时、分、秒的具体时间通过七段数码显示器显示出来,方便人们的日常使用。仿真波形如图10所示。当输入为0000时对应的输出为0111111,将时、分、秒的具体时间通过七段数码显示器显示。该模块的功能是检查时、分、秒的输出显示功能是否正常。

(十)、顶层文件图形

顶层文件图形如图11所示。

该顶层文件的功能是将各个模块连接在一起,用以实现闹钟的整体功能即闹钟是一个具有"时"、"分"、"秒"显示的计时装置,其周期为24小时,显示满刻度为23时59分59秒,当计时至满刻度时,系统自动清0,开始新的一天的计时。除此之外,该系统的时间可以进行调整,当闹钟计数至我们预先设定的时间时,闹钟的铃声响起,以提示人们时间到了。

结语

此次设计主要是以闹钟控制系统为目标,利用VHDL语言以及MAX+PLUSⅡ软件,实现其计数、分频、闹钟控制、数码转换以及扫描输出等功能。

参考文献

[1]孙津平.数字电子技术[M].西安:西安电子科技大学出版社.2005

[2]王慧玲.电路基础[M].北京:北京高等教育出版社.2004

[3]王振红.VHDL数字电路设计与应用实践教程[M].北京:北京机械工业出版社.2003

[4]焦素敏.EDA应用技术[M].北京:北京清华大学出版社.2006

[5]刘昌华.数字逻辑EDA设计与实践[M]. 北京:北京国防工业出版社.2005

上一篇:旅行即良药 下一篇:百菌清晶体太赫兹光谱理论模拟分析