PCF8563 的51汇编程序
PCF8563是Philips公司推出的一款带I2C总线具有极低功耗的多功能时钟/日历芯片,具有四种报警功能和定时功能;内部时钟电路、内部振荡电路、内部低电压检测以两线制I2C总线通信方式,不但使用外围电路简洁,而且增加了芯片的可*性。PCF8563的SCL为时钟输入端,数据随时钟信号同步输入器件或从器件输出;SDA为双向引脚,用于串行数据的输入输出;INT是中断信号输出端,可通过设置报警寄存器按指定时间在该脚产生报警信号,低电平有效;SDA、SCL、INT均为漏极开路,必须上拉电阻;X1、X2分别为反相放大器的输入、输出端;可在X1端接入32.768kHz的石英晶振,配置成片内振荡器。本系统PCF8563与89C51接口采用图2所示接口
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
。图2中,在X1、X2端接入32.768kHz的石英晶振,将时钟源配置为片内振荡器。VDD与地之间国入1个1μF的大电容供电维持时钟芯片,锂电池(3.6V)同时开始工作,给时钟芯片供电,使时钟芯片工作不受影响。PCF8563与89C51接口采用3根口线,PCF8563的INT脚产生周期为1s的脉冲中断信号给89C51的INT0引脚,89C51产生中断后,通过I2C总线读取PCF8563的基准时间。
PCF8563中共有16个寄存器,其中00,01H为控制寄存器,09,0CH为报警寄存器,0DH为时钟输出寄存器,0E,0FH为定时器功能寄存器,02,08H为秒,年时间寄存器。表1、表2列出了各寄存器概况及对应的内存地址和功能。 按I2C总线规约,PCF8563的从地址:读地址SLAR为A3H、写地址SLAW为A2H,PCF8563I2C通信实现有字节写/读两种状态。适用80C51的虚拟I2C总线软件包。本系统直接调用该I2C总线软件包的数据读写子程序(其中WRNBYT为N字节的子程序,RDNBYT为读取N字节的字节),来实现PCF8563的I2C总线操作。 根据硬件电路及资源分配,将I2C软件包中符号单元赋值如下: SDA EQA P0.0 ;数据传送
SCL EQU P0.1 ;时钟控制状态
MIN DATA 30H ;秒寄存器
SEC DATA 31H ;分寄存器
HOUR DATA 32H ;时寄存器
DAY DATA 33H ;日寄存器
WEEK DATA 34H ;周寄存器
MONTH DATA 35H ;月寄存器
YEAR DATA 36H ;年寄存器
SLA DATA 37H ;37H为被控器的地址
NUMBYT DATA 38H ;38H为数据字节计数器
MRT DATA 40H ;接收数据缓冲区首地址
MTD DATA 50H ;发送数据缓冲区首地址
?PCF8563定时器工作模式
MOV 51H ,#81H ;设置PCF8563的0EH为81H,启动定时器,定时器频率64Hz MOV 52H ,#64 ;设置PCF8563的0FH为64,定时器倒计数值为64 MOV MTD ,#0EH ;定时器控制寄存器字节首地址
MOV NUMBYT,#3 ;写字节
MOV SLA ,#0A2H;取写器件地址 LCALL WRNBYT ;写8563
以上配置完成后,PCF8563的INT脚产生周期为1s,脉冲宽度(低电平)约为
15ms的脉冲中断信号。
?PCF8563当前时间设定子程序如下: MOV 51H,#00H ;启动时钟
MOV 52H,#11H ;定时器为中断模式,脉冲形式
MOV 53H,MIN ;将秒至年的时间写入发送缓冲区
MOV 54H,SEC
MOV 55H,HOUR
MOV 56H,DAY
MOV 57H,WEEK
MOV 58H,MON
MOV 59H,YEAR
MOV SLA,#0A2H ;取写器件地址 MOV NUMBYT,#10;写字节数
MOV MTD,#00H ;写入8563寄存器首地址为00H
LCALL WRNBYT ;写入8563 RET
?读出时钟芯片当前值子程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
MOV MTD,#02H ;读时钟寄存器首字节地址02H
MOV SLA,#0A2H ;取写器件地址 MOV NUMBYT,#1 ;写字节数
LCALL WRNBYT ;写8563
MOV SLA,#0A3H ;取读器件地址 MOV NUMBYT,#7 ;读七个时钟信息 LCALL RDNBYT ;读取时间并放入缓冲区 MOV A,40H ;取滗字节
ANL A,#7FH ;屏蔽无效位
MOV MIN,A ;送秒寄存器
MOV A,41H ;取分字节
ANL A,#7EH ;屏蔽无效位
MOV MIN,A ;送分寄存器
MOV A,42H ;取小时字节
ANL A,#3FH ;屏蔽无效位
MOV HOUR,A ;送时寄存器
MOV A,43H ;取天字节
ANL A,#3FH ;屏蔽无效位
MOV DAY,A ;送天寄存器
MOV A,44H ;取星期字节
ANL A,#07H ;屏蔽无效位
MOV WEEK,A ;送星期寄存器 MOV A,45H ;取月字节 ANL A,#1FH ;屏蔽无效位 MOV MOTH,A ;送月寄存器 RET