收藏 分享(赏)

基于VHDL的多功能数字钟设计报告.doc

上传人:精品资料 文档编号:10763154 上传时间:2020-01-08 格式:DOC 页数:14 大小:571.04KB
下载 相关 举报
基于VHDL的多功能数字钟设计报告.doc_第1页
第1页 / 共14页
基于VHDL的多功能数字钟设计报告.doc_第2页
第2页 / 共14页
基于VHDL的多功能数字钟设计报告.doc_第3页
第3页 / 共14页
基于VHDL的多功能数字钟设计报告.doc_第4页
第4页 / 共14页
基于VHDL的多功能数字钟设计报告.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、基于 VHDL 的多功能数字钟设计报告021215 班卫时章02121451一、设计要求1、具有以二十四小时制计时、显示、整点报时、时间设置和闹钟的功能。2、设计精度要求为 1 秒。二、设计环境:Quartus II 三、系统功能描述1、系统输入:时钟信号 clk 采用 50MHz;系统状态及较时、定时转换的控制信号为 k、set,校时复位信号为 reset,均由按键信号产生。2、系统输出:LED 显示输出;蜂鸣器声音信号输出。3、多功能数字电子钟系统功能的具体描述如下:(一)计时:正常工作状态下,每日按 24h 计时制计时并显示,蜂鸣器无声,逢整点报时。(二)校时:在计时显示状态下,按下“k

2、”键,进入“小时”待校准状态,若此时按下“set”键,小时开始校准;之后按下“k ”键则进入“分”待校准状态;继续按下“k”键则进入“秒”待复零状态;再次按下“k”键数码管显示闹钟时间,并进入闹钟“小时”待校准状态;再次按下“k”键则进入闹钟“分”待校准状态;若再按下“k”键恢复到正常计时显示状态。若校时过程中按下“reset”键,则系统恢复到正常计数状态。(1) “小时”校准状态:在“小时”校准状态下,显示“小时”的数码管以2Hz 闪烁,并按下 “set”键时以 2Hz 的频率递增计数。(2) “分”校准状态:在“分”校准状态下,显示“分”的数码管以 2Hz 闪烁,并按下“set”键时以 2

3、Hz 的频率递增计数。(3) “秒”校准状态:在“秒复零”状态下,显示“秒”的数码管以 2Hz 闪烁,并以 1Hz 的频率递增计数。(4)闹钟“小时”校准状态:在闹钟“小时”校准状态下,显示“小时”的数码管以 2Hz 闪烁,并按下“set”键时以 2Hz 的频率递增计数。(5)闹钟“分”校准状态:在闹钟“分”校准状态下,显示“分”的数码管以 2Hz 闪烁,并按下 “set”键时以 2Hz 的频率递增计数。(三)整点报时:蜂鸣器在“59”分钟的第“51” 、 “53”、 “55”、 “57”秒发频率为 500Hz 的低音,在 “59”分钟的第“59”秒发频率为 1000Hz 的高音,结束时为整点

4、。(四)显示:采用扫描显示方式驱动 4 个 LED 数码管显示小时、分,秒由两组led 灯以 4 位 BCD 码显示。(五)闹钟:闹钟定时时间到,蜂鸣器发出频率为 1000Hz 的高音,持续时间为 60 秒。四、各个模块分析说明1、分频器模块(freq.vhd)(1)模块说明:输入一个频率为 50MHz 的 CLK,利用计数器分出1KHz 的 q1KHz,500Hz 的 q500Hz,2Hz 的 q2Hz 和 1Hz 的 q1Hz。(2)源程序:library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;

5、entity freq is port (CLK: in std_logic ; -输入时钟信号q1KHz: buffer std_logic;q500Hz: buffer std_logic;q2Hz: buffer std_logic;q1Hz: out std_logic);end freq; architecture bhv of freq is beginP1KHZ:process(CLK)variable cout:integer:=0;begin if CLKevent and CLK=1 then cout:=cout+1; -每来个时钟上升沿时 cout 开始计数if cou

6、tcase min0 iswhen “0000“=MLMLMLMLMLMLMLMLMLMLNULL;end case;when “01“=case min1 iswhen “0000“=MHMHMHMHMHMHMHMHMHMHNULL;end case;when “10“=case h0 iswhen “0000“=HLHLHLHLHLHLHLHLHLHLNULL;end case;when “11“=case h1 iswhen “0000“=HHHHHHHHHHHHHHHHHHHHNULL;end case;when others =null;end case;end process p2

7、;end one;(3)模块图:5、端口设定k:button2 ,set:button1 ,reset:button0 ;Bell:SW1 用于开关蜂鸣器;六、顶层电路图7、心得体会此次的数字钟设计重在于按键的控制和各个模块代码的编写,虽然能把键盘接口和各个模块的代码编写出来,并能正常显示,但对于各个模块的优化设计还有一定的缺陷和不足,比如对按键消抖等细节处并未作出优化。经过此次数字钟的设计,我确实从中学到很多的东西。首先,通过 VHDL 硬件语言的学习,我充分认识到了功能模块如何用语言实现,让我初步了解到了一个数字电路用硬件语言设计的方式和设计思想。其次,也让我深深地体会到实践的重要性,起初我学 VHDL 语言的时候,只是学得书本上的知识,经过这次课程设计,通过对模块的语言实现,对于 VHDL 语言我有了更深的认识。而且在程序错误的发现和改正的过程中,我得到了更多的收获,也确实让我进步了不少。再次,当我遇到一些问题的时候,请教老师,和同学们一起讨论,令我受益颇多!最后,这个多功能数字电子钟是自我创造与吸取借鉴共同作用的产物,是自我努力的结果。这让我对数字电路的设计充满了信心。虽然课程设计已经结束,但这并不代表着我已经真正掌握了 VHDL 语言,仍需继续学习!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报