人人范文网 范文大全

数字逻辑电路实验报告

发布时间:2020-03-02 02:58:24 来源:范文大全 收藏本文 下载本文 手机版

数字逻辑电路设计

--多功能数字钟

学院:计算机科学与通信工程 专业: 姓名: 学号:

指导老师:

江苏大学计算机10 数字逻辑电路设计报告

多功能数字钟

一、设计任务及要求

(1)拥有正常的时、分、秒计时功能。

(2)能利用实验板上的按键实现校时、校分及清零功能。 (3)能利用实验板上的扬声器做整点报时。 (4)闹钟功能

(5)在MAXPLUS II 中采用层次化设计方法进行设计。

(6)在完成全部电路设计后在实验板上下载,验证设计课题的正确性。

二、多功能数字钟的总体设计和顶层原理图

作为根据总体设计框图,可以将整个系统分为六个模块来实现,分别是计时模块、校时模块、整点报时模块、分频模块、动态显示模块及闹钟模块。

江苏大学计算机10 数字逻辑电路设计报告

(1)计时模块

该模块使用74LS160构成的一个二十四进制和两个六十进制计数器级联,构成数字钟的基本框架。二十四进制计数器用于计时,六十进制计数器用于计分和秒。只要给秒计数器一个1HZ的时钟脉冲,则可以进行正常计时。分计数器以秒计数器的进位作为计数脉冲。

用两个74160连成24进制的计数器,原图及生成的器件如下:

- 3

江苏大学计算机10 数字逻辑电路设计报告

(2)校时模块

校时模块设计要求实现校时,校分以及清零功能。

*按下校时键,小时计数器迅速递增以调至所需要的小时位。 *按下校分键,分计数器迅速递增以调至所需要的分位。 *按下清零键,将秒计数器清零。

注意事项:① 在校分时,分计数器的计数不应对小时位产生影响,因而需要屏蔽此时分计数器的进位信号以防止小时计数器计数。

② 利用D触发器进行按键抖动的消除 ,因为D触发器是边沿触发,在除去时钟边沿到来前一瞬间之外的绝大部分时间都不接受输入,可以消除抖动。

③ 计时采用1HZ的脉冲驱动计数器计数,而校时则需要较高频率的信号驱动以达到快速校时的目的。因此这两种脉冲信号就需要两路选择器进行选择,条件即为是否按键。

注:D触发器用于按键的消抖,接更高的频率用于校时和校分,二路选择器用于区分是正常计时还是校时。

- 5

江苏大学计算机10 数字逻辑电路设计报告

数字,6次一个循环,形成一个扫描序列。利用人眼的视觉暂留则可以同步显示6个数字。

注:

CLK为时钟信号,S为计数器的小时,F为分,M为秒,SELOUT为六路选择器,选择哪个数码管工作,SEGOUT为七段译码器,使数码管显示数字。

器件 (6)闹钟模块

注意事项:① 设定的闹钟的时间应使用新的计数器进行存储,与正常的计时互不干扰。

② 与正常计时状态的显示切换。可以设定一个按键,用于选择是将计时时间还是将闹钟时间送至动态显示模块。

③ 应实现一个比较模块,当计时到与闹钟时间相等时,则驱动扬声器鸣叫。

④ 闹钟响声应限定在一定时间内,且在这段时间内应随时可以通过按键取消闹时状态。

闹钟调时和分以及正常计时与闹钟定时之间的选择原图及生成的器件如下:

江苏大学计算机10 数字逻辑电路设计报告

注:

输入端CLK为时钟信号,SD清零,NAOZHONG是使计数器正常计时和闹钟定时界面的切换,SE调闹钟的小时,SD调闹钟的分,输出端即为闹钟的小时和分。

闹钟界面和正常计时界面的转换器件如下:

注:

S表示计时器的时,F表示计时器的分,M表示计数器的秒;

SS表示闹钟的时,FF表示闹钟的分;Q为计时和闹钟两个界面的切换开关,ABC为输出的时间。

正常计时时间和设定闹钟时间的比较器件如下:

注:

- 8

江苏大学计算机10 数字逻辑电路设计报告

use ieee.std_logic_1164.all; use ieee.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

proce(clk,clear)

begin

if(clear=\'1\')then

q1

else

if(clk\'event and clk=\'1\')then

if(q1=\"0101\" and q0=\"1001\")then-----到59

q1

elsif(q1

q0

elsif(q0

q0

end if;

end if;

end if;

k1

k0

end proce; end cnt;

用VHDL语言写的报时器源代码如下:

library ieee; use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; entity alert_06 is port(f1,f0,m1,m0:in std_logic_vector(3 downto 0);

siga,sigb:out std_logic);

end alert_06;

architecture a of alert_06 is begin siga

- 10

江苏大学计算机10 数字逻辑电路设计报告

port(clk:in std_logic;

s :in std_logic_vector(7 downto 0);

f :in std_logic_vector(7 downto 0);

m :in std_logic_vector(7 downto 0);

selout:out std_logic_vector(5 downto 0);

segout:out std_logic_vector(6 downto 0)

); end display_06 ;

architecture a of display_06 is signal number:std_logic_vector(3 downto 0); signal sel

:std_logic_vector(5 downto 0); signal seg

:std_logic_vector(6 downto 0); signal q

:std_logic_vector(2 downto 0); begin a:proce(clk) begin if(clk\'event and clk=\'1\')then q

when\"000\"=>selselsel

when\"011\"=>selselselsel

proce begin if sel =\"000001\"then

number

number

number

number

- 12

江苏大学计算机10 数字逻辑电路设计报告

end switch_06;

architecture a of switch_06 is begin proce(Q,s,,f,ff,m) Begin

if(Q=\'1\') then

A

else

A

end if;

end proce;

end a; 正常计时时间和设定的闹钟时间之间的比较的源代码如下:

library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity comp_06 is port( s,,f,ff:in std_logic_vector(7 downto 0); d:out std_logic; Q:in std_logic); end comp_06; architecture behavior of comp_06 is

begin proce(Q,s,,f,ff) begin if(rising_edge(Q))then if(s= and f=ff)then d

else d

数字逻辑电路实验报告

数字逻辑电路小论文

数字逻辑电路学习总结

《数字逻辑电路》课程教学大纲

第一学期数字逻辑电路期末总结

数字电子钟实验报告

数字电路设计实验报告

数字电子时钟实验报告

数字摄影测量实验报告

大连海事大学数字逻辑电路课程设计实验总结报告

数字逻辑电路实验报告
《数字逻辑电路实验报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档