第一篇:数字钟课程设计心得
一、设计目的
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计与制做数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.二、设计要求
(1)设计指标
①时间以12小时为一个周期;
②显示时、分、秒;
③具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;
④计时过程具有报时功能,当时间到达整点前10秒进行蜂鸣报时;
⑤为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。
(2)设计要求
①画出电路原理图(或仿真电路图);
②元器件及参数选择;
③电路仿真与调试;
④pcb文件生成与打印输出。
(3)制作要求自行装配和调试,并能发现问题和解决问题。
(4)编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会。
三、原理框图
1.数字钟的构成
数字钟实际上是一个对标准频率(1hz)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1hz时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。
(a)数字钟组成框图
2.晶体振荡器电路
晶体振荡器电路给数字钟提供一个频率稳定准确的32768hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。一般输出为方波的数字式晶体振荡器电路通常有两类,一类是用ttl门电路构成;另一类是通过cmos非门构成的电路,本次设计采用了后一种。如图(b)所示,由cmos非门u1与晶体、电容和电阻构成晶体振荡器电路,u2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电阻r1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容c1、c2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。
一、设计目的
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计与制做数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.二、设计要求
(1)设计指标
①时间以12小时为一个周期;
②显示时、分、秒;
③具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;
④计时过程具有报时功能,当时间到达整点前10秒进行蜂鸣报时;
⑤为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。
(2)设计要求
①画出电路原理图(或仿真电路图);
②元器件及参数选择;
③电路仿真与调试;
④pcb文件生成与打印输出。
(3)制作要求自行装配和调试,并能发现问题和解决问题。
(4)编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会。
三、原理框图
1.数字钟的构成
数字钟实际上是一个对标准频率(1hz)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1hz时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。
(a)数字钟组成框图
2.晶体振荡器电路
晶体振荡器电路给数字钟提供一个频率稳定准确的32768hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。一般输出为方波的数字式晶体振荡器电路通常有两类,一类是用ttl门电路构成;另一类是通过cmos非门构成的电路,本次设计采用了后一种。如图(b)所示,由cmos非门u1与晶体、电容和电阻构成晶体振荡器电路,u2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电阻r1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容c1、c2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。
(f)带有消抖电路的校正电路
6.整点报时电路
电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号。
当时间在59分50秒到59分59秒期间时,分十位、分个位和秒十位均保持不变,分别为5、9和5,因此可将分计数器十位的qc和qa、个位的qd和qa及秒计数器十位的qc和qa相与,从而产生报时控制信号。
报时电路可选74hc30来构成。74hc30为8输入与非门。
四、元器件
1.四连面包板1块(编号a45)
2.镊子1把
3.剪刀1把
4.共阴八段数码管6个
5.网络线2米/人
6.cd4511集成块6块
7.cd4060集成块1块
8.74hc390集成块3块
9.74hc51集成块1块
10.74hc00集成块4块
11.74hc30集成块1块
12.10mω电阻5个
13.500ω电阻14个
14.30p电容2个
15.32.768k时钟晶体1个
16.蜂鸣器10个(每班)
1)芯片连接图
1)74hc00d2)cd4511
3)74hc390d4)74hc51d
2.面包板的介绍
面包板一块总共由五部分组成,一竖四横,面包板本身就是一种免焊电板。
面包板的样式是:
面包板的注意事项:
1.面包板旁一般附有香蕉插座,用来输入电压、信号及接地。
2.上图中连着的黑线表示插孔是相通的。
3.拉线时,尽量将线紧贴面包板,把线成直角,避免交叉,也不要跨越元件。
通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解。
3.对设计的建议
我希望老师在我们动手制作之前应先告诉我们一些关于所做电路的资料、原理,以及如何检测电路的方法,还有关于检测芯片的方法。这样会有助于我们进一步的进入状况,完成设计.机械课程设计心得体会责任
第二篇:数字钟课程设计心得
免费
分享
创新
数字钟课程设计心得范文
一、设计目的
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计与制做数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.二、设计要求
(1)设计指标
①时间以12小时为一个周期;
②显示时、分、秒;
③具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;
④计时过程具有报时功能,当时间到达整点前10秒进行蜂鸣报时;
⑤为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。
(2)设计要求
①画出电路原理图(或仿真电路图);
②元器件及参数选择;
③电路仿真与调试;
④pcb文件生成与打印输出。
(3)制作要求自行装配和调试,并能发现问题和解决问题。
(4)编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会。
三、原理框图
1.数字钟的构成
免费
分享
创新
数字钟实际上是一个对标准频率(1hz)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1hz时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。
(a)数字钟组成框图
2.晶体振荡器电路
晶体振荡器电路给数字钟提供一个频率稳定准确的32768hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。一般输出为方波的数字式晶体振荡器电路通常有两类,一类是用ttl门电路构成;另一类是通过cmos非门构成的电路,本次设计采用了后一种。如图(b)所示,由cmos非门u1与晶体、电容和电阻构成晶体振荡器电路,u2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电阻r1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容c1、c2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。
一、设计目的
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计与制做数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.资料来源:http://www.xiexiebang.com/data/xdth/
第三篇:数字钟课程设计
南 昌 大 学
数字电路与逻辑设计实验报告
姓
名:
付
容 学
号:
6100212236 学
院:
信息工程学院 班
级:
电气信息I类126班 实验名称:
数字钟设计
一、实验目的
1、熟悉数字系统的分析和设计方法;
2、熟悉根据任务的要求合理选择集成器件的方法;
3、学习和掌握数字钟的工作原理及设计方法,并且通过对数字钟的制作
进一步了解各种中、小规模集成电路的功能及使用方法;
4、学习使用protel软件进行电子电路的原理图设计、印制电路板设计;
5、初步掌握PCB板的制作流程及其工艺;
6、掌握数字系统的调试方法;
7、提高检查故障和排除故障的能力。
二、实验任务
利用中、小规模集成电路设计并制作一个数字显示时、分、秒的时钟,应具备如下功能:
1、能进行正常的时、分、秒计时功能,以数字形式显示时、分、秒的时间;
2、时应以24小时计时周期,计数序列为00—23;
3、计时出现误差时能校正,可以分别对时和分进行校正。
三、实验器材
计算机、protel软件、555定时器一个、6个74LS161、3个74LS90、个74LS48、6个数码管、若干个74LS00和74LS04、电源、开关。
四、实验原理
1、电路的总体原理框图
数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它
2、数字钟的构成的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、振荡电路组成。数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使振荡电路构成数字钟。
⑴555振荡电路
555定时器振荡电路给数字钟提供一个频率稳定准确的1KHz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了555振荡电路。
⑵分频器电路
分频器电路用74LS90芯片将1kHz的高频方波信号经3次分频后得到1Hz的方波信号供秒计数器进行计数。分频器实际上也就是计数器。
⑶时间计数器电路
时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器。⑷译码驱动电路
译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。
⑸数码管
数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管。
3、数字钟工作原理
数字电子钟的原理方框图如上图,该电路系统由秒信号发生器、“时、分、秒”计数器、译码器及数码显示管、校时电路、整点报时电路等组成。秒信号发生器是整个系统的时基信号,它直接决定计时系统的精度,本实验用555定时器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用六十进制计数器,每累计60秒发出一个“分脉冲”信号,该信号作为“分计数器”的时钟脉冲。“分计数器”采用六十进制计数器,每累计60分钟发出一个“时脉冲”信号,该信号作为“时计数器”的时钟脉冲。译码显示电路将“时”、“分”、“秒”计数器的输出状态经七段显示译码器译码,通过LED七段共阴极数码显示管显示出来。整点报时电路是根据计时系统的输出状态产生脉冲信号,然后去触发一音频发生器实现报时。校时电路是用来对“时”、“分”、“秒”显示数字进行校对调整的。
五、实验设计方案
1、六十进制计数器电路
由两片74160构成的六十进制计数器如下图所示。首先将两片74160构成一百进制计数器,然后采用整体置数法接成六十进制计数器。电路的59状态译码产生LD'=0信号,同时加到两片74LS161上,在下一个计数脉冲(第60个计数脉冲)到达时将0000同时输入两片74LS161中,从而得到六十进制计数器。进位输出可有门电路G的输出直接得到。
2、二十四进制计数器电路
由两片74LS161构成的二十四进制计数器如下图所示。首先将两片74160构成一百进制计数器,然后采用整体置数法接成二十四进制计数器。电路的23状态译码产生LD'=0信号,同时加到两片74LS161上,在下一个计数脉冲(第24个计数脉冲)到达时将0000同时输入两片74LS161中,从而得到二十四进制计数器。
3、秒信号发生器电路
秒信号发生器是整个系统的时基信号,它直接决定计时系统的精度,本实验用555定时器来实现。先将555定时器的2、6管脚连在一起构成施密特触发器,然后再通过RC积分电路构成多谐振荡器。接入电路的二极管D1、D2使电容C1的充电电流和放电电流流经不同的路径,充电电流只流经R1,放电电流只流经R2,因此电容C1的充电时间为
T1=R1C1Ln2 电容C1的放电时间为
T2=R2C1Ln2 输出脉冲的占空比为
q=R1/(R1+R2)若取R1=R2=71千欧然后与一个2千欧的电位器串联,则电路的振荡周期为
T=T1+T2=1s
4、校时电路
校准电路实质上是由一个555定时器接成的频率为1KHz的多谐振荡器,如下图示。从图中可知,秒脉冲进入计数器,数字钟正常工作。校时时先按下按钮J2,若按下J2则10Hz脉冲信号进入分计数器的个位,而分脉冲被阻止进入,因而较快的校准分计数器的计数值;若按下J1则100Hz脉冲信号进入时计数器个位,而时脉冲被阻止进入,因而较快的校准时计数器的计数值。
5、译码显示电路
译码电路的功能是将“秒”、“分”、“时”计数器的输出代码进行翻译变成相应的数字。用于驱动LED七段数码管的译码器为74LS48。由74LS48和LED七段数码管组成的数码显示电路如下图所示。将“秒”、“分”、“时”计数器的每位输出分别接到相应七段译码器的输入端,便可进行不同数字的显示。在译码器输出与数码管之间串联的为限流电阻。
六、实验总电路图
Multisim仿真原理图
七、实验仿真结果 1、1kHz脉冲信号:
2、秒时钟:
3、分时钟:
4、时时钟:
5、实验总仿真图:
八、实验总结
1、仿真过程中遇到的问题及解决方法 刚接到数字钟这个实验设计的时候,感觉脑子中一片混乱,理不出来一个清晰的思路。但是我先看了一遍课本,充分理解、熟悉课本中所讲的每个集成芯片的功能和它们的接法,然后又查阅了相关的资料。经过这个过程之后,我构思出来了数字钟大致的电路图和所要用到的集成芯片。但是在真正设计、画电路图的时候却不断出现了一些细节问题。比如用74LS161芯片构成60进制计数器后,在Multisim里找不到实验室用到的CD4511BE型号的译码器,那我该如何选合适的译码器进行译码?用555定时器产生1Hz的秒脉冲信号后,在保证原理图一定正确的情况下,为什么数码管一直显示0,不会走数字呢?24进制的地方为什么仿真结果总是会有些不对,从09变成10的时候中间会有一个类似于“8”一样的数出现,使得24进制与60进制不能同步进行,总是慢一秒?。于是我又去查资料,并请教了一些同学、老师才逐渐掌握了解决这些问题的方法,最后将问题一个个的击破了。经上网百度后,我知道用74LS48译码比较合适;问同学、老师后,我知道1Hz数码管能走数字,但是周期太长,所以将555定时器改成1KHz的才能很直观的看到实验仿真结果;在24进制的个位上加一个非门后就能实现正常功能。经过几次修改完善之后,我的设计仿真终于做出来了。
2、画protel原理图遇到的问题
①用单刀双掷开关实现校时电路时发现所选开关没有封装,后来经老师点拨在“元件库”中查找到了带封装的单刀双掷开关;
②不知道花PCB板的时候需要在板子的某个角落放总电源,否则整块板子无法供电使用,就连555定时器也需要电源驱动才能正常产生脉冲信号,加个电源开关更能使整个电路设计的合理、规范;
3、心得体会
此次的数字钟设计重点在于理论设计、对各种集成芯片的应用和电路本身的原理的熟悉,与电路的仿真和实际的连线有很大的差距。在此次的数字钟设计过程中,让我更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。在连接六十进制及其进位输出和用555定时器构成多谐振荡器的接法中,熟悉了逻辑电路及其芯片各引脚的功能,在电路出错时能准确地找出错误所在并及时纠正。
这次电子课程设计让我收获很大,通过这次的设计实验进一步地增强了实验的动脑、动手能力。让我体会到了学习知识时理论联系实际的重要性,并发现自己的知识面是很窄的,对很多简单的理论问题都比较难于解决,更别说实际的的问题了。所以,以后遇到这种动手操作的能力我一定要格外重视,并且努力完成它,争取做到最好的效果。
第四篇:数字钟课程设计
ORG 0000H SJMP ONE ORG 0003H LJMP ELEVEN ORG 000BH LJMP NINE ORG 001BH LJMP TEN ONE:LED12 EQU 30H;数码管12显示缓存 LED34 EQU 31H;数码管34显示缓存 LED56 EQU 32H;数码管56显示缓存
COUNT EQU 33H;定时器T0(用来走时)计数值存储器(计数中断20次到1秒)COUNTS EQU 34H;定时器T1(用来预置)计数值存储器(计数中断15次到预置值加一)HOUR EQU 40H;以下为时间,日期,闹铃时间,生日的存储地址 MIN EQU 41H SECOND EQU 22H YEAR EQU 50H MONTH EQU 23H DAY EQU 52H RH EQU 60H;闹铃小时 RM EQU 61H;闹铃分 RE EQU 62H;闹铃使能 BM EQU 71H;生日-月份 BD EQU 72H;生日-天 MOV LED12,#0 MOV LED34,#0 MOV LED56,#0 MOV COUNT,#0 MOV COUNTS,#0 MOV HOUR,#0 MOV MIN,#0 MOV SECOND,#0 MOV YEAR,#0 MOV MONTH,#1 MOV DAY,#1 MOV RH,#0 MOV RM,#0 MOV RE,#0 MOV BM,#6 MOV BD,#1 BS BIT 00H;birthday symbol生日标志(到生日那天就为1)
SS BIT 01H;set symbol预置信号(按下中断预置为1,便开始闪烁和预置)GS BIT 02H;glisten symbol闪烁标志 FC BIT 03H;frequency control频率控制 NB BIT 04H;neglect bitrhday symbol 忽略生日标志 CLR BS CLR SS CLR GS CLR FC CLR NB SETB 05H;生日显示有效标志位 MOV IP,#02H;中断优先级:T0>INT0>T1 MOV TMOD,#11H MOV IE,#8BH SETB IT0 MOV TH0,#3CH;50ms MOV TL0,#0B0H SETB TR0 MOV R1,#50;显示延时用 MOV R0,#0;显示延时用
;************************************************************** TWO检测开关号 TWO:MOV P0,#0FFH JB P0.5,TWO1 MOV RE,#0A0H;0A0表示闹铃无效,送0A0是为了方便将使能查表显示,表中第A项为“-” SJMP TWO2 TWO1:MOV RE,#0A1H TWO2:JB P0.0,TWO4 JB P0.1,TWO3 MOV LED12,HOUR MOV LED34,MIN MOV LED56,SECOND SJMP THREE TWO3:MOV LED12,YEAR MOV LED34,MONTH MOV LED56,DAY SJMP THREE TWO4:JB P0.1,TWO5 MOV LED12,RH MOV LED34,RM MOV LED56,RE SJMP THREE TWO5:MOV LED12,BM MOV LED34,BD MOV LED56,#0BCH SJMP THREE;************************************** THREE显示主程序(同时包含了闹铃,预置闪烁,闹铃功能)THREE:MOV P1,#0 MOV P0,#0FFH MOV DPTR,#TAB3 JNB SS,THREEB;判断预置信号是否有效,预置有效则转入判断闪烁显示模块,否则转入正常显示模块
SJMP THREEA THREEB:LJMP THREE11;THREE11是正常显示并判断整点报时及闹铃模块
THREEA:JNB P0.3,THREE1;开始是判断闪烁显示,这句判断是否预置分/月/生日的日/闹铃分
JNB GS,THREE1;是否闪烁?
LCALL TWELVE;闪烁则调用延时不显示LED34 SJMP THREE4 THREE1:MOV A,LED34 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE2:SETB P1.3 NOP DJNZ R0,THREE2 CLR P1.3 MOV A,LED34 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE3:SETB P1.2 NOP DJNZ R0,THREE3 CLR P1.2 JNB P0.2,THREE4;判断是否预置小时/年/生日月/闹铃的小时 JNB GS,THREE4;是否显示小时/年/生日月/闹铃的小时 LCALL TWELVE SJMP THREE7 THREE4:MOV A,LED12 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE5:SETB P1.1 NOP DJNZ R0,THREE5 CLR P1.1 MOV A,LED12 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE6:SETB P1.0 NOP DJNZ R0,THREE6 CLR P1.0 JB P0.0,THREE7;数码管56只有在显示日期的天时才有预置闪烁功能,其余三项都不需要判断闪烁 JNB P0.1,THREE7 JB P0.3,THREE7 JNB P0.4,THREE7 JNB GS,THREE7 LCALL TWELVE SJMP THREE10 THREE7:MOV A,LED56 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE8:SETB P1.5 NOP DJNZ R0,THREE8 CLR P1.5 MOV A,LED56 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE9:SETB P1.4 NOP DJNZ R0,THREE9 CLR P1.4 THREE10:DJNZ R1,TWOA SJMP TWOB TWOA:LJMP TWO TWOB:MOV R1,#50;判断闪烁一次是否完成 CPL GS;取反闪烁标志,用于控制闪烁的亮和灭 LJMP TWO;一轮显示完后再判断开关号;**************************正常显示
THREE11:LCALL EIGHT;判断是否取反P1.6即输出闹铃或整点报时,以下每次显示都要调用一次
JB NB,THREE12;如果是在整点报时状态就不显示生日提醒,报时过后显示提醒 JNB BS,THREE12 SJMP SEVEN;跳到生日提醒程序
THREE12:CLR NB;开始正常显示时间及判断闹铃输出 MOV A,LED34 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE13:SETB P1.3 NOP DJNZ R0,THREE13 CLR P1.3 MOV A,LED34 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE14:SETB P1.2 NOP DJNZ R0,THREE14 CLR P1.2 LCALL EIGHT MOV A,LED12 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE15:SETB P1.1 NOP DJNZ R0,THREE15 CLR P1.1 MOV A,LED12 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE16:SETB P1.0 NOP DJNZ R0,THREE16 CLR P1.0 LCALL EIGHT MOV A,LED56 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE17:SETB P1.5 NOP DJNZ R0,THREE17 CLR P1.5 MOV A,LED56 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE18:SETB P1.4 NOP DJNZ R0,THREE18 CLR P1.4 LJMP TWO;一轮显示完后判开关
TAB3:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H 7FH,6FH,40H,7CH,5EH;0.1.2.3.4.5.6.7.8.9.-.b.d,的字形表“bd”在显示生日时间时显示在LED56;**************************************************SEVEN生日时显示生日祝福语“HAPPY” SEVEN:MOV P1,#01H MOV P2,#76H DJNZ R0,SEVEN SEVEN1:MOV P1,#02H MOV P2,#77H DJNZ R0,SEVEN1 SEVEN2:MOV P1,#04H MOV P2,#73H DJNZ R0,SEVEN2 SEVEN3:MOV P1,#08H MOV P2,#73H DJNZ R0,SEVEN3 SEVEN4:MOV P1,#10H MOV P2,#6EH DJNZ R0,SEVEN4 LJMP TWO;一轮显示完后判开关
;******************************************************************EIGHT判断是否闹铃子程序 EIGHT:MOV A,RE CJNE A,#0A1H,EIGHT1 MOV A,MIN CJNE A,RM,EIGHT1 MOV A,HOUR CJNE A,RH,EIGHT1 SJMP EIGHT4;闹铃时间到则CPLP1.6一次并忽略生日标志(即NB有效)EIGHT1:MOV A,MIN CJNE A,#59H,EIGHT7 MOV A,SECOND CJNE A,#59H,EIGHT5;是否等于59分59秒 EIGHT2:MOV A,COUNT;是否到达后半秒 CJNE A,#10,EIGHT3 EIGHT3:JC EIGHT7 EIGHT4:CPL P1.6 SETB NB SJMP EIGHT7 EIGHT5:MOV A,SECOND CJNE A,#51H,EIGHT6;是否大于51秒 EIGHT6:JC EIGHT7 JNB 10H,EIGHT7;判断是否报低音
JB FC,EIGHT7;只有FC有效时才输出
SJMP EIGHT2 EIGHT7:CPL FC;用来控制报低音和高音,满足报低音条件时,调用两次本程序对P1.6取反一次,高音时调用一次取反一次
RET;******** NINE中断(T0)计时程序(包含了秒-分-时-日-月-年间的进位及判断大小月,平闰年)
NINE:MOV TH0,#3CH;开定时器 MOV TL0,#0B0H SETB TR0 INC COUNT MOV A,COUNT CJNE A,#20,INEAA SJMP AAA INEAA:LJMP NINE1 AAA:MOV COUNT,#0;计时 MOV A,SECOND ADD A,#01 DA A;换成bcd码以方便显示 MOV SECOND,A CJNE A,#60H,INEAA MOV SECOND,#0 MOV A,MIN ADD A,#01 DA A MOV MIN,A CJNE A,#60H,INEAA MOV MIN,#0 MOV A,HOUR ADD A,#01 DA A MOV HOUR,A CJNE A,#24H,INEAA MOV HOUR,#0 MOV A,DAY ADD A,#01 DA A MOV DAY,A;************************判断平闰年及大小月 MOV A,MONTH CJNE A,#02H,TEN6A MOV A,YEAR;把年由BCD码换成二进制码 ANL A,#0F0H SWAP A MOV B,#10 MUL AB MOV 24H,A MOV A,YEAR ANL A,#0FH ADD A,24H JB ACC.0,TEN5A;二进制码后两位为00表示为闰年 JB ACC.1,TEN5A MOV 24H,#01 MOV A,DAY CJNE A,#30H,NINE1 MOV DAY,#1 SJMP NINE0 TEN5A:MOV A,DAY CJNE A,#29H,NINE1 MOV DAY,#1 SJMP NINE0;**************判断大小月;大于等于8月时双月为大月,小于8月时单月为大月 TEN6A:MOV A,MONTH CJNE A,#08H,TEN7A TEN7A:JC TEN9A JB 18H,TEN8A MOV A,DAY CJNE A,#32H,NINE1 MOV DAY,#1 SJMP NINE0 TEN8A:MOV A,DAY CJNE A,#31H,NINE1 MOV DAY,#1 SJMP NINE0 TEN9A:JNB 18H,TEN10A MOV A,DAY CJNE A,#32H,NINE1 MOV DAY,#1 SJMP NINE0 TEN10A:MOV A,DAY CJNE A,#31H,NINE1 MOV DAY,#1;******************* NINE0:MOV A,MONTH ADD A,#01 DA A MOV MONTH,A SETB 05H CJNE A,#13H,NINE1 MOV MONTH,#1 MOV A,YEAR ADD A,#01 DA A MOV YEAR,A NINE1:MOV A,MONTH CJNE A,BM,NINE2 MOV A,DAY CJNE A,BD,NINE2 JNB 05H,NINE2 SETB BS NINE2:RETI;*****************************************TEN中断(T1)预置加一程序由INT0控制其的开启与关闭
;*******************判断预置项目 TEN:MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 INC COUNTS MOV A,COUNTS CJNE A,#15,TENE MOV COUNTS,#0 JB P0.0,RBRB JB P0.1,DAT SJMP TIME DAT: LJMP DATE RBRB:JB P0.1,BDAT LJMP RTIME BDAT:LJMP BDATE TENE:RETI;**********************预置时间 TIME: JNB P0.3,TEN1 MOV A,MIN ADD A,#01 DA A MOV MIN,A CJNE A,#60H,TENA MOV MIN,#0 SJMP TENA TEN1:JNB P0.2,TENA MOV A,HOUR ADD A,#01 DA A MOV HOUR,A CJNE A,#24H,TENA MOV HOUR,#0 TENA:RETI;******************预置日期 DATE:JNB P0.3,TEN3 MOV A,MONTH ADD A,#01 DA A MOV MONTH,A CJNE A,#13H,TENB MOV MONTH,#1 SJMP TENB TEN3:JNB P0.2,TEN4 MOV A,YEAR ADD A,#01 DA A MOV YEAR,A SJMP TENB TEN4:JNB P0.4,TENB MOV A,DAY ADD A,#01 DA A MOV DAY,A;***************判断平闰年 MOV A,MONTH CJNE A,#02H,TEN6 MOV A,YEAR ANL A,#0F0H SWAP A MOV B,#10 MUL AB MOV 24H,A MOV A,YEAR ANL A,#0FH ADD A,24H JB ACC.0,TEN5 JB ACC.1,TEN5 MOV A,DAY CJNE A,#30H,TENB MOV DAY,#1 SJMP TENB TEN5:MOV A,DAY CJNE A,#29H,TENB MOV DAY,#1 SJMP TENB;**************判断大小月 TEN6:CJNE A,#08H,TEN7 TEN7:JC TEN9 JB 18H,TEN8 MOV A,DAY CJNE A,#32H,TENB MOV DAY,#1 SJMP TENB TEN8:MOV A,DAY CJNE A,#31H,TENB MOV DAY,#1 SJMP TENB TEN9:JNB 18H,TEN10 MOV A,DAY CJNE A,#32H,TENB MOV DAY,#1 SJMP TENB TEN10:MOV A,DAY CJNE A,#31H,TENB MOV DAY,#1 TENB: RETI;**************************预置闹铃时间 RTIME:JNB P0.3,TEN12 MOV A,RM ADD A,#01 DA A MOV RM,A CJNE A,#60H,TENC MOV RM,#0 SJMP TENC TEN12:JNB P0.2,TENC MOV A,RH ADD A,#01 DA A MOV RH,A CJNE A,#24H,TENC MOV RH,#0 TENC:RETI;************************预置生日日期 BDATE:JNB P0.3,TEN14 MOV A,BD ADD A,#01 DA A MOV BD,A MOV A,BM CJNE A,#02H,TEN15 MOV A,BD CJNE A,#30H,TEND MOV BD,#1 SJMP TEND TEN15:CJNE A,#08H,TEN16 TEN16:JC TEN18 JB 18H,TEN17 MOV A,BD CJNE A,#32H,TEND MOV BD,#1 SJMP TEND TEN17:MOV A,BD CJNE A,#31H,TEND MOV BD,#1 SJMP TEND TEN18:JNB 18H,TEN19 MOV A,BD CJNE A,#32H,TEND MOV BD,#1 SJMP TEND TEN19:MOV A,BD CJNE A,#31H,TEND MOV BD,#1 SJMP TEND TEN14:JNB P0.2,TEND MOV A,BM ADD A,#01 DA A MOV BM,A CJNE A,#13H,TEND MOV BM,#1 TEND:SETB 05H RETI;*******************************ELEVEN中断(INT0)控制了预置的开关以及生日信号的清除
ELEVEN:JNB SS,ELEVEN1;预置有效时按一次INT0关预置 CLR SS CLR TR1 SJMP ELEVEN3 ELEVEN1:JNB BS,ELEVEN2;预置无效判断生日信号有效则清除生日信号 CLR 05H CLR BS SJMP ELEVEN3 ELEVEN2:SETB SS;都无效则令预置有效 MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 ELEVEN3:RETI;***************************************************************TWELVE 延时小程序
TWELVE:MOV P1,#0 MOV P2,#0 DJNZ R0,TWELVE TWELVE1:MOV P1,#0 MOV P2,#0 DJNZ R0,TWELVE1 RET
第五篇:数字钟课程设计
数字电子钟逻辑电路设计
一、实验目的:
1、掌握数字钟的设计方法;
2、熟悉集成电路的使用方法。
二、设计任务和要求:
1、设计一个有“时”,“分”,“秒”(23小时59分59秒)显示且有校时功能的电子钟;
2、用中小规模集成电路组成电子钟;
3、画出框图和逻辑电路图,写出设计报告;
4、选做:①闹钟系统。②整点报时。③日历系统。
三、方案选择和论证:
1.分秒功能的实现:用两片74290组成60进制递增计数器 2.时功能的实现:用两片74290组成24进制递增计数器 3.定点报时:当分秒同时出现为0时,灯亮。
4.日历系统:月跟日分别用2片74192实现,月份就接成12进制,日则接成31进制,星期由1片74192组成7进制,从星期一至星期天。
四、方案的设计:
1、可调时钟模块:
秒、分、时分别为60、60和24进制计数器。用两片74LS290做一个二十四进制, 输入计数脉冲CP加在CLKA’端,把QA与与CPLB’从外部连接起来,电路将对CP按照8421BCD码进行异步加法计数。通过反馈端,控制清零端清零,其中个位接成二进制形式,十位接成四进制形式。其电路图如下:
同理利用两片74290组成的六十进制计数器,如下图所示
将两个六十进制的加法计数器和一个二十四进制的加法计数器进行级联:将秒的十位进位脉冲接到分的个位输入脉冲,将分的十位进位脉冲接到时的个位输入脉冲,这样就可以组成最基本的电路。2.校时电路: 例如说时的校准,开关1上端接1HZ脉冲,下端接分的进位。当开关打到上端时电路进入校准功能,当开关打到下端时电路进入正常计时功能。其电路如总电路图所示
3.整点报时:
分别用2个或非门接到分和秒的各输出个节点处,再用一个与非门与报时灯链接,当输出同时为零时,即整点时,报时灯就亮了,起到报时功能。本实验使用LED发光(1s),其电路图如下:
4日历系统:
月和日都用2片74192实现。月份功能则接成13进制,因为月份分日都是从1开始计起,所以要求从0001开始,到1101时,立刻清零,清零时应该切换到置数状态,即将ABCD置1000,通过一个与非门链接到LOAD端置零,同时也将计数器置为0001的状态。其电路图如下所示
日功能74192三十一进制电路图:
总电路图:
四、电路调试:
调试这部分工作在EWB仿真软件上进行。对于电路的调试应该分为几个部分,分别对电路各个部分的功能都进行调试,之后,每连接一部分都要调试一次。在实现日历系统时,如月份需要显示灯显示1~31。一开始以为只把计数器链接成三十一进制即可,结果显示灯只显示0~30,没有自己预期的结果。经过仔细思考,要把0去掉不显示,从1开始显示,而还要显示31。经过查书,最后,知道开始需置数成0001状态,到1000才清零,清零的同时回到置数0001状态,通过多次链接、测试,终于实现了。
在实现校时功能过程中,由于之前想得太过复杂了,浪费了大量时间,最后,经过上网搜索,到图书馆查书,简单的用了个开关连接到脉冲实现了。
五、收获心得体会:
整个过程花了我不少时间,可当做完时才发现做这个数字钟是多么简单的一件事,主要是在调试时花了不少时间,其间换了不少器件,有的器件在理论上可行,但在实际运行中就无法看到效果,所以调试花了我不少时间,有时无法找出错误便更换器件重新接线以使电路正常运行。
在实际的操作过程中,能把理论中所学的知识灵活地运用起来,并在调试中会遇到各种各样的问题,电路的调试提高了我们解决问题的能力,学会了在设计中独立解决问题,也包括怎样去查找问题。似乎所有的事都得自己新手去操作才会在脑海中留下深刻的印象,这个小小的课程设计让我可以熟练的操作EWB软件,也了解了不少器件的功能的应用,也加深了对数字电路认识和理解。
本次课程设计主要是用软件仿真,如果是实际加工电路板就更加锻炼我们的动手能力了,因此,能力还有待提高。