基于pcf8563时钟芯片万年历制作

基于pcf8563时钟芯片万年历制作

ID:23992183

大小:329.50 KB

页数:3页

时间:2018-11-12

基于pcf8563时钟芯片万年历制作_第1页
基于pcf8563时钟芯片万年历制作_第2页
基于pcf8563时钟芯片万年历制作_第3页
资源描述:

《基于pcf8563时钟芯片万年历制作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于PCF8563时钟芯片的万年历制作万年历时钟芯片很多,用途也很广,采用飞利浦公司的PCF8563时钟芯片,LCM1602作显示,可以取得较理想的效果。个人认为比起DS1302来说,PCF8563更好用。而且它是现今流行的万年历时钟芯片之一。硬件电路图如下:PCF8563是低功耗的CMOS实时时钟/日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过I2C总线接口串行传递。最大总线速度为400Kbits/s,在数据交换时只要按照I2C总线模式进行操作。对时序的要求也不是太高,便于编写程序进行控制。PCF8563内部寄存器地址

2、与数据格式描述如下:地址数据格式秒单元02H准确位BCD数据,1011001代表59秒分单元03H无效位BCD数据00~59小时单元04H无效位BCD数据,00~23日单元05H无效位BCD数据,01~3BCD数据,01~31,二月为29星期单元06H无效位0~6月单元07H世纪位无效位BCD数据,01~12年单元08HBCD数据,00~99分报警单元09H报警有效报警值0~59时报警单元0AH报警有效报警值0~23日报警单元0BH报警有效报警值0~31星期报警单元0CH报警有效报警值0~6CLKOUT0DH禁止/有效无效位频率11:1HZ输出倒计时单元0

3、EHTE无用TD1TD0本电路采用89S51作主控MCU;PCF8563产生时钟信息;LCM1602液晶模块作显示。Y1为32.768KHZ晶振,Y2为12MHZ晶振,BT1作为后备电源,保持时钟数据万年不丢失;RP1和RP2是9脚10K排阻;S1、S2、S3、S4用于调整时间。S2用于进入调整模式;并且每按一次改变调整项目;S1用于退出调整状态;S2,S4用于加1减1操作。LCM1602的驱动程序如下,可移植。#defineLCM1602_DB0_DB7P0//定义LCM1602的数据总线sbitLCM1602_RS=P2^6;//定义LCM1602的R

4、S控制线sbitLCM1602_RW=P2^5;//定义LCM1602的RW控制线sbitLCM1602_E=P2^4;//定义LCM1602的E控制线sbitLCM1602_Busy=P0^7;//定义LCM1602的测忙线unsignedcharcodePCF8563[]={"PCF8563"};voidLCM1602_Delay(unsignedcharcount){unsignedchari;while(--count!=0){for(i=0;i<125;i++);}}voidLCM1602_TestBusy(void){do{LCM1602_DB

5、0_DB7=0xff;LCM1602_RS=0;LCM1602_RW=1;LCM1602_E=0;LCM1602_Delay(2);LCM1602_E=1;}while(LCM1602_Busy);}voidLCM1602_WriteCMD(unsignedcharLCM1602_command){LCM1602_DB0_DB7=LCM1602_command;LCM1602_RS=0;LCM1602_RW=0;LCM1602_E=0;LCM1602_TestBusy();LCM1602_E=1;}voidLCM1602_WriteData(unsigne

6、dcharLCM1602_data){LCM1602_DB0_DB7=LCM1602_data;LCM1602_RS=1;LCM1602_RW=0;LCM1602_E=0;LCM1602_TestBusy();LCM1602_E=1;}voidLCM1602_Init(void){LCM1602_WriteCMD(0x01);//显示清屏LCM1602_WriteCMD(0x38);//显示模式设置:显示2行,每个字符为5*7个像素LCM1602_WriteCMD(0x06);//显示光标移动设置:文字不动,光标右移LCM1602_WriteCMD(0x0

7、c);//显示开及光标设置:显示开,光标关,闪烁关}voidprint(unsignedchara,unsignedchar*str){LCM1602_WriteCMD(a);while(*str!=''){LCM1602_WriteData(*str++);}*str=0;}voidprint1(unsignedchara,unsignedchart){LCM1602_WriteCMD(a);LCM1602_WriteData(t);}源程序见附件。有兴趣的朋友,可仿制,源程序经调试,运行正常,效果图如下:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。