数字电子时钟逻辑电路设计.docx

上传人:b****2 文档编号:801066 上传时间:2023-04-30 格式:DOCX 页数:14 大小:114.76KB
下载 相关 举报
数字电子时钟逻辑电路设计.docx_第1页
第1页 / 共14页
数字电子时钟逻辑电路设计.docx_第2页
第2页 / 共14页
数字电子时钟逻辑电路设计.docx_第3页
第3页 / 共14页
数字电子时钟逻辑电路设计.docx_第4页
第4页 / 共14页
数字电子时钟逻辑电路设计.docx_第5页
第5页 / 共14页
数字电子时钟逻辑电路设计.docx_第6页
第6页 / 共14页
数字电子时钟逻辑电路设计.docx_第7页
第7页 / 共14页
数字电子时钟逻辑电路设计.docx_第8页
第8页 / 共14页
数字电子时钟逻辑电路设计.docx_第9页
第9页 / 共14页
数字电子时钟逻辑电路设计.docx_第10页
第10页 / 共14页
数字电子时钟逻辑电路设计.docx_第11页
第11页 / 共14页
数字电子时钟逻辑电路设计.docx_第12页
第12页 / 共14页
数字电子时钟逻辑电路设计.docx_第13页
第13页 / 共14页
数字电子时钟逻辑电路设计.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字电子时钟逻辑电路设计.docx

《数字电子时钟逻辑电路设计.docx》由会员分享,可在线阅读,更多相关《数字电子时钟逻辑电路设计.docx(14页珍藏版)》请在冰点文库上搜索。

数字电子时钟逻辑电路设计.docx

数字电子时钟逻辑电路设计

《数字逻辑》

课程设计报告

 

设计题目:

数字电子钟

组员:

黄土标黄维超蔡荣达孙清玉

指导老师:

麦山

日期:

2013/12/27

 

实习题目

指导教师

职称

学生姓名

学号

日期

摘要数字电子钟是一种用数字显示秒、分、时的计时装置,本次数字时钟电路设计采用GAL系列芯片来分别实现时、分、秒的24进制和60进制的循环电路,并支持手动清零和校正的功能。

关键词数字电子钟;计数器;GAL;4040芯片;M74LS125AP三态门

1设计任务及其工作原理

设计任务

设计一台能显示时,分,秒的数字电子钟。

技术要求:

(1)秒、分为00~59六十进制计数器。

(2)时为00~23二十四进制计数器。

(3)可手动校正:

能分别进行秒、分、时的校正。

只要将开关置于手动位置,可分别对秒、分、时进行手动脉冲输入调整或连续脉冲输入校正。

并且可以手动按下脉冲进行清零。

工作原理

本数字电子钟的设计是根据时、分、秒各个部分的的功能的不同,分别用GAL16V8D设计成六十进制计数器和用GAL22V10。

秒的个位,设计成十进制计数器,十位设计成六进制进制计数器(计数从00到59时清零并向前进位)。

分部分的设计与秒部分的设计完全相同;时的个位,设计成二进制计数器,十位设计为四进制计数器,当时钟计数到23时59分59秒时,使计数器的小时部分清零,进而实现整体循环计时的功能。

2电路的组成

计数器部分:

利用GAL16V8D和GAL22V10芯片分别组成二十四进制计数器和六十进制计数器,它们采用同步连接,利用外接标准脉冲信号进行计数。

显示部分:

将三片GAL芯片对应的引脚分别接到实验箱上的七段共阴数码显示管上,根据脉冲的个数显示时间。

分频器:

由于实验箱上提供的时钟脉冲的时间间隔太小,所以使用GAL16V8D和GAL16V8D、4040芯片和M74LS125AP三态门芯片设计一个分频器,使连续输出脉冲信号时间间隔为

3设计步骤及方法

分和秒部分的设计:

分和秒部分的设计是采用GAL16V8D芯片来设计的60进制计数器,具体设计如图1示:

图1分和秒部分设计图

秒部分的设计是秒的个位部分为逢十进一,十位部分为逢六进一,从而共同完成从00-59的六十进制计数器。

当计数到59时清零并重新开始计数。

小时的设计:

具体设计如图2示:

图2小时部分设计图

小时部分的设计是二十四进制的计数器,由00到23的二十四进制循环计数。

分频器的设计

分频器的设计原理是通过计数器把时钟源脉冲的频率降低。

因T=1/f,f=

要使T=,则有f=2

所以/X=2,得X=50000

所以得做一个模为50000的计数器,这里用GAL16V8D、4040和M74LS125AP三态门来构建。

图3分频器设计图

6电路总体说明:

正常显示:

首先手动按下脉冲,进行手动清零。

然后在外接分频器的作用下,将开关1打开,秒加法计数器开始记数,通过七段数码显示管显示秒的数字。

当经过60个脉冲信号后,秒计数器完成一次循环。

当秒计数器的由59变为00时,co由低电平跳到高电平,致使分加法计数器的cen使能端有效,分加法计数器加一,完成秒向分的进位。

分进时和秒进分的原理一样。

手动清零:

按下脉冲。

手动校正:

原理如下表:

cenadj状态

1X计数

00保持

01校正(不进位)

电路图总体设计如图3所示:

7设计所用器材

六十进制计数器GAL16V8D、GAL22V103片

2、分频器GAL16V8D、40402片

3、三态门M74LS125AP1片

8小结

通过这一周的设计学习,我感觉有很大的收获:

首先,通过这次课程设计使自己对课本上的知识可以应用于实际,使理论与实际相结合,加深自己对课本知识的更好理解,同时也段练了我个人的动手能力,充分利用图书馆网络去查阅资料,增加了许多课本以外的知识。

更加了解了时序逻辑电路的设计步骤及方法,对时序逻辑电路的触发方式的理解更加深刻即同步连接方式和异步连接方式的了解。

掌握了abel-hdl语言以及ispEXPERT的使用以及对GAL系列芯片的设计方法有进一步的了解,和4040、M74LS125AP三态门芯片引脚结构和功能的理解及运用。

其次就是考虑问题要周全,即使是一开始认为对的东西,也要用怀疑的心态来看待它,这样才能发现问题,从而解决问题。

在这个过程中,锻炼了我的细心和耐性。

通过本次实验充分体现了我们的团结,细心和耐性。

在课程设计过程中得到了麦山老师的精心指导,解决了课程设计中的很多疑难,再次对老师表示衷心的感谢!

附录一

三态门,是在一般的逻辑门输出除有高、低电平两种状态外,还有第三种状态——高阻状态的门电路。

在高阻态时,输入输出相互隔断,输出端处于悬空状态(高阻态),这里输出端电位取决于各它相连接的外电路。

三态门都有一个EN控制使能端,来控制门电路的通断。

因此利用三态门可心方便地将输出端连接到总线。

如果你的多个设备端口要挂在一个总线上,必须通过三态缓冲器。

因为在一个总线上同时只能有一个端口作输出,这时其他端口必须在高阻态,同时可以输入这个输出端口的数据.所以你还需要有总线控制管理,访问到哪个端口,那个端口的三态缓冲器才可以转入输出状态.这是典型的三态门应用,如果在线上没有两个以上的输出设备,当然用不到三态门,而线或逻辑又另当别论了

附录二

秒计数器的代码:

MODULESEC

TITLE'SEC'

declarations

clockPIN1;

cenPIN2;

adjPIN3;q4PIN18..16istype'reg';

q3..q0PIN15..12istype'reg';

D1=[q6..q4];

D0=[q3..q0];

equations

=clock;

=clock;

WHENCETHEN

{D1:

=0;D0:

=0;}

ELSE

{

WHEN!

cenTHEN

{

when!

adjthen

{

D1:

=D1;D0:

=D0;

}

else

{

WHEN(D0==9)THEN

{

D0:

=0;

WHEN(D1==5)THEN{D1:

=0;}

ELSED1:

=D1+1;

}

ELSE

{D0:

=D0+1;D1:

=D1;}

}

}

ELSE

{

WHEN(D0==8)&(D1==5)THEN

{

co:

=1;

}

WHEN(D0==9)THEN

{

D0:

=0;

WHEN(D1==5)THEN{D1:

=0;}

ELSED1:

=D1+1;

}

ELSE

{D0:

=D0+1;D1:

=D1;}

}

}

END

分计数器的代码:

MODULEmin

TITLE'min'

declarations

clockPIN1;

cenPIN2;

adjPIN3;

q6..q4PIN18..16istype'reg';

q3..q0PIN15..12istype'reg';

coPIN19istype'reg';

D1=[q6..q4];

D0=[q3..q0];

equations

=clock;

=clock;

WHEN!

cenTHEN

{

when!

adjthen

{

D1:

=D1;D0:

=D0;

}

else

{

WHEN(D0==9)THEN

{

D0:

=0;

WHEN(D1==5)THEN

{

co:

=0;D1:

=0;

}

ELSED1:

=D1+1;

}

ELSE

{

D0:

=D0+1;

D1:

=D1;

}

}

}

ELSE

{

when(adj#!

adj)then

{

WHEN(D0==9)THEN

{

D0:

=0;

WHEN(D1==5)THEN

{

D1:

=0;

co:

=1;

}

ELSED1:

=D1+1;

}

ELSE

{D0:

=D0+1;D1:

=D1;}

}

}

END

时计数器的代码:

MODULEhou

TITLE'hou'

declarations

clockPIN1;

cenPIN2;

adjPIN3;

q6..q4PIN22..20istype'reg';

q3..q0PIN19..16istype'reg';

D1=[q6..q4];

D0=[q3..q0];

equations

=clock;

=clock;

WHEN!

cenTHEN

{

when!

adjthen

{

D1:

=D1;D0:

=D0;

}

else

{

when(D1==2)&(D0==3)then

{

D1:

=0;

D0:

=0;

}

else

{

when(D0==9)then

{

D0:

=0;

D1:

=D1+1;

}

}

}

}

ELSE

{WHEN(adj#!

adj)then{

WHEN(D1==2)&(D0==3)THEN

{

D1:

=0;

D0:

=0;

}

ELSE

{

WHEN(D0==9)THEN

{

D0:

=0;

D1:

=D1+1;

}

ELSE

{

D0:

=D0+1;

D1:

=D1;

}

}

}}

END

分频器代码:

MODULECnt_98

TITLE'mode98binarycounter'

DECLARATIONS

clockPIN1;

cenPIN2;

coPIN19;

q6..q0PIN18..12ISTYPE'REG';

D=[q6..q0];

EQUATIONS

=clock;

WHENcen&(D==97)THEND:

=0;

ELSED:

=D+1;

co=cen&(D==97);

END

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2