数 电 课 程 设 计
实
验报告
通信工程xx班
xxx
数字钟的设计与制作
一、设计任务
本次课程设计要求以中规模集成电路为主,利用所学知识,设计一个数字钟。通过本次课程设计,进一步加强数字电路综合应用能力,掌握数字电路的设计技巧,增强实践能力,以及熟练掌握数字钟的系统设计、组装、调试及故障排除的方法。
二、设计要求
1.设计一台可以显示时、分、秒的数字钟。
2.具有校时功能,可以对时、分秒单独校时。
3.具有整点报时功能。
3.要求电路主要采用中小规模数字集成电路来实现。
三、工作原理
数字电子钟由秒信号发生器。“时、分、秒”计数器、译码显示器、校时电路、整点报时电路等组成。秒信号发生器主要由555振荡器分频后得到;秒、分都是60进制,故由60进制计数器构成;时为24进制,即由24进制计数器构成;显示部分由译码和数码显示构成,将“时、分、秒”计数器的输出状态经七段显示译码器译码,通过六位数码管显示出来。校时电路和整点报时电路由门电路和开关等构成。
1、秒脉冲信号发生器
秒脉冲信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量。由振荡器与分频器组合产生秒脉冲信号。
● 振荡器: 通常用555定时器与RC构成的多谐振荡器,输出2KHz脉冲。
● 分频器: 分频器功能主要有两个,一是产生标准秒脉冲信号,一是提供功能扩展电路所需要的信号,选用六片进行CC4518,因为每片为1/10分频器,三片级联刚好获得2Hz脉冲,再经过二分频得到标准1HZ脉冲,其余两片构成两个二分频得到1KHZ和500HZ脉冲供整点报时用,其电路图如下:
图2 秒脉冲信号发生器
2、秒、分、时计数器的设计
秒、分计数采用60进制计数器、时采用24进制计数器。他们都是8个BCD码输出,一个进位输出,一个时钟脉冲输入。在设计层次电路时,皆可以设计为一个输入端,9个输出端。在Multisim仿真软件中,按照模块化化设计,不但将复杂的电路图变简单,而且更加直观,便于检测调试。如60进制的封装的模块图如下:
其中,IO1为进位输入,IO10为进位输出,IO2~IO9是计数器BCD码输出,同理,其他模块也可以这样设计。
● 60进制计数器
秒或分的显示电路为60进制,以秒为例如图2,右边为秒个位,左边为秒十位,秒个位的电路中置零引脚和时钟输入端CP1必须接地,这是因为CMOS的引脚不能悬空,否则会影响实验结果,CP0接秒脉冲信号,考虑到秒个位计数到9的时候必须进位,所以在显示0的同时输出一个进位信号,输出是0000,因此可以用一个或非门,当输出是0000的时候提供一个进位信号至秒十位的时钟输入端,秒十位另一个时钟输入端接地,当秒十位计数器计到5时,在输出为0110时提供一个信号到秒十位计数器的置零端,使其实现0110——0000,即六十进制。
图3 60进制计数器
● 24进制计数器
下图是时计数显示电路设计图,与分、秒不同的是,这一块是24进制,当时十位为0、1的时候,时个位正常从0—9显示;当时十位为2时,要求时个位的显示是0、1、2、3,然后就回到0,因此在置零这一部分接法不同于分、秒计数显示电路,考虑到当时计数器为23时必须变为00,即当时十位输出为0010、时个位输出为0100时,分别变为0000、0000,因此可用一个与门实现,按如图的接法,并且注意到时十位和时个位都必须置零。
电路图如下:
图4 24进制计数器
● 校准电路
校准电路的工作过程如图5所示,正常工作情况下,J3断开,J1,J2闭合,秒脉冲进入计数器。当需要对秒进行校正时,闭合和断开J3知道需要的数字为止;需要对分校正时,J3处于闭合的情况下,断开J2,秒脉冲进入进入到分计时,则分计数器快速计数,直到显示时间为所需要的数字为止,再闭合J2;同理,可以对时进行校正。校准电路内部电路图如图6:
图5 校准电路
● 整点报时电路
整点报时电路的功能要求是,每当数字钟计时快要到整点时发出声响,通常按照4低音1高音的顺序发出间断声响,以最后一声高音结束的时刻为整点时刻。
设4声低音(约500Hz)分别发生在59分51秒、53秒、55秒及57秒,最后一声高音(约1KHz)发生在59分59秒,它们的持续时间均为1秒。
如表3-6-2所示
报时电路如下图所示:
图6 整点报时电路
● 数字电子钟连线图
图7 整机电路
四、电路调试
课程设计的起点在于仿真,在设计好基本电路图后,通过Multisim仿真电路,在Multisim中,执行Place/Hierachical Block命令,找到以存储的层次块,点打开即可出现在电路模板中,在在元件库中找出信号发生器数码显示器。本次设计中先采用现成的信号发生器进行分步调试。为使各电路接线后能顺利工作,对各个层次块可以先分别测试器功能。将信号发生器分别接入60进制和24进制计数器层次块,其输出接数码管或示波器,看其是否完成电路功能。对其校准电路,只有当整机电路连接好以后,按校准电路所说的方式,看是否能起到时、分、秒的校准。而整点报时电路必须先通过校时电路将时间调到59分50秒,再启动仿真,看其是否能报时5下,前4次是低音,到最后一次是高音。本次实验各模块节能完成其功能,接好整机电路后,能完成所需功能,故本次数字电子钟的设计能满足设计要求。
五、实验心得
在本次课程设计中,其实最开始选择的软件并不是Multisim,而是更为专业的Pspice,一是因为以前学模拟电路的时候自己用过一段时间,所以相对来说会比较熟悉。,二是它仿真的结果非常精确。但是当设计好电路进行仿真时,却出现了两个问题:首先是在进行数字电路仿真时,Pspice的优势并不是非常明显,它不像纯模拟电路仿真,可以做直流分析,交流分析,瞬态分析以及频率响应等等,而它对数字电路只能进行瞬态分析;另外,在导原件库也存在麻烦(Demo版的没有网络抓取功能)。所以,尽管Pspice仿真的结果比较好,但考虑到使用的方便性,最终不得不放弃它而选用比较直观简单的Multisim。接下来通过一天左右的时间熟悉软件,在电路仿真时,我的思路是按照模块化的思路设计,将每个模块分别调试,然后将他们封装起来备用。这样在最后的总电路仿真时,不必要将所有的组成元件都画出来,而只需要将每个封装好的模块按照相应的接口连接起来即可。这样在最后检查电路的时候比较方便,而且电路图也比较直观。但是说到这里,我不得不说几句Multisum的“坏话”,仿真结果不够准确是它最大的弊病,一般的分立元件的电路仿真出来还比较靠谱,但一旦仿真如555振荡电路时,出来什么就很难说了,比如,我先计算好一个振荡输出频率(肯定是正确的),当时按电路仿真出来的结果却差别很大(几百赫兹),所以就得设置它的各项仿真参数,如仿真步长,时间等等,并且不断调试,最后才能勉强符合要求。所以如果它能够有像Pspice那样能够自适应设置最佳仿真参数的话,就省去很多麻烦了。但是不管怎样,通过几天和它的“斗争”,我也的确学到了不少东西,至少能够独立的设计一个电路并进行测试分析,所以还是受益颇多的。通过这次的实验,
小组成员:XXX
第二篇:单片机数字钟设计报告
目 录
一 前言……………………………………………….. ….. ..1
1.1数字电子钟的意义
1.2数字电子钟的应用
二 总体方案设计………………………………………..…..1
三 系统硬件设计………………………………………..…..2 6单片机最小系统
1. I/O 地址分配
2.复位电路
3 时钟电路
4 按键电路
5 显示电路
四 系统软件设计………………………………………..…..6 1 软件程序内容
2 软件流程图
五 系统调试……………………………………………..…..9 1 系统功能……………………………………………………………….9
2.软件调试问题及解决
六 设计总结………………………………………..…..9 附录……………………………………………………………11
1) 系统原理图……………………………………………......................................11
2) 系统仿真图
3) 源程序…………………………………………………..................................... .13
一 前言
1.1数字电子钟的意义
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。
1.2数字电子钟的应用
数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时自动报时及自动控制的领域。
二 总体方案设计
数字钟在日常生活中最常见,应用也最广泛。本文主要就是设计一款数字钟,以89C52单片机为核心,配备液晶显示模块、时钟芯片、等功能模块。数字钟采用24小时制方式显示时间,定时信息以及年月日显示等功能。
文章的核心主要从硬件设计和软件编程两个大的方面。硬件电路设计主要包括中央处理单元电路、时钟电路、人机接口电路、信号处理电路、执行电路等几部分组成。软件用C语言来实现,主要包括主程序、键盘扫描子程序、时间设置子程序等软件模块。
本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息,并通过程序控制扫描输出显示数据。利用定时器0与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。且由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高.
三 电路的硬件设计
1.单片机最小系统
1.51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。
2.51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
3.51单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好4.P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。
设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。
1. I/O 地址分配
2.复位电路
MCS-51单片机的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
上电复位:上电复位电路是—种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。
电路图如下:
上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
3 时钟电路
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。
电路图如下:
MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。
4 按键电路
按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。
电路图如下:
5 显示电路
动态显示驱动。通过单片机对数码管位选通COM端电路的控制,只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。动态显示可以大幅度地降低硬件成本和电源的功耗,因为某一时刻只有一个数码管工作,也就是所谓的分时显示,故显示所需要的硬件电路可分时复用。动态显示方式设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设计既应保证驱动电路易实现,又要保证显示后的数据稳定,无闪烁。
动态显示采用多路复用技术的动态扫描显示方式, 复用的程度不是无限增加的, 因为
利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发光的亮度等因素. 我们通过实验发现, 当扫描刷新频率(发光二极管的停闪频率) 为50Hz, 发光二极管导通时间≥1m s 时, 显示亮度较好, 无闪烁感.。
通常用的共阳数码显示器的内部有8个发光二极管,其中7个发光二极管组成了数字“8”,剩下一个发光二极管就是这位数字所带的小数点。数码管结构图如图1 - 2所示。各段码位与显示段的对应关系如表1。
图1 – 2 LED数码管结构引脚图
数码管显示电路连线图如下:
四 系统软件设计
1 软件程序内容
本设计的软件程序包括主程序、中断子程序、时钟显示子程序、延时子程序等等。另外由于电路中有四个按键,还另外设计了防抖动程序来防止干扰。 2 软件流程图
这次的数字电子钟设计用到很多子程序,它们的流程图如下所示。 o主程序流程图
主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。
图5-1 主程序流程图
o按键处理流程图
按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显示出来。
图5-2 按键处理流程图
o定时器中断流程
定时器中断时是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就显示时间。
图5-3 定时器中断流程
时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。
五 系统调试与功能说明
1、系统功能
本系统已符合设计课程基本要求,即可以实现24小时方式;可用六位LED数码管显示时、分、秒;可使用按键开关可实现时、分调整。
通过功能按键开关KEY1可进入时间校准系统。摁下一次KEY1可控制时的校准,摁下两次KEY1控制分的校准,摁下三次KEY1控制秒的校准。校准过程中始终显示当前时间。摁下第四次KEY1时跳出校准系统,设定时间开始计时。
在设置时间系统中,KEY2键摁下时计数加一,KEY3键摁下时计数减一。
2.软件调试问题及解决
软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。软件调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支持。本次课题,选用Keil软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最后统调程序。仿真部分采用protus 6 professional软件,此软件功能强大且操作较为简单,可以很容易的实现各种系统的仿真。
首先打开protus 7.5 professional软件,在元件库中找到要选用的所有元件,然后进行原理图的绘制;绘制好后再选择Keil已经编译好的*.hex文件,选择运行,观察显示结果,根据显示的结果和课题的要求再修改程序,再运行查,直到满足要求。
六 设计总结