PCF8563时钟芯片驱动程序分享.doc
《PCF8563时钟芯片驱动程序分享.doc》由会员分享,可在线阅读,更多相关《PCF8563时钟芯片驱动程序分享.doc(12页珍藏版)》请在三一文库上搜索。
1、PCF8563时钟芯片驱动程序分享PCF8563时钟芯片简介PCF8563是PHILIPS公司推出的一款工业级内含I2C总线接口功能的具有极低功耗的多功能时钟/日历芯片。PCF8563的多种报警功能、定时器功能、时钟输出功能以及中断输出功能能完成各种复杂的定时服务,甚至可为单片机提供看门狗功能。内部时钟电路、内部振荡电路、内部低电压检测电路(1.0V)以及两线制I2C总线通讯方式,不但使外围电路及其简洁,而且也增加了芯片的可靠性。同时每次读写数据后,内嵌的字地址寄存器会自动产生增量。当然作为时钟芯片,PCF8563亦解决了2000年问题。因而,PCF8563是一款性价比极高的时钟芯片,它已被广
2、泛用于电表、水表、气表、电话、传真机、便携式仪器以及电池供电的仪器仪表等产品领域。PCF8563芯片主要电气特性1)大工作电压范围:1.05.5V2)400KHz 的 I2C 总线接口(VDD=1.85.5V 时)。时钟频率最大400KH3)i2C 总线从地址:读,0A3H;写,0A2H 。PCF8563时钟芯片驱动程序/*/define/*#define PCF8563_ADDR 0xa2 / PCF8563设备地址#define PCF8563_ENABLE 0x00 / 设置#define PCF8563_SUBADDR 0x02 / 时间地址#define PCF8563_NUMB 0
3、x07 / 时间个数#define PCF8563_LOOPTIME 0x02 / 循环次数#define PCF8563_SECMASK 0x7f / second#define PCF8563_MINMASK 0x7f / minute#define PCF8563_HRMASK 0x3f / hour#define PCF8563_DAYMASK 0x3f / day#define PCF8563_WKMASK 0x07 / week#define PCF8563_MOMASK 0x1f / month#define PCF8563_YRMASK 0xff / year*void DEL
4、AY_US(Uint16 i) Uint16 m,n;for(m=0;mi;m+)for(n=0;n5;n+)_nop_(); */* 函数名称: void DELAY_MS(Uint16 i)* 功能描述: 延时函数* 输 入:延时毫秒数* 输 出:无*/延时函数单位msvoid DELAY_MS(Uint16 i) Uint16 m,n; for(m=0;mi;m+)for(n=0;n1000;n+)_nop_();* 函数名称: InitCrt()* 功能描述: SD2405的初始化* 输 入:无 * 输 出:无*/void InitCrt() /设备地址I2cDeviceAdd = P
5、CF8563_ADDR; /* 函数名称: CrtGetDateTime(struct SYSTEM_TIME *Time)* 功能描述: 读取时间* 说 明:将从PCF8563中读取的时间放入Time指向的结构中* 输 入:无* 输 出:无*/void CrtGetDateTime(struct SYSTEM_TIME *Time) Uint8 buf8; /设备地址I2cDeviceAdd = PCF8563_ADDR;SM_Receive (PCF8563_SUBADDR , buf, PCF8563_NUMB);Time-time.ucSecond = buf0; /秒Time-tim
6、e.ucMinute = buf1; /分Time-time.ucHour = buf2; /时屏蔽最高位 Time-date.ucDay = buf3; /日Time-Week = buf4; /星期 Time-date.ucMonth = buf5; /月Time-date.ucYear = buf6; /年/* * 函数名称: CrtSetDateTime(struct SYSTEM_TIME *Time) * 功能描述: 设置时间* 说 明:将Time指向的结构中日期时间参数设置到sd24.5中* 输 入:无 * 输 出:无*/void CrtSetDateTime(struct SY
7、STEM_TIME *Time)Uint8 buf8; /设备地址I2cDeviceAdd = PCF8563_ADDR;/写入设置(时钟工作、关闭复位、关闭测试模式)buf0 = PCF8563_ENABLE;SM_Send (0, buf, 0);/写入日期时间 buf0 = Time-time.ucSecond; /秒buf1 = Time-time.ucMinute; /分buf2 = Time-time.ucHour|0x80; /时 置为24小时格式buf3 = Time-date.ucDay; /日buf4 = Time-Week; /星期buf5 = Time-date.ucM
8、onth; /月buf6 = Time-date.ucYear; /年SM_Send (PCF8563_SUBADDR, buf, PCF8563_NUMB);4 新华龙C8051F022的IIC驱动程序/- / Includes/-#include c8051f020.h / SFR declarations #include stdio.h#include king.h#include DYSJ.h#include I2C.H#define SMB_FREQUENCY 10000L / Target SCL clock rate/* 函数名称:void SPI0_Init()* 功能描述:
9、I2C初始化程序* 说 明:1. 置下降沿有效2. 置工作时钟2MHz3.* 输 入:无* 输 出:无*/void I2C_Init() SMB0CN = 0x44; / Enable SMBus with ACKs on acknowledge cycleSMB0CR = -80; /257 - (SYSCLK / (2 * SMB_FREQUENCY);EIE1 |= 2; / SMBus interrupt enable/ EA = 1; / Global interrupt enableI2cSM_BUSY = 0; / Free SMBus for first transfer./*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PCF8563 时钟 芯片 驱动程序 分享
链接地址:https://www.31doc.com/p-3270378.html