pcf8574c语言测试程序,PCF8563驱动程序(C语言版)
//CPU:STC89C52RC 晶震:11.0592M
#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^6; //数据
sbit SCL=P2^7; //时钟
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]&=0x07;
pTime[5]&=0x1f;
for(i=0;i<7;i++)
{
ucData1=pTime[i]/16; //BCD码转十六进制
ucData2=pTime[i]%16;
pTime[i]=ucData1*10+ucData2;
}
}
pcf8574c语言测试程序,PCF8563驱动程序(C语言版)相关推荐
- pcf8563c语言程序,PCF8563驱动程序(C语言版)
#include 〈reg52.h> #include #include #define uchar unsigned char #define uint unsigned int uchar ...
- 《C Primer Plus(第6版)中文版》一第1章 初识C语言1.1 C语言的起源
本节书摘来自异步社区<C Primer Plus(第6版)中文版>一书中的第1章,第1.1节,作者 傅道坤,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第1章 ...
- python语言程序设计嵩天-python语言程序设计基础(嵩天版),第二章程序练习题...
python语言程序设计基础(嵩天版),第二章程序练习题 欢迎访问江南烧酒的博客 2.2汇率兑换程序.按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. """ ...
- python语言程序设计嵩天-Python语言程序设计基础(第2版)嵩天课后答案
嵩天.礼欣.黄天羽Python语言程序设计基础(第2版)习题答案本书提出了以理解和运用计算生态为目标的Python语言教学思想,在系统讲解Python语言语法的同时介绍了从数据理解到图像处理的14个P ...
- 数据挖掘SPSS Clementine 12.0.3 多国语言(含中文)破解版
数据挖掘SPSS Clementine 12.0.3 多国语言(含中文)破解版 2013-01-11 13:05 2111人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: 数据挖掘(3) 作者 ...
- 《机器学习与R语言(原书第2版)》一2.3 探索和理解数据
本节书摘来自华章出版社<机器学习与R语言(原书第2版)>一书中的第2章,第2.3节,美] 布雷特·兰茨(Brett Lantz) 著,李洪成 许金炜 李舰 译更多章节内容可以访问云栖社区& ...
- 2017二级c语言成绩,2017全国计机等级考试二级C语言知识点超全整(打印版).docx
2017全国计机等级考试二级C语言知识点超全整(打印版) 全国计算机 等级考试 目录 第一部分 公共基础知识 第 1 章 算法与数据结构1 HYPERLINK \l "_TOC_250068 ...
- c语言经典算法大全pdf,c语言经典算法100例pdf版.pdf
c语言经典算法100例pdf版 C 语言经典算法 100 例 C 语言编程经典 100 例 A:[程序1] 题目:有1.2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程 ...
- C语言学习书籍推荐《C语言程序设计 现代方法(第2版)》下载
下载地址:点我 C语言仍然是计算机领域的通用语言之一,但现在的C语言已经和当初的时候大不相同了.本书主要的一个目的就是通过一种"现代方法"来介绍C语言,书中强调标准C,强调软件工程 ...
最新文章
- 等价类划分方法的应用
- MySQL令人头疼的Aborted告警案例分析
- 判断图有无环_【转】判断一个图是否有环 无向图 有向图
- centos上安装adobe flash
- django 视图-----视图函数
- 个性化联邦学习PFedMe详细解读(NeurIPS 2020)
- Oracle查询指定表里的触发器
- mysql中dml语言_八、mysql DML语言
- Windows平台手动卸载Oracle Server【完整+干净】
- Java 8中的Optional 类型与 Kotlin 中的可空类型
- Hibernate 查询缓存
- 三维空间内任意三点坐标求圆心、半径
- 小火狐进化_口袋妖怪xy 三主进化的详细解析说明
- uni-app以h5网页的方式发布企业微信应用
- 【MySQL】MySQL中如何对数据进行排序
- 对于算法工程师职业生涯规划的考虑
- 作为一名合格的大学生,如何在B站愉快的学习
- String类 Object类 System类 Math类 Date类 Calendar类 DateFormat类
- C++控制台操作(基本操作的代码)
- 基于AM1808粗略概要