电子实时时钟高增耀gai讲解.docx

上传人:b****3 文档编号:5434799 上传时间:2023-05-08 格式:DOCX 页数:17 大小:94.45KB
下载 相关 举报
电子实时时钟高增耀gai讲解.docx_第1页
第1页 / 共17页
电子实时时钟高增耀gai讲解.docx_第2页
第2页 / 共17页
电子实时时钟高增耀gai讲解.docx_第3页
第3页 / 共17页
电子实时时钟高增耀gai讲解.docx_第4页
第4页 / 共17页
电子实时时钟高增耀gai讲解.docx_第5页
第5页 / 共17页
电子实时时钟高增耀gai讲解.docx_第6页
第6页 / 共17页
电子实时时钟高增耀gai讲解.docx_第7页
第7页 / 共17页
电子实时时钟高增耀gai讲解.docx_第8页
第8页 / 共17页
电子实时时钟高增耀gai讲解.docx_第9页
第9页 / 共17页
电子实时时钟高增耀gai讲解.docx_第10页
第10页 / 共17页
电子实时时钟高增耀gai讲解.docx_第11页
第11页 / 共17页
电子实时时钟高增耀gai讲解.docx_第12页
第12页 / 共17页
电子实时时钟高增耀gai讲解.docx_第13页
第13页 / 共17页
电子实时时钟高增耀gai讲解.docx_第14页
第14页 / 共17页
电子实时时钟高增耀gai讲解.docx_第15页
第15页 / 共17页
电子实时时钟高增耀gai讲解.docx_第16页
第16页 / 共17页
电子实时时钟高增耀gai讲解.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

电子实时时钟高增耀gai讲解.docx

《电子实时时钟高增耀gai讲解.docx》由会员分享,可在线阅读,更多相关《电子实时时钟高增耀gai讲解.docx(17页珍藏版)》请在冰点文库上搜索。

电子实时时钟高增耀gai讲解.docx

电子实时时钟高增耀gai讲解

潍坊科技学院

 

 

题目:

电子实时时钟

 

系别:

汽车工程系______

适用专业:

电气自动化技术______

起止时间:

2013.1—2013.6_______

执行学期:

2012/2013第二学期__

学生:

高增耀______

学号:

201002410019__

 

二零一二年十二月

摘要

随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。

由其是单片机技术的应用产品已经走进了千家万户。

电子万年历的出现给人们的生活带来的诸多方便。

本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。

系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时。

万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。

此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。

关键字AT89C51;电子万年历;DS1302

3系统硬件的设计3

3.1系统硬件电路设计3

3.1.1系统硬件框图3

3.1.2AT89C51单片机3

3.1.38位移位寄存器74LS164(串行输入,并行输出)6

3.1.4ds13027

4系统的软件设计10

4.1主程序10

4.2从1302读取日期和时间程序11

结束语12

参考文献12

附录13

1绪论

1.1课题研究的背景

随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。

它可以对年、月、日、时、分、秒进行计时,而且DS1302的使用寿命长,误差小。

对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒等信息,还具有时间校准等功能。

该电路采用AT89C51单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。

  此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

1.2课题的研究目的与意义

锻炼了应用单片机来解决实际问题的能力。

1.3课题解决的主要内容

1、主要功能:

⑴显示准确的北京时间(时、分、秒),可用24小时制式;

⑵随时可以调校时间。

2、拓展功能:

(1)增加公历日期显示功能(年、月、日),年号只显示最后两位;

(2)随时可以调校年、月、日;

(3)允许通过转换功能键转换显示时间或日期

 

2系统的总体设计

2.1系统方案的构想与确定

系统的功能往往决定了系统采用的结构,经过成本,性能,功耗等多方面的考虑决定用三个8位74LS373串行接口外接LED显示器,RESPACK-8对单片机AT89C51进行供电,时间芯片DS1302连接单片机AT89C51。

从而实现电子万年历的功能。

2.2器件的选用

单片机AT89C51

电容RESPACK-8

三个74LS373

传感器DS1302

 

2.2.1单片机的选择--AT89C51单片机

AT89C51单片机的主要特性如下:

●与MCS-51产品指令系统完全兼容

●4K字节的在线编程Flash存储器,1000次擦写周期

●4.0~5.5V的工作电压范围

●全静态工作模式:

0~33MHz

●三级程序存储器锁

●128×8字节内部RAM

●32个可编程I/O口线

●2个16位定时/计数器

●6个中断源

●全双工串行UART通道

●低功耗空闲和掉电模式

●中断可从空闲模式唤醒系统

●看门狗(WDT)及双数据指针

●掉电标识和快速编程特性

●具有掉电状态下的中断恢复功能

●灵活的在系统编程(ISP字节或页写模式)

由于AT89C51单片机片内有4K字节的在线编程Flash存储器,可以擦写1000次,具有掉电模式,而且具有掉电状态下的中断恢复功能,对设计开发非常实用。

所以选用AT89C51单片机作为电子万年历芯片的控制单片机。

3系统硬件的设计

根据上述所确定的系统方案构想,下面进行系统硬件电路的具体设计,系统的总体结构框图如图3-1所示。

3.1系统硬件电路设计

3.1.1系统硬件框图

系统硬件框图如图3-1

图3-1系统硬件框图

3.1.2AT89C51单片机

本系统采用的是美国ATMEL公司生产的AT89C51单片机,首先我们来熟悉一下AT89C51单片机的外部引脚和内部结构。

1.单片机的引脚功能

AT89C51单片机有40个引脚。

●Vcc:

电源电压+5V

●GND:

接地

●P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线服用,在访问期间激活内部上拉电阻。

在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时要求外接上拉电阻。

●P1口:

P1口是一个带内部上拉电阻的8位双向I/O,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。

Flash编程和程序校验期间,P1接收低8位地址。

●P2口:

P2口是一个带内部上拉电阻的8位双向I/O,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(MOVX@Ri指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。

Flash编程和程序校验期间,P2亦接收低高位地址和其他控制信号。

●P3口:

P3口是一组带内部上拉电阻的8位双向I/O,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“1”时,它们被内部的上拉电阻拉高并可作为输入端口。

作输入端时,被外部拉低的P3口将用上拉电阻输出电流。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,见表3-1所示:

P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

表3-1P3口的第二功能图

端口引脚

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INT0(外中断0)

P3.3

INT1(外中断1)

P3.4

T0(定时/计时器0外部输入)

P3.5

T1(定时/计时器1外部输入)

P3.6

WR(外部数据存储器写选通)

P3.7

RD(外部数据存储器读选通)

●RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

WDT溢出将使引脚输出高电平,设置SFRAUXR的DISRT0(地址8EH)可打开或关闭该功能。

DISRT0位缺省为RESET输出高电平打开状态。

●ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存器允许)输出脉冲用于锁存地址的低8位字节。

即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过多特殊功能寄存器(SFR)区中的8EH单元的D0位置,可禁止ALE操作。

该位置后,只有一条MOVX和MOVC指令ALE才会被激活。

另外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。

●PSEN:

程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。

当访问外部数据存储器,没有两次有效的PSEN信号。

●EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。

需要注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。

Flash存储器编程时,该引脚加上+12V的变成电压Vpp.

●XTAL1:

振荡器反相放大器及内部时钟发生器的输入端。

●XTAL2:

振荡器反相放大器的输出端。

AT89C51单片机内部结构

●振荡电路:

AT89C51系列单片机的内部振荡器,由一个单极反相器组成。

XTAL1反相器的输入,XTAL2为反相器的输出。

可以利用它内部的振荡器产生时钟,只要XTAL1和XTAL2引脚上一个晶体及电容组成的并联谐振电路,便构成一个完整的振荡信号发生器,此方式称为内部方式。

另一种方式由外部时钟源提供一个时钟信号到XTAL1端输入,而XTAL2端浮空。

在组成一个单片机应用系统时,多数采用这种方式,这种方式结构紧凑,成本低廉,可靠性高。

在电路中,对电容C1和C2的值要求不是很严格,如果使用高质的晶振,则不管频率为多少,C1、C2通常都选择30pF。

●定时/计数器:

AT89C51单片机内含有2个16位的定时器/计数器。

当用于定时器方式时,定时器的输入来自内部时钟发生电路,每过一个机器周期,定时器加1,而一个机器周期包含有12个振荡周期,所以,定时器的技术频率为晶振频率的1/12,而计数频率最高为晶振频率的1/24。

为了实现定时和计数功能,定时器中含有3种基本的寄存器:

控制寄存器、方式寄存器和定时器/计数器。

控制寄存器是一个8位的寄存器,用于控制定时器的工作状态,方式寄存器是一个8位的寄存器,用于确定定时器的工作方式,定时器/计数器是16位的计数器,分为高字节和低字节两部分。

●RAM:

高于7FH内部数据存储器的地址是8位的,也就是说其地址空间只有256字节,但内部RAM的寻址方式实际上可提供384字节。

的直接地址访问同一个存储空间,高于7FH的间接地址访问另一个存储空间。

这样,虽然高128字节区分与专用寄器,即特殊功能寄存器区的地址是重合的,但实际上它们是分开的。

究竟访问哪一区,存是通过不同的寻址方式加以区分的。

●SFR:

SFR是具有特殊功能的所有寄存器的集合,共含有22个不同寄存器,它们的地址分配在80H~FFH中。

虽然如此,不是所有的单元都被特殊功能寄存器占用,未被占用的单元,其内容是不确定的。

如对这些单元进行读操作,得到的是一些随机数,而写入则无效,所以在编程时不应该将数据写入这些未确定的地址单元中,特殊功能寄存器主要有累加器ACC、B寄存器、程序状态字寄存器PSW、堆栈指针SP、数据指针DPTR、I/O端口、串行口数据缓冲器SBUF、定时器寄存器、捕捉寄存器、控制寄存器。

●中断系统:

AT89C51单片机有6个中断源,中断系统主要由中断允许寄存器IE、中断优先级寄存器IP、优先级结构和一些逻辑门组成。

IE寄存器用于允许或禁止中断;IP寄存器用于确定中断源的优先级别;优先级结构用于执行中断源的优先排序;有关逻辑门用于输入中断请求信号。

在整个中断响应过程中CPU所执行的操作步骤如下:

(1)完成当前指令的操作

(2)将PC内容压入堆栈

(3)保存当前的中断状态

(4)阻止同级的中断请求

(5)将中断程序入口地址送PC寄存器

(6)执行中断服务程序

(7)返回

3.1.38位移位寄存器74LS373

373为三态输出的八D透明锁存器,共有54S373和74LS373两种线路

结构型式,其主要电器特性的典型值如下(不同厂家具体值有差别):

型号TPD PD

54S373/74S3737ns525mW

54LS373/74LS37317ns120mW

373的输出端Q0~Q7可直接与总线相连。

当三态允许控制端OE为低电平时,Q0~Q7为正常逻辑状态,可用来驱动负载或总线。

当OE为高电平时,Q0~Q7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。

当锁存允许端LE为高电平时,Q随数据D而变。

当LE为低电平时,D被锁存在已建立的数据电平。

当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。

引出端符号:

D0~D7数据输入端

OE三态允许控制端(低电平有效)

LE锁存允许端

Q0~Q7输出端

真值表:

Dn

LE

OE

Qn

H

H

L

H

L

H

L

L

X

L

L

Q0

X

X

H

高阻态

3.1.4DS1302

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

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

本文介绍的实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。

采用普通32.768kHz晶振。

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。

DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。

DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。

X1和X2是振荡源,外接32.768kHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

RST输入有两种功能:

首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

I/O为串行数据输入输出端(双向),后面有详细说明。

SCLK始终是输入端。

DS1302的控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。

在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。

同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式

此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。

时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。

DS1302与RAM相关的寄存器分为两类:

一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。

DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。

DS1302与89C51的连接图,其中,时钟的显示用LED。

DS1302与CPU的连接,实际上,在调试程序时可以不加电容器,只加一个32.768kHz的晶振即可。

只是选择晶振时,不同的晶振,误差也较大。

另外,还可以在电路中加入DS18B20,同时显示实时温度。

只要占用CPU一个口线即可。

LED还可以换成LCD,还可以使用北京卫信杰科技发展有限公司生产的10位多功能8段液晶显示模块LCM101,内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示RAM,可显示任意字段笔划,具有3-4线串行接口,可与任何单片机、IC接口。

功耗低,显示状态时电流为2μA(典型值),省电模式时小于1μA,工作电压为2.4V~3.3V,显示清晰。

DS1302的实时时间流程。

根据流程框图,不难采集实时时间。

下面对DS1302的基本操作进行编程:

根据本人在调试中遇到的问题,特作如下说明:

DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出)。

在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。

若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。

DS1302与RAM相关的寄存器分为两类:

一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。

要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F以上)。

虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。

可以用老式电脑主板上的3.6V充电电池。

如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。

100μF就可以保证1小时的正常走时。

DS1302在第一次加电后,必须进行初始化操作。

初始化后就可以按正常方法调整时间。

DS1302存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。

DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。

这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。

传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。

但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。

4系统的软件设计

电子万年历的功能是在程序控制下实现的。

该系统的软件设计方法与硬件设计相对应,按整体功能分成多个不同的程序模块,分别进行设计、编程和调试,最后通过主程序将各程序模块连接起来。

这样有利于程序修改和调试,增强了程序的可移植性。

4.1主程序

主程序如图4-1所示:

 

图4-1主程序图

4.2从1302读取日期和时间程序

 

 

 

图4-2从1302读取程序

 

结束语

经过三个多月的时间,毕业设计按照预期完成了,由于本人的知识水平有限,论文和设计中有遗漏和缺陷的地方恳请指正。

感谢我的导师李守奎老师给了我莫大的帮助,在他悉心的指导和严格的要求下,作品和论文顺利完成了。

论文从选题和最终完成,凝结着导师的辛勤的汗水,他不辞劳苦的教导、严谨的作风使我终生受益。

在此毕业设计完成之际,谨向导师和所有帮助过我的老师致以崇高的敬意和衷心的感谢。

还有感谢家人、朋友还有宿舍里所有的室友,是他们给我创造了良好的学习氛围,在学习和生活中给了我支持和帮助。

在以后的学习生活中我会时时敦促自己更加努力,不辜负师长、亲人、朋友对我的期望。

 

参考文献

1、单片机应用技术/倪志莲主编。

—北京:

北京理工大学出版社,2007.6

2、单片机原理及应用(模块化教学设计)/彭勇编写。

—湘潭:

湖南电气职业技术学院,2009.8

3、单片机应用技术(汇编语言)/李秀忠主编。

—北京:

中国劳动社会保障出版社,2006.5

4、电子技术/李增国主编。

—北京:

北京航空航天大学出版社,2007.9

附录

电路框架:

电路图

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

当前位置:首页 > PPT模板 > 其它模板

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

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