锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

基于52单片机电子时钟日历系统的设计

时间:2022-08-03 17:19:00 2oo0欧电阻

该系统日历芯片为基础的52单片机DSl2887是核心时钟系统。完成的功能如下:显示年、月、日、周、小时、分钟、秒,1OO年日历,具有掉电不丢失性,可通过按钮调整时间。DS12887内置锂电池,掉电时可工作10年。

一、芯片简介

3bef410c50a4df895cba00c9ab92290b.gif

读取或写入C语言程序中的数据非常简单,只需要一个句子。在汇编语言中是正确的MOVX语句时序分析。DS英特尔读周期时序如上图所示:

最后简单介绍一下DS控制字定义:

上面提到的DSl2887内部有128字节的存储空间。前14字节为特殊定义区(具体定义见PDF),后114字节为随机存储区。

字节特别定义区的具体定义如上表所示。其中0x7f00~0x7f0D是因为在这个系统中选择单片机P2.7引脚接CS端所决定。这些地址的最高位为0,对应P2.7引脚在写入或读取过程中会使用P2.7引脚碰巧产生低电平,选择芯片,完成英特尔总线时序。假如我们把单片机P2.6引脚接CS端,地址范围为:0xbf00~0xbf0D,b的二进制是1011,对应会使P2.6引脚产生低电平片选脉冲。用户可以读取并写入0~9号地址为年月等寄存器。10~13号地址是控制寄存器,寄存器D只读,寄存器A~C具体定义如下(下表)

●UlP:只读状态标志;

●DV0~2:控制芯片内部晶振位,010组合开启晶振正常工作;

●RS0~3:设置中断率和SQW方波输出;

●SET:读写控制位,初始时钟日历字节历字节;

●PIE、AIE、UIE:允许位置分别为周期、闹钟和更新结束;

●PF、AF、MF:中断标志位分别为周期、闹钟和更新

●IRQF:中断要求标志位,IRQF=PF·PlE AF·AlE MF·UIE;

●SQWE:方波输出允许位;

●DM:二进制(1)或BCD(0)码格式;

●24/12:时钟24,小时格式门2小时格式;DSE:白天,放0。

地址

内容

说明

00x7f00

Seconds

0-59秒寄存器

10x7f01

SecondsAlarm

O-59秒闹钟

20x7f02

MinUteS

0-59分寄存器

3Ox7f03

MinutesAlarm

O-59分闹钟

4Ox7f04

Hours

0-23时寄存器

50x7f05

HoursAlam

O-23时闹钟

60x7f06

DayOftheWeek

1-7星期几

70x7f07

DateOftheMonth

1-31几号

80x7f08

Month

1-12月份

90x7f09

Year

0-99年数

100x7f0A

REGISTERA

控制寄存器A

110x7f0B

REGISTERB

控制寄存器B

120x7f0C

REGISTERC

控制寄存器C

130x7f0D

REGISTERD

控制寄存器D

控制寄存器

BIT7

BIT6

BIT5

BlT4

BIT3

BIT2

BIT1

BIT0

REGISTERA

UIP

DV2

DV1

DV0

RS3

RS2

RS1

RS0

REGISTERB

SET

PIE

AIE

UIE

SQWE

DM

24/12

DSE

REGISTERC

IRQF

PF

AF

MF

0

0

O

O

二、实物制作

原理图如上图所示。实际制作的电子日历系统PCB如下图所示。在下图中WR、RD、INTO、GND和VCC标号处的焊盘采用飞线,这里是单面板,工艺只能达到15mil厚度,所以飞线有很多地方。笔者认为ZLG7289只用于控制系统中的8个按钮,有些浪费,读者可以直接挂在单片机上I/O嘴上,但别忘了按钮抖,但是使用液晶还是很有必要的,因为日历上有很多信息,只用8个数字管就不方便了。考虑到调试过程中测试方便,图中用排针引出单片机各端口。安装完成后,将程序写入并口芯片调试。

图中组件参数列表如下:

AT89S52、DS12887、ZLG7289、LCDl602各一;C1、C2、C4、C5、C6:30pF瓷片电容;C3:1μF电解电容;C7:100μF电解电容;C8:1000μF电解电容;C9:10μF电解电容;R1、R4、R6:10kΩ欧姆电阻;R5、R7:1欧姆电阻;R2:2.2kΩ欧姆电阻;R3:1OO欧姆电阻;R11:100kΩ欧姆电阻;104、104J:100kΩ排阻;1602:16脚排针;P0,P1,P2,P3:8脚排针;SPI:6脚排针;D1:红色LED指示电源;LS1:蜂鸣器;Q1:PNP三极管9012;S1~S8:双脚封装按钮;Y1、Y2:12MHz晶振;

三、程序设计

下面是DS12887的驱动程序和调时程序。

在主程序开始时,我们开始设置初始化DS12887函数写入使晶体振动打开和设置初始时间的命令。调试成功后,应删除初始化函数,以便在单片机断电并重新启动后无需重新设置时间。

以上程序是删除初始化函数后的样子。这样,它就完成了断电后不会丢失时间的功能,这对时钟日历来说是一个非常实用的功能。

在主程序中,人机交互可以通过编程完成调整DS12887内部时间的程序,还可以设定闹钟,完成报时功能。

举例如下:

打开和关闭晶振。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章