毕业论文基于单片机的时钟电路的设计.docx

上传人:b****8 文档编号:28486665 上传时间:2023-07-14 格式:DOCX 页数:24 大小:417.30KB
下载 相关 举报
毕业论文基于单片机的时钟电路的设计.docx_第1页
第1页 / 共24页
毕业论文基于单片机的时钟电路的设计.docx_第2页
第2页 / 共24页
毕业论文基于单片机的时钟电路的设计.docx_第3页
第3页 / 共24页
毕业论文基于单片机的时钟电路的设计.docx_第4页
第4页 / 共24页
毕业论文基于单片机的时钟电路的设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

毕业论文基于单片机的时钟电路的设计.docx

《毕业论文基于单片机的时钟电路的设计.docx》由会员分享,可在线阅读,更多相关《毕业论文基于单片机的时钟电路的设计.docx(24页珍藏版)》请在冰豆网上搜索。

毕业论文基于单片机的时钟电路的设计.docx

毕业论文基于单片机的时钟电路的设计

基于单片机的时钟电路的设计

ThedesignofclockcircuitbasedonMCU

专  业:

电子信息科学与技术

学  号:

04111103

姓  名:

乔波臻

指导教师:

孙南海

 

基于单片机的时钟电路的设计

摘 要:

文章主要采用AT89c51单片机最小化应用设计,LED显示采用动态扫描方式实现,P0口输出段码数据,P1.0-P1.2口作扫描输出,P0.1—P0.4口接按钮开关S1,S2,S3,S4,S5,rest接S6复位按键。

P0.0控制秒的调整,每按一次加1秒;P0.1控制分的调整,每按一次加1分;P0.2控制时的调整,每按一次加1个小时。

为了提供LED数码管的驱动电流,用74ls595作电源驱动输出。

实际设计按情况采用11.0592MHz的晶振。

电子时钟电路采用12h记时方式,时间用8位数码管显示。

该电路采用AT89c51单片机,使用5V电池供电。

关键词:

单片机;抖动;数码管;中断;低功耗;时钟

ThedesignofclockcircuitbasedonMCU

Abstract:

Thisarticlemainlyusesat98c51monolithicintegratedcircuitminimumapplicationdesign,LEDdemonstratedthatselectsthedynamicscanningmethodtorealize,theP0mouthoutputsectioncodedata,theP1.0-P1.2mouthmakesthescanout,theP0.1-P0.4mouthmeetspush-buttonswitchS1,S2,S3,S4,S5,rest.P0.0controlofthesecondadjustment,andeachtimeonesecond;P0.1controlpointsofadjustment,eachtimeat1pm;P0.2controloftheadjustment,andeachtimeonehour.InordertoprovidetheLEDnixietubethedrivecurrent,9012makesthepowersourcewiththetriodetoactuatetheoutput.Theactualdesignuses11.0592MHzaccordingtothesituationthecrystaloscillator.Theelectronclockcircuitselectsthe24htimemethod,thetimedemonstratedwith8nixietubes.Thiselectriccircuitusesat98c51monolithicintegratedcircuit,usesthe5Vbatterypowersupply.

Keywords:

SCM;jitter;digitalcontrol;interrupt;lowpowerconsumption;theclock

 

目 录

1引言  1

2以AT89c51单片机为核心的时钟电路结构和工作原理  2

2.1 AT89c51的结构组成及引脚功能  2

2.1.1 AT89c51的结构组成  2

2.1.2 AT89C51的引脚功能  3

2.2 时钟电路工作原理及原理图  6

2.4时钟电路的消除震荡设计  9

2.5时钟电路的误差分析及功耗  10

3以AT89C51单片机为核心的时钟电路的程序设计  12

3.1主程序设计及系统主流程图  12

3.2时钟电路的时钟和闹铃程序设计及流程图  13

3.3时钟电路的显示程序设计及流程图  14

3.4时钟电路的键盘程序设计及流程图  15

4Keil与Proteus软件的联调仿真  16

4.1Keil Software及Proteus简介  16

4.2时钟电路的仿真图如下  17

5结束语  19

[参考文献]  20

附 录  21

致 谢  33

 

1引言

单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意义。

现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485等。

这些电路的接口简单、价格低廉、使用方便,被广泛地采用。

本文主要采用AT98c51单片机最小化应用设计,LED显示采用动态扫描方式实现,P0口输出段码数据,P1.0-P1.2口作扫描输出,P0.1—P0.4口接按钮开关S1,S2,S3,S4,S5,rest接S6复位按键。

下面我主要从硬件、程序、软件联调3方面来设计。

2以AT89C51单片机为核心的时钟电路结构和工作原理

2.1 AT89c51的结构组成及引脚功能

2.1.1 AT89C51的结构组成

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

外形及引脚排列如图所示。

                       

2.1.2 AT89C51的引脚功能

·兼容MCS51指令系统

·32可编程I/O线

·两个16位可编程定时/计数器

·全静态工作:

0-24MHz

·两个外部中断源

·数据保留时间:

10年

·低功耗睡眠功能

·可编程串行通道

·低功耗的闲置和掉电模式

·寿命:

1000写/擦循环

·三级程序存储器锁定

·片内振荡器和时钟电路

·128x8bit内部RAM

·2.7-6.V的宽工作电压范围

·6个中断源

·4K字节可编程闪烁存储器

 

 

AT89c51芯片的管脚说明:

1. VCC:

供电电压。

2. GND:

接地。

3. P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

4. P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

5. P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

6. P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3引脚

兼用功能

P3.0

串行通讯输入(RXD)

P3.1

串行通讯输出(TXD)

P3.2

外部中断0(INT0)

P3.3

外部中断1(INT1)

P3.4

定时器0输入(T0)

P3.5

定时器1输入(T1)

P3.6

外部数据存储器写选通WR

P3.7

外部数据存储器写选通RD

 

 

P3口同时为闪烁编程和编程校验接收一些控制信号。

7.RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

8. ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

9. /PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

10. /EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

11. XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

12. XTAL2:

来自反向振荡器的输出。

振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

2.2 时钟电路工作原理及原理图

电路特点:

这里介绍的电子钟,电路可称得上极简,它仅使用单片很少引脚完成电子钟的全部功能。

一片40引脚的单片机AT89c51为电子钟主体,其显示笔画数据从P0口分时输出,P1口则输出对应的3位选通信号.由于LED数码管点亮时耗电较大,故使用89c51单片机来完成。

本电子钟程序设计时只使用了一个定时数T0,其它的中断全部关断,定时器工作在两个8位自动加载初始值状态.这是保证走时精确稳定的重要方法.很多书本教材上都让大家用定时器中断来执行动态显示程序和按键扫描程序,我自己认为这是一种很不好的方法(但是这种方法是初学者必须掌握的基础),除了浪费硬件资源以外,还会增加程序复杂性,还会影响其它程序运行。

系统框图:

一、电子时钟的技术指标

显示范围:

时间采用12/24小时制

显示格式:

时间按时分秒排列,显示如00点01分22秒显示为000122

显示位数:

8位8段LED数码管作正常、调时和节电显示

时钟误差:

24小时误差3~5秒

二、硬件电路的选择

1、单片机的选择 选用AT89C51单片机,配备11.0592MHz晶振,复位电路采用上电复位。

2、显示电路选择 采用软件译码动态显示。

3、电源选择 采用直流5V电源供电。

电路图如下:

2.3时钟电路的显示单元

动态显示技术:

在多位LED显示时,由一个8位口控制,由另一个端口进行显示位的控制。

但是,由于段选是公用的,要让各位数码管显示不同的字符,就必须采用扫描方式,即动态扫描显示方式。

首先从段选线上送出字段码,再控制位选线,字符就显示在指定位置上,持续1~5ms时间,然后关闭所有显示;接下来又送出新的字段码,按照上述过程又显示在新的位置上,直到每一位数码管都扫描完为止,即为一个扫描周期。

由于人的视觉停留效应,因此当扫描周期小到一定程度时,人就感觉不出字符的移动或闪烁,觉得每位数码管到一直在显示,达到一种稳定的视觉效果。

动态扫描显示的扫描方式有程序控制和定时中断扫描两种。

程序控制扫描方式要占用许多CPU时间,在计算机的任务较重时,难以得到好的效果,所以在实际中常采用定时中断扫描方式,这种方式是每隔一定时间(如1ms)显示一位数码管,假设有8位数码管,显示扫描周期为2ms,显示效果十分良好。

本次设计采用这种方法。

主要采用595来驱动,74HC595的管教如下:

【1】74595的数据端:

1.Q0—Q7:

八位并行输出端,可以直接控制数码管的8个段。

2.Q7':

级联输出端。

我将它接下一个595的SI端。

3.SI:

串行数据输入端。

【2】74595的控制端说明:

1. /SCLR(10脚):

低点平时将移位寄存器的数据清零。

通常我将它接Vcc。

2.SCK(11脚):

上升沿时数据寄存器的数据移位。

QA-->QB-->QC-->...-->QH;下降沿移位寄存器数据不变。

(脉冲宽度:

5V时,大于几十纳秒就行了。

我通常都选微秒级)

3.RCK(12脚):

上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。

通常我将RCK置为低电平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了。

我通常都选微秒级),更新显示数据。

4./G(13脚):

高电平时禁止输出(高阻态)。

如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。

比通过数据端移位控制要省时省力。

2.4时钟电路的消除震荡设计

在单片机应用系统中,消除抖动有硬件和软件两种方法。

硬件去抖动方法主要有利用R-S触发器和滤波器电路,,由于按键消除抖动时,按下与释放是通过机械触点的闭合与断开来实现的,因机械触点的弹性作用,在闭合与断开的瞬间均有一个抖动过程,所以键闭合与断开会产生如附图所示的电压波形,抖动时间一般在5~10ms。

这个抖动对判断键是否按下或释放有较大影响,因此必需消除键的抖动,只有这样,才能可靠地判断键的状态。

软件去抖动通常是程序检测到键被按下时,延时10ms后再检测键是否仍然闭合,若是则确认是一次真正的闭合,否则就忽略次此按键。

本次设计时采用的软件消抖程序。

2.5时钟电路的误差分析及功耗

【1】主要误差来源及补偿:

1、硬件电路在线路手工焊接时可能存在虚焊,或者有接触不良的情况,以及外界环境的影响,通过使用印刷电路板机器焊接,可以减少硬件误差影响。

2、采用11.0592MHz晶振计算定时计数初值时存在小数舍入误差

公式:

定时器/计数器采用工作方式1,定时器T0、T1溢出周期为50ms,计

算得到N=19456=4C00H,TH0=4CH,TL0=00H.若仍采用理论上的12MHz计算初值,则有:

N1=3CB0H,那么用11.0592MHz,N1不变,益出周期约为54.25ms,每次溢出比实际的要慢4.3ms,那么一秒钟要慢85ms,从而影响24h比实际的要慢122min。

修正后误差处理通过软件实现,最终的时钟误差测得值3-5s。

功耗问题:

【2】许多实时时钟都采用电池供电,典型应用是利用一块小的锂电池在主电源掉电时直接驱动振荡器和时钟电路。

为有效延长电池的使用寿命,振荡器必需消耗尽可能少的能量。

为了保证这一点,应谨慎考虑振荡器的设计。

典型的高频振荡电路ESR较低,但设计中一般会留出5倍、甚至10倍的ESR裕量,而低频晶振则具有较高的ESR。

对于一个RTC振荡器,或许留出2倍的负阻裕量即可,振荡器的负阻裕量越小、耗电越低,但是,这种电路对寄生参数、噪声非常敏感。

此外,振荡电路的负载电容对功耗也有一定影响,虽然12.5pF内部负载的RTC的耗电要比6pF负载的RTC大,但是,它通常具有更高的抗干扰能力。

在有些应用中(如VCR),时钟和日期信息在系统掉电时将会丢失,而在大多数应用中要求系统主电源断电时仍保持时钟和日期有效。

为保持时钟振荡器持续运转,可采用主/辅电池结构或大电容配合主电源为时钟电路供电,这样,RTC芯片内部还必须提供两组电源的切换电路。

如果用电池(如Li+电池)作为备份电源,RTC设计还应该注重低功耗指标,以使其在电池供电时具有尽可能低的功耗。

电源切换控制电路通常由主电源供电,需要时可切换到电池供电,并将RTC置为低功耗模式,电池供电时,可禁止微处理器与RTC之间的通信(通常被称为写保护),以使电池电流降至最小,同时避免数据被破坏。

在采用电池为电路系统供电时,时钟电路耗电最大的部件是振荡器,对于那些嵌入了晶振和电池的时钟模块(如DS12C887),由于振荡器在出厂时处于禁止状态,因此电池的损耗电流主要是电池的自放电,室温下,电池自放电每年的消耗能量大约占电池容量的0.5%。

有些时间保持NVRAM模块利用时钟来控制IC和SRAM,出厂时,振荡器处于禁止状态、SRAM与电池断开,只有模块在主电源供电并第一次与时钟电路断开时,电池才与SRAM接通。

这一功能常被称作电池保鲜。

DallasSemiconductor的绝大多数RTC都提供有一个电池输入引脚和一个内部反向充电保护电路。

由于Li+电池的额定温度是-40℃~+85℃,因此,使用时应确保环境温度不要超出+85℃。

3以AT89C51单片机为核心的时钟电路的程序设计

3.1主程序设计及系统主流程图

主程序 :

设计中采用定时器T0中断完成,其余状态循环调用显示子程序。

系统主流程图如图所示:

 

 

3.2时钟电路的时钟和闹铃程序设计及流程图

时钟采用11.0256MHZ的脉冲控制,闹铃采用整点报时功能。

3.3时钟电路的显示程序设计及流程图

显示子程序:

数码管显示的数据存放在内存单元70H-75H中,其中70H~71H存放秒数据,72H~73H存放分数据,74H~75H存放时数据,每一地址单元内均为十进制BCD码。

由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。

显示时,先取出70H~75H某一地址中的数据,然后查的对应的显示段码从P1口输出。

P3口将对应的数码管选中,就是显示该地址单元的数据值,每个LED数码管亮1MS时间再逐位循环。

3.4时钟电路的键盘程序设计及流程图

P0口输出段码数据,P1.0-P1.2口作扫描输出,P0.1—P0.4口接按钮开关S1,S2,S3,S4,S5,rest接S6复位按键。

P0.0控制秒的调整,每按一次加1秒;P0.1控制分的调整,每按一次加1分;P0.2控制时的调整,每按一次加1个小时。

4Keil与Proteus软件的联调仿真

4.1Keil Software及Proteus简介

在这里我们对KEIL和PROTEUS简单介绍下:

[1]KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用C来开发,体会更加深刻。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

KeilC51单片机软件开发系统的整体结构:

C51工具包的整体结构中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。

然后分别由C51及A51编译器编译生成目标文件(.OBJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

[2]Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件。

Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!

尤其重要的是ProteusLite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。

Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。

此系统受益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—“TheRoutetoPCBCAD”。

Proteus产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。

用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。

其功能模块:

—个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真;ARESPCB设计。

PROSPICE仿真器的一个扩展PROTEUSVSM:

便于包括所有相关的器件的基于微处理器设计的协同仿真。

此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型。

4.2 时钟电路的仿真图如下

用proteus仿真的电路

在keil编写的时钟程序:

5结束语

本次设计采用单片机作为核心控制器,实现具有定时、校时功能的数字钟。

随着人们生活水平的提高,人们对数

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

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1