PCF8563的C51程序设计_第1页
PCF8563的C51程序设计_第2页
PCF8563的C51程序设计_第3页
PCF8563的C51程序设计_第4页
PCF8563的C51程序设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PCF8563的C51程序设计作者: 来源于: 发布时间:2007-3-30 21:45:00 PCF8563是一款低功耗的CMOS实时时钟日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过I2C总线接口串行传递。最大总线速度为400Kbits/s,每次读写数据后,内嵌的字地址寄存器会自动增加。特性 低工作电流:典型值为0.25A(VDD=3.0V,Tamb=25 时); 世纪标志; 大工作电压范围:1.05.5V; 低休眠电流;典型值为0.25A (VDD=3.0V Tamb=25 ); 400KHz 的I2C总线接口(VDD=1.85.5V 时); 可编程时钟输出频率为:32.768KHz,1024Hz,32Hz,1Hz; 报警和定时器; 掉电检测器; 内部集成的振荡器电容; 片内电源复位功能; I2C 总线从地址:读:0A3H;写:0A2H; 开漏中断引脚。应用 移动电话; 便携仪器; 传真机; 电池供电产品。 /*说明I2C总线驱动程序(用两个普通IO模拟I2C总线)包括100Khz(T=10us)的标准模式(慢速模式)选择,和400Khz(T=2.5us)的快速模式选择,默认11.0592Mhz的晶振。*/#ifndef SDA#define SDA P0_0#define SCL P0_1#endifextern 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();/INISDA=0; SomeNOP(); /STARTSCL=0;/*-调用方式:void I2CStop(void) 2001/07/0 4函数说明:私有函数,I2C专用-*/void I2CStop(void)SCL=0; SDA=0; SomeNOP(); /INISCL=1; SomeNOP(); SDA=1; /STOPEA=1;/*-调用方式:bit I2CAck(void) 2001/07/0 4函数说明:私有函数,I2C专用,等待从器件接收方的应答-*/bool WaitAck(void)uchar errtime=255;/因故障接收方无ACK,超时值为255。SDA=1;SomeNOP();SCL=1;SomeNOP();while(SDA) errtime-; if (!errtime) I2CStop(); SystemError=0x11; return false; SCL=0;return true;/*-调用方式:void SendAck(void) 2001/07/0 4函数说明:私有函数,I2C专用,主器件为接收方,从器件为发送方时,应答信号。-*/void SendAck(void)SDA=0; SomeNOP();SCL=1; SomeNOP();SCL=0;/*-调用方式:void SendAck(void) 2001/07/0 4函数说明:私有函数,I2C专用,主器件为接收方,从器件为发送方时,非应答信号。-*/void SendNotAck(void)SDA=1; SomeNOP();SCL=1; SomeNOP();SCL=0;/*-调用方式:void I2CSend(uchar ch) 2001/07/0 5函数说明:私有函数,I2C专用-*/void I2CSendByte(Byte ch)uchar i=8;while (i-)SCL=0;_nop_();SDA=(bit)(ch&0x80); ch=1; SomeNOP();SCL=1; SomeNOP();SCL=0;/*-调用方式:uchar I2CReceive(void) 2001/07/0 5函数说明:私有函数,I2C专用-*/Byte I2CReceiveByte(void)uchar i=8;Byte ddata=0;SDA=1;while (i-)ddata=1;SCL=0;SomeNOP();SCL=1;SomeNOP();ddata|=SDA;SCL=0;return ddata;/开始PCF8563T驱动程序/*-调用方式:void GetPCF8563(uchar firsttype uchar count uchar *buff) 2001/08/0 7函数说明:读取时钟芯片PCF8563的时间,设置要读的第一个时间类型firsttype,并设置读取的字节 数,则会一次把时间读取到buff中。顺序是:0x02:秒/0x03:分/0x04:小时/0x05:日/0x06:星期/0x07:月(世纪)/0x08:年-*/void GetPCF8563(uchar firsttype uchar count uchar *buff)uchar i;I2CStart();I2CSendByte(0xA2);WaitAck();I2CSendByte(firsttype);WaitAck();I2CStart();I2CSendByte(0xA3);WaitAck();for (i=0;i4)+0;time1=(con2&0x0f)+0;time3=(con14)+0;time4=(con1&0x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论