当前位置:文档之家› 数字逻辑课程设计

数字逻辑课程设计

《数字逻辑课程设计》
实验报告书
专业班级计算机科学与技术074班
学号
姓名
指导教师徐国雄
安徽工业大学计算机学院
数字逻辑课程设计之数字钟
一.设计目的
1.掌握各类计数器及将它们相连的方法;
2.掌握多个数码管动态显示的原理与方法;
3.掌握用FPGA技术的层次化设计方法;
4.进一步掌握用VHDL硬件描述语言的设计思想;
5.了解有关数字系统的设计。

二.设计要求
1、显示时、分、秒的十进制数字显示,采用24小时制;
2、校时功能;
三.选用器材
EDA-V试验箱
四.原理分析和电路设计
1.时钟脉冲
时钟脉冲有EDA-V试验箱上的时钟脉冲提供,分别对计时电路和扫描
LED电路提供时钟脉冲信号。

2.计数器
计数器采用4位二进制同步加法计数器74LS161,如下图所示。

分别对秒
钟、分钟和时钟进行控制。

当74161的两个使能端输入为高电平,同时
LDN和CLRN端为高电平时,输入时钟脉冲时,计数器会在时钟脉冲上升沿的作用下进行循环加一运算,正好符合电子钟在正常计时时的工作特点;当CLRN端为低电平时,无需时钟脉冲的作用,计数器的输出将自动变为0,这就是所谓的异步清零,这个功能可以提供我们当秒钟的后半部分到达10需要返回到0时,将其置为0的功能;当CLRN端为高电平,LDN端为低电平时,在时钟脉冲的上升沿的推动下,计数器的输出将直接由输入决定,这可以满足我们设置时间的要求。

3.译码显示电路
译码显示采用自己定义的两个用AHDL语言描述的自定义元件半字节分离器和扫描显示电路驱动DELED 。

图像分别如下:
描述文件如下:
Half_byte:
SUBDESIGN half_byte
(
din[23..0]:input;
s[2..0]:input;
dout[3..0]:output;
)
begin
if s[2..0]==0 then
dout[3..0]=din[3..0];
end if;
if s[2..0]==1 then
dout[3..0]=din[7..4];
end if;
if s[2..0]==2 then
dout[3..0]=din[11..8];
end if;
if s[2..0]==3 then
dout[3..0]=din[15..12];
end if;
if s[2..0]==4 then
dout[3..0]=din[19..16];
end if;
if s[2..0]==5 then
dout[3..0]=din[23..20];
end if;
end;
DELED:
SUBDESIGN deled
(
num[3..0]:INPUT;
a,b,c,d,e,f,g:OUTPUT;
)
BEGIN
TABLE
num[3..0]=>a,b,c,d,e,f,g;
H"0" =>1,1,1,1,1,1,0;
H"1" =>0,1,1,0,0,0,0;
H"2" =>1,1,0,1,1,0,1;
H"3" =>1,1,1,1,0,0,1;
H"4" =>0,1,1,0,0,1,1;
H"5" =>1,0,1,1,0,1,1;
H"6" =>1,0,1,1,1,1,1;
H"7" =>1,1,1,0,0,0,0;
H"8" =>1,1,1,1,1,1,1;
H"9" =>1,1,1,1,0,1,1;
H"A" =>0,0,1,1,1,1,1;
H"B" =>0,0,1,1,1,1,1;
H"C" =>1,0,0,1,1,1,0;
H"D" =>0,1,1,1,1,0,1;
H"E" =>1,0,0,1,1,1,1;
H"F" =>1,0,0,0,1,1,1;
END TABLE;
END;
半字节分离器的SEL[0..24]端输入的分别是时分秒的8421码的输入端口,SE[0..2]端输入的是从一个74161输入的选择信号,依次扫描六个LED灯。

2
3
4. 校时电路
校时电路要求对几个计数器进行置数,分别对应电路的分钟和时钟进行置数。

这时需要对LDN 端输入低电平信号,同时要给CLK 端时钟脉冲信号,最后对应每个输入端口,根据预设置的时间的8421码,置入相应的二进制数即可。

5.
整机电路设计
五.总结和体会
六.参考文献
《数字逻辑》(第三版》 欧阳星明 主编 华中科技大学出版社
《数字逻辑试验指导书》 张辉宜 陆 勤 编著 安徽工业大学计算机学院。

相关主题