#include 〈reg52.h>

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar TAB_T[]={ 0x31,0x06,0x10,//秒,分,时

0x13,0x01,0x07,0x08};//日,星期,月,年.

sbit SDA=P2^4; //数据

sbit SCL=P2^3; //时钟

void Delay5us(void)

{

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

}

void Start(void)

{

SDA=1;

SCL=1;

Delay5us();

SDA=0;

Delay5us();

}

void Stop(void)

{

SDA=0;

SCL=1;

Delay5us();

SDA=1;

Delay5us();

}

void Reack(void)

{

uchar i=0;

SCL=1; //准备检测SDA Delay5us();

while((SDA==1)&&(i<100))i++;//SDA=0为应该信号,SDA=1为非应答

SCL=0; //准备下一变化数据

}

void WriteByte(uchar ucByte)

{

uchar i;

SCL=0;

for(i=0;i<8;i++)

{

SDA=(bit)(ucByte&0x80);//先写入高位

SCL=1;

Delay5us();

SCL=0;

ucByte<<=1;

}

SDA=1; //释放数据线

}

uchar ReadByte(void)

{

uchar i,ucByte;

SCL=0;

for(i=0;i<8;i++)

{

ucByte<<=1;

if(SDA)

ucByte++;

SCL=1;

Delay5us();

SCL=0;

}

return ucByte;

}

void Write8563(uchar ucAddr,uchar ucData)

{

Start();

WriteByte(0xa2);

Reack();

WriteByte(ucAddr);

Reack();

WriteByte(ucData);

Reack();

Stop();

}

uchar Read8563(uchar ucAddr)

{

uchar ucData;

Start();

WriteByte(0xa2); //写器件地址

Reack();

WriteByte(ucAddr); //写字节地址

Reack();

Start();

WriteByte(0xa3); //写器件地址,最低为1表示读

Reack();

ucData=ReadByte(); //写字节地址

Stop();

return ucData; //读数据

}

void Init8563(void)

{

uchar i,ucAddr=0x02;

Write8563(0x00,0x00);

Write8563(0x01,0x11);

for(i=0;i<7;i++)

{

Write8563(ucAddr,TAB_T[i]);

ucAddr++;

}

}

void GetTime(void)

{

uchar i,ucData1,ucData2,ucAddr=0x02;

uchar *pTime=TAB_T;

for(i=0;i<7;i++)

{

pTime[i]=Read8563(ucAddr);

ucAddr++;

}

pTime[0]&=0x7f; //屏蔽无效位

pTime[1]&=0x7f;

pTime[2]&=0x3f;

pTime[3]&=0x3f;

pTime[4]&=0x0

7;

pTime[5]&=0x1f;

for(i=0;i<7;i++)

{

ucData1=pTime[i]/16; //BCD码转十六进制

ucData2=pTime[i]%16;

pTime[i]=ucData1*10+ucData2;

}

}

pcf8563c语言程序,PCF8563驱动程序(C语言版)相关推荐

  1. python语言程序设计嵩天-python语言程序设计基础(嵩天版),第二章程序练习题...

    python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...

  2. python语言程序设计基础嵩天答案第二章_python语言程序设计基础(嵩天版),第二章程序练习题...

    python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...

  3. C语言程序100例之C#版-021

    C语言程序100例之C#版-021 C程序源代码: [程序21] 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后 ...

  4. C语言程序100例之C#版-024

    C语言程序100例之C#版-024 C程序源代码: [程序24] 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. 1.程序分析:请抓住分子与 ...

  5. python语言程序设计基础第二章答案_python语言程序设计基础(嵩天版),第二章程序练习题...

    python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...

  6. python语言程序设计基础(第2版) 嵩天 礼欣 黄天羽 著

    python语言程序设计基础(第2版) 嵩天 礼欣 黄天羽 著 程序练习题第5章  5.1输出更大的田子格 5.1  程序练习题3.5输出了一个简单的田字格,用函数简化其代码,输出更大的田子格. 刚开 ...

  7. 8255a初始化c语言程序,8255A的c语言程序.doc

    8255A的c语言程序 8255A的c语言程序 [实例24]用8243扩展I/O端口 #include sbit ContrBit0=P1^0; sbit ContrBit1=P1^1; sbit C ...

  8. 单片机汉字点阵c语言程序,51单片机C语言多种点阵屏驱动程序(开发软件为keil C...

    51单片机C语言多种点阵屏驱动程序(开发软件为keil C 2016-08-23 1 0 0 暂无评分 其他 1 积分下载 如何获取积分? 51单片机C语言多种点阵屏驱动程序(开发软件为keil C ...

  9. 桥梁工程相关c语言程序,工程问题C语言求解(原书第4版)pdf

    工程问题C语言求解(原书第4版) 内容简介 本书介绍如何使用C编程语言求解工程问题.书中从通用的5步方法论入手,以犯罪现场调查.地形导航.飓风等级测量等众多热点技术领域的工程问题为应用对象,生动.有趣 ...

最新文章

  1. 剑指offer:面试题31. 栈的压入、弹出序列
  2. 继承和多态 3.0 -- 菱形继承
  3. Celery--任务调度利器
  4. 什么时候用到全排列_请问在排列组合中,在什么情况下要乘以全排列
  5. 前端开发中通过js设置cookie的一组方法
  6. ASP.NET Core微服务(一)——【完整API搭建及访问过程】
  7. SEO原创文章制作器
  8. (十五)深入浅出TCPIP之Hello CDN
  9. 业务中台01:中台解决方案本质在解决什么问题?
  10. 35 MM配置-采购-采购订单-设置价格差异的容差限制
  11. 从底部上滑失灵_iPad 上这 20 个快捷操作,真正帮你提高生产力!
  12. rails与mysql之间中文数据显示不一致的问题
  13. 【matlab】画正六边形、矩形、圆形点阵
  14. php动态web开发技术,PHP动态Web开发技术
  15. (1)封装JSON数据的三种方式
  16. 如何将PDF转Word文档
  17. 智能电气阀门定位器原理
  18. 用 Python 分析某医院药品销售案例!
  19. php进销存bom,金太郎进销存带你了解BOM物料清单
  20. tlwr842n服务器无响应,TL-WR842n无线路由器掉线解决方法汇总

热门文章

  1. fclose在c语言中的作用,c语言fcloseall函数用法实例介绍
  2. (一)开始使用混合边缘AI进行面部识别
  3. java服务器返回错误码,java - java.io.IOException:服务器返回URL的HTTP响应代码:409 - 堆栈内存溢出...
  4. php如何修改二维数组的值,php如何改变二维数组的值
  5. mysql小结果集驱动大结果集_具体优化查询语句的指导原则小结果集驱动大结果集避免子查询...
  6. pip更新命令_如何批量更新电脑中的python包?
  7. redis 缓存预热_Redis异常问题解决方案:缓存雪崩、预热、穿透、击穿、降解方案分析...
  8. tp5 集成支付宝h5支付接口
  9. ionic4生命周期
  10. lisp读点坐标绘多义线_AutoCAD中多义线的坐标标注