基于单片机数字钟设计答辩PPT-文档资料
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2.7蜂鸣器驱动电路 图3-5 蜂鸣器电路
图3-5 蜂鸣器电路
如图3-5由于蜂鸣器的工作电流比较大,以致于单片机的I/O 口是无法 直接驱动的,所以要利用放大电路来驱动,使用三极管来放大电流就 可以了。 利用I/O 定时翻转电平来产生驱动波形,利用定时器来做定时,通过 定时翻转电平产生符合蜂鸣器要求的频率的波形,这个波形就可以用 来驱动蜂鸣器了。比如为2500Hz 的蜂鸣器的驱动,可以知道周期为 400μs,这样只需要驱动蜂鸣器的I/O 口每200μs 翻转一次电平就可 以产生一个频率为2500Hz,占空比为1/2duty 的方波,再通过三极管 放大就可以驱动这个蜂鸣器了。
2.2数码管显示方案 方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各 个位,对于显示器的每一位来说,每隔一段时间点亮一次。利 用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度 足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也 于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳 定度的显示。动态显示节省了I/O口,降低了能耗。 从节省I/O口和降低能耗出发,本设计采用方案二。 使用共阴极七段数码显示管。使用74SL48作为 BCD-7段数码管 显示译码器
2.3闹铃方案 方案一:蜂鸣器,一个交流蜂鸣器及其驱动电路,能够演奏 音乐。 因为单片机有定时器所以使用蜂鸣器就可以了,不必使用 闹铃芯片了,很浪费单片机功能。 所以选择方案一蜂鸣器 2.3..2蜂鸣器的选择 方案一:有源蜂鸣器 即通电就可以发声。 方案二: 无源蜂鸣器 即要有驱动的音频电流才能发声。 因为此次设计是基于51单片机驱动的,所以选择方案二无源蜂鸣器。
第三章 系统设计
3.1总体设计 3.1.1系统说明 本次设计时钟电路,使用了AT89C51单片机芯片控制电路,单片机控 制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘 键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒, 同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这 样通过四个模块:键盘、芯片、扬声器、显示屏即可满足设计要求
3.2.6控制部分 AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机, 片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用 ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系 统及引脚。AT89S51提供以下标准功能:4K字节Flash闪速存储器, 128字节内部RAM,32I/O口线,看门狗(WDT),两个数据指针,两 个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信 口,片内振荡器及时钟电路。 AT89S51有40引脚,双列直插(DIP)封装,所用引脚功能如下:
图3-3数码显示
图3-4 BCD-7段数码管显示译码器
使用74SL48作为 BCD-7段数码管显示译码器。 译码是编码的你过程。编码是将含有特定意义的信息编成二进制代码。 译码是将表示特定意义信息的二进制代码翻译出来。实现译码功能的 电路称为译码器。 四位BCD译码器可以将BCD编码转化成十进制数码,并通过7段数码管 显示出来。由于输入端有四个,共有24=16种不同的组合,每一种组 合可对应一个数码,而十进制数码共有10个数码,因此有6个无效状 态,对应7段数码管不亮。7段数码管内部有7个发光二极管,利用这 7个发光二极管的亮暗组合来显示数码。7段数码管内部的7个发光二 极管有共阴和共阳两种接法,把所有二极管的阳极连到一起的称为共 阳极接法,此时译码器的输出应该是低电平有效;把所有二极管的阴 极连到一起的称为共阴极接法,此时译码器的输出应该是高电平有效。 举例说明,如果要显示数码“0”则共阴极7段数码管的输出led6(a)、 led5(b)、led4(c)、led3(d)、led2(e)、led1(f)、led0(g)为1111110,输 入端D3、D2、D1、D0为0000。 用89c51的p1口的p0、p1、p2、p3连接74ls48驱动器的A、B、C、D。
方案二: I/O 口定时翻转电平驱动蜂鸣器。使用I/O 口定时翻转电平 驱动蜂鸣器方式的设置比较简单,只需要对波形分析一下。由于驱动 的信号刚好为周期500μs,占空比为1/2duty 的方波,只需要每250μs 进行一次电平翻转,就可以得到驱动蜂鸣器的方波信号。在程序上, 可以使用TIMER0 来定时,将TIMER0 的预分频设置为/1,选择 TIMER0 的始终为系统时钟(主振荡器时钟/4),在TIMER0 的载入/计数 寄存器的高4 位和低4 位分别写入00H 和06H,就能将TIMER0 的中断 设置为250μs。当需要I/O 口驱动的蜂鸣器鸣叫时,只需要在进入 TIMER0 中断的时候对该 I/O 口的电平进行翻转一次,直到蜂鸣器不需要鸣叫的时候,将 I/O 口的电平设置为低电平即可。不鸣叫时将I/O 口的输出电平设置为 低电平是为了防止漏电。[ 因为此次设计是基于51单片机驱动I/O 口的,所以选择方案二I/O 口定 时翻转电平驱动蜂鸣器。
3.2.5数码管的连接电路 图3-6为数码管的引脚图,每位的段码线(a,b,c,d,e,f,g,)分别与1个7 位的锁存器输出相连,由AT89S51控制组合0-9十个数据,如令其显 示1则b,c引脚(即2,3引脚)送高电平,7位LED显示的数据由显示缓 冲区30H~36H单元中的数据决定 ,动态显示时,每位显示持续时间 为1ms,1ms延时由软件实现,7位显示约耗时8ms。 此时数码管显示1。由于各位的段码线并联,8位I/O口输出段码对各 个显示位来说都是相同的。 举例如果使用段共阴极数码管,要显示数字“4”时应该让b=c=f=g=1, a=d=e=0,如图3-3
第二章 方案论证与比较
2.1数字时钟方案 数字时钟是本设计的最主要的部分。根据需要,可利用两种方 案实现。 方案二:本方案完全用软件实现数字时钟。原理为:在单片机 内部存储器设三个字节分别存放时钟的时、分、秒信息。利用 定时器与软件结合实现1秒定时中断,每产生一次中断,存储 器内相应的秒值加1;若秒值达到60,则将其清零,并将相应 的分字节值加1;若分值达到60,则清零分字节,并将时字节 值加1;若时值达到24,则将十字节清零。该方案具有硬件电 路简单的特点。但由于每次执行程序时,定时器都要重新赋初 值,所以该时钟精度不高。而且,由于是软件实现,当单片机 不上电,程序不执行时,时钟将不工作。 基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。
2.3.2蜂鸣器的选择 方案二: 无源蜂鸣器 即要有驱动的音频电流才能发声。
因为此次设计是基于51单片机驱动的,所以选择方案二无源蜂鸣器。
2.4校准方案 采用手动按键调时。用四个按键,一个是进入调时,一个是没按一次 秒加一,六十以后变零,一个是没按一次分加一,六十以后变零,一 个是没按一次时加一,二十四以后变零。
3.2.4位选部分 选电路为三极管的集电极接数码管的公共端,当P2口对应的引脚输出 高电平时三极管导通,对应的数码管显示数据。这样,在同一时刻, 6位LED中只有选通的那1位显示出字符,而其他5位则是熄灭的。同 样,在下一时刻,只让下一位的位选线处于选通状态,而其他个位的 位选线处于关闭状态,在段码线上输出将要显示字符的段码,则同一 时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。如此 循环下去,就可以使各位显示出将要显示的字符。虽然这些字符是在 不同时刻出现的,而在同一时刻,只有一位显示,其他各位熄灭,但 由于LED的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短, 则可以造成多位同时亮的假象,达到同时显示的效果。
毕业设计(论文)
题目:基于单片机的数字钟的设计
摘要
这次毕业设计通过对单片机的学习、应用,以AT89S51 芯片为核心,辅以必要的电路,设计了一个简易的电子 时钟,它主要通过DP-51PROC单片机综合仿真实验仪实 现,通过数码管能够准确显示时间,调整时间,它的计 时周期为24小时,从而到达学习、设计、开发软、硬件 的能力。主要实现功能为显示时间,时间校准调时(采 用手动按键调时),闹铃功能(设置定时时间,到点后 闹铃发出响声)。通过键盘可以进行校时、定时。闹铃 功能使用I/O 口定时翻转电平驱动的无源蜂鸣器。本文 主要介绍了工作原理及调试过程。
3.2模块设计 3.2.1电源部分 单片机从外部引入VCC 5V的直流电,为单片机、复位电路提供电源。 3.2.2复位电路
图3-3复位电路 如图3-1所示,复位电路主要由型号为1N4148的二极管,型号为 10UF/16V的电解电容,型号为104的瓷片电容,10K的电阻以及按键 S1构成,S1接芯片的相应引脚RST,当开关按下时引脚RST为高电平1, 断开时引脚为低电平0。
3.2.8校准调时部分 更新显示器涉及到两个操作:发数据和改片选信号。使用单片机的p2 口的p2.4、p2.5、p2.6、p2.7作为片选口与按键相连。
第四章 原理
4.1系统总体方案选择与说明 本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片 机AT89C51为核心元件同时采用LED数码管显示器动态显示“时”, “分”,“秒”的现代计时装置。另外具有校时功能,秒表功能,和 定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的 扩充等优点。 本次设计时钟电路,使用了AT89C51单片机芯片控制电路,单片机控 制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘 键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒, 同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这 样通过四个模块:键盘、芯片、蜂鸣器、LED显示屏即可满足设计要 求。
4.1.2说明 系统由AT89C51、LED 数码管、按键、电容、电阻等部分构成,能实 现时间的调整、输出、调时间时能闪烁等功能。系统中按钮S1能对时 间进行调整功能的按钮,采用单键控制调时功能,运用软件去抖判断 按键的时间从而选择完成相对应的功能 时钟显示在此部分的设计中,设置专用显示数据缓冲区70h--75h,与 分,时及其他数据缓冲区数据区别,在其中存放的是显示段码,而其 他缓冲区存放的是时间数据。在显示时,首先将时间十进制数据转化 为显示段码,然后送往数码管显示。显示段码采用动态扫描的方式。 在要求改变显示数据的类别时,只须改变@R0(指向数据缓冲区的指 针)指向的十进制数据缓冲区即可。 数据调整数据调整有多种方式。一、可以直接进入相关状态进行有关 操作;二、将调整分两步,先进入状态,然后执行操作,这两步分别 由两个键控制。方式一,比较直接,设计思想也比较简单,但是,这 种方式存在操作时间和控制键数目的矛盾。如果用比较少的键,那么 可能会在进入状态后处于数据调整等待状态,这样会影响到显示的扫 描速度(显示部分可以采用8279芯片来控制,可以解决此问题)。 当然在这种方式下,还可以使用多个状态
4.1.2总体方案设计细想 秒的设置利用单片机的T0定时器工作方式1,定时50秒,并利用一个 软件计数器(R0到R7中的任意一个),本程序中选用R4做计数器,并附 初值为20,作减法计数,每次T0溢出时,计数器减一,当计数为零时, 定时一秒完成. 时钟的时分秒秒的个位以一为进制计数满10后向秒的十位进一,秒的 十位计数满6后向分的个位进一;分的个位满10后向分的十位进一, 分的十位满6后向小时的个位进一;小时同前一步。 闹钟的设置取时分秒的存储单元的数值与设定值相比较,当数值相等 时,闹钟输出端口打开 显示输出显示器即LED显示的是十进制的数,故需要数据进制转换功 能DA。本程序中选用的是共阴极七段六管LED。用单片机芯片 AT89C51的P3;口输出控制共阴极七段六管LED的位选信号;用P1口 输出共阴极七段六管LED的码段信号
关键词:单片机 电子时钟 单片机综合仿真实验仪
第一章 概述
本论文主要介绍用单片机内部的定时/计数器来实现电 子时钟的方法,本设计由单片机AT89S51芯片和LED数 码管为核心,辅以蜂鸣器电路,构成了一个单片机电子 时钟。显示时间功能:显示时,分,秒。具有校时功能: 能对时、分、秒按实际时间进行手动校正。闹铃功能:到 时播放音乐。 我使用的是DP-51PROC单片机综合仿真实验仪。我将先 介绍一下显示电路、闹铃电路的内部工作原理,及本次 设计中51单片机是如何实现任务要求的,主要有设计思 路,设计框图,设计过程。最后我将介绍使用DP51PROC单片机综合仿真实验仪及电脑实现任务要求的 过程及成果。 主要内容包括方案论证与比较、系统设计、设计原理、 软件设计、调试过程。