PCF8563C51程序设计
作者: 来源于: 发布时间:-3-30 21:45:00
PCF8563是一款低功耗CMOS实时时钟/日历芯片,它提供一种可编程时钟输出,一种中断输出和掉电检测器,所有地址和数据通过I2C总线接口串行传递。最大总线速度为400Kbits/s,每次读写数据后,内嵌字地址寄存器会自动增长。
特性
低工作电流:(VDD=,Tamb=25 ℃时);
世纪标志;
大工作电压范畴:~;
低休眠电流; (VDD= Tamb=25 ℃);
400KHz I2C总线接口(VDD=~ 时);
可编程时钟输出频率为:,1024Hz,32Hz,1Hz;
报警和定期器;
掉电检测器;
内部集成振荡器电容;
片内电源复位功能;
I2C 总线从地址:读:0A3H;写:0A2H;
开漏中断引脚。
应用
移动电话;
便携仪器;
传真机;
电池供电产品。
/**————————————————————
〖阐明〗I2C总线驱动程序(用两个普通IO模仿I2C总线)
涉及100Khz(T=10us)原则模式(慢速模式)选取,
和400Khz(T=)迅速模式选取,
。
—————————————————————*/
#ifndef SDA
#define SDA P0_0
#define SCL P0_1
#endif
extern uchar SystemError;
#define uchar unsigned char
#define uint unsigned int
#define Byte unsigned char
#define Word unsigned int
#define bool bit
#define true 1
#define false 0
#define SomeNOP();_nop_();_nop_();_nop_();_nop_();
/**------------------------------------------------------------------
调用方式:void I2CStart(void) 函数阐明:私有函数,I2C专用
---------------------------------------------------------------------*/
void I2CStart(void)
{
EA=0;
SDA=1;SCL=1;SomeNOP();//INI
SDA=0;SomeNOP();//START
SCL=0;
}
/*--------------------------------------------------------------------------------
调用方式:void I2CStop(void) ﹫/07/0 4
函数阐明:私有函数,I2C专用
---------------------------------------------------------------------------------*/
void I2CStop(void)
{
SCL=0;SDA=0;SomeNOP();//INI
SCL=1;SomeNOP();SDA=1;//STOP
EA=1;
}
/*--------------------------------------------------------------------------------
调用方式:bit I2CAck(void) ﹫/07/0 4
函数阐明:私有函数,I2C专用,等待从器件接受方应答
---------------------------------------------------------------------------------*/
bool WaitAck(void)
{
uchar errtime=255;//因故障接受方无ACK,超时值为255。
SDA=1;SomeNOP();
SCL=1;SomeNOP();
while(SDA)
{ errtime--;
if (!errtime)
{ I2CStop();
Syste
PCF8563的C51程序设计 来自淘豆网www.taodocs.com转载请标明出处.