数字逻辑电路实验报告.pdf
《数字逻辑电路实验报告.pdf》由会员分享,可在线阅读,更多相关《数字逻辑电路实验报告.pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 学院:计算机科学与通信工程 专业:姓名:学号:指导老师:数字逻辑电路设计 -多功能数字钟 实用文档.多功能数字钟 一、设计任务及要求(1)拥有正常的时、分、秒计时功能。(2)能利用实验板上的按键实现校时、校分及清零功能。(3)能利用实验板上的扬声器做整点报时。(4)闹钟功能(5)在 MAXPLUS II 中采用层次化设计方法进行设计。(6)在完成全部电路设计后在实验板上下载,验证设计课题的正确性。二、多功能数字钟的总体设计和顶层原理图 作为根据总体设计框图,可以将整个系统分为六个模块来实现,分别是计时模块、校时模块、整点报时模块、分频模块、动态显示模块及闹钟模块。实用文档.(1)计时模块 该
2、模块使用 74LS160 构成的一个二十四进制和两个六十进制计数器级联,构成数字钟的基本框架。二十四进制计数器用于计时,六十进制计数器用于计分和秒。只要给秒计数器一个 1HZ 的时钟脉冲,则可以进行正常计时。分计数器以秒计数器的进位作为计数脉冲。用两个 74160 连成 24 进制的计数器,原图及生成的器件如下:生成的二十四进制计数器 注:利用使能端,时钟信号,清零以及预置数功能连成 24 进制。实用文档.用两个 74160 连成的 60 进制计数器,原图及生成的器件如下:(2)校时模块 校时模块设计要求实现校时,校分以及清零功能。*按下校时键,小时计数器迅速递增以调至所需要的小时位。*按下校
3、分键,分计数器迅速递增以调至所需要的分位。*按下清零键,将秒计数器清零。注意事项:在校分时,分计数器的计数不应对小时位产生影响,因而需要屏蔽此时分计数器的进位信号以防止小时计数器计数。利用 D 触发器进行按键抖动的消除,因为 D 触发器是边沿触发,在除去时钟边沿到来前一瞬间之外的绝大部分时间都不接受输入,生成的六十进制计数器 实用文档.可以消除抖动。计时采用 1HZ 的脉冲驱动计数器计数,而校时则需要较高频率的信号驱动以达到快速校时的目的。因此这两种脉冲信号就需要两路选择器进行选择,条件即为是否按键。注:D 触发器用于按键的消抖,接更高的频率用于校时和校分,二路选择器用于区分是正常计时还是校时
4、。(3)整点报时模块 计时到 59 分 50 秒时,每两秒一次低音报时,整点时进行高音报时。以不同频率的脉冲信号区分低音和高音报时。报时的条件是计数器计数至所需要的时间点,因而需要一个比较模块,将分计数器和秒计数器的输出连至比较模块输入端完成比较过程。注:F1 表示计数器分的高位,F0 表示分的低位;M1 表示秒的高位,M0 表示秒的低位。当时间为 59 分 00,02,04,06,08 进行低音报时,当为整点时进行高音报时。SIGA 为 1 时低音报时,SIGB 为 1 时高音报时。实用文档.(4)分频模块 在这个系统中需要很多种不同频率的脉冲信号,这些均可以通过一个基准频率分频器生成。分频
5、器就是一个进制很大的计数器,利用计数器的分频功能,从不同的输出位得到所需要的脉冲信号。(4)动态显示模块 在 6 个不同的时间段分别将每组时间经过七段译码后输出到 6 个数码管,当某一组时间的七段码到达时,只点亮对应位置上的数码管,显示相应的数字,6 次一个循环,形成一个扫描序列。利用人眼的视觉暂留则可以同步显示 6 个数字。注:CLK 为时钟信号,S 为计数器的小时,F 为分,M 为秒,SELOUT为六路选择器,选择哪个数码管工作,SEGOUT 为七段译码器,使数码管显示数字。(6)闹钟模块 注意事项:设定的闹钟的时间应使用新的计数器进行存储,与正常的计时互不干扰。生成的分频器 注:由于 c
6、lk 的频率为 1024hz,所以可以定义一个 std_logic_vector(9 downto 0),使它不停地从 0000000000 加到 1111111111 然后又返回0000000000,由于最低位在 clk 脉冲到来时从 0 变为 1,然后又在下一个脉冲变回 0,因此最低位的时钟周期为 clk 的时钟周期的两倍,它的频率就为clk 频率的确 1/2 即 512hz。同理,次高位的频率就为 clk 频率的 1/2*1/2=1/4,用这种方法就可以得到各种能整除 1024 的频率,从而实现分频。器件 实用文档.与正常计时状态的显示切换。可以设定一个按键,用于选择是将计时时间还是将闹
7、钟时间送至动态显示模块。应实现一个比较模块,当计时到与闹钟时间相等时,则驱动扬声器鸣叫。闹钟响声应限定在一定时间内,且在这段时间内应随时可以通过按键取消闹时状态。闹钟调时和分以及正常计时与闹钟定时之间的选择原图及生成的器件如下:实用文档.闹钟界面和正常计时界面的转换器件如下:注:S 表示计时器的时,F 表示计时器的分,M 表示计数器的秒;SS 表示闹钟的时,FF 表示闹钟的分;Q 为计时和闹钟两个界面的切换开关,ABC 为输出的时间。正常计时时间和设定闹钟时间的比较器件如下:注:S 表示正常计时的小时,F 表示闹钟的分;SS 表示闹钟的小时,FF 表示闹钟的分;Q 为闹钟的开关,D 当 Q 为
8、 1 时,并且正常计时的时间和闹钟时间 相等时输出为 1,否则为 0。三、心得和体会 经过一个星期对数字时钟实践的制作,从中学到了很多。首先是对 EDA的 VHDL 语言的更深层次认识,本来觉得 EDA 编程语言比较麻烦,可是接触了以后也就觉得它还是有它方便的地方,尤其是和图形编程结合的特注:输入端 CLK 为时钟信号,SD 清零,NAOZHONG 是使计数器正常计时和闹钟定时界面的切换,SE 调闹钟的小时,SD调闹钟的分,输出端即为闹钟的小时和分。实用文档.点。其次,这个实践其实到目前为止应该还不是一个成功的作品,还是有很多的仿真没有完成,原因可能也是自己的技术不到位。但是整个制作的过程中,
9、它促进了同学之间的相互沟通,也让我在自己的专业知识的学习过程中,更多的,更好的学习一门知识,用于以后的实践应用中,做这个数字钟的设计中包含了很多不同功能的程序,让我在其中学到了一些程序的中的思路,特别一步一步去把错误的程序改正确是一种很有成就感的事!这样让我学到了更多的知识!特别是在做数字时钟闹钟的那个模块时,我在网上查了好多程序,证实了好多错误的程序并从中更改出正确的程序!相信,现在只是一个起步,以后,我会更好的努力,学习,对 EDA 孰能生巧。附录:用 VHDL 语言写的六十进制计数器如下:library ieee;use ieee.std_logic_1164.all;use ieee.
10、std_logic_unsigned.all;entity cnt60_06 is port(clk:in std_logic;clear:in std_logic;c:out std_logic;k1,k0:out std_logic_vector(3 downto 0);end cnt60_06;architecture cnt of cnt60_06 is signal q1,q0:std_logic_vector(3 downto 0);begin process(clk,clear)begin if(clear=1)then q1=0000;q0=0000;c=0;else if(c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 逻辑电路 实验 报告
限制150内