#include "reg51.h"
sbit SCL = P0^6;
sbit SDA = P0^7;
sbit Key1 = P3^4;
void delay1ms(unsigned int time){
unsigned int i;
for(i = 0;i<50*time;i++);
}
void Serinit(){
SCON = 0X50;
TMOD = 0X20;
TH1 = 253;
TL1 = 253;
TR1 = 1;
ES = 1;
EA = 1;
}
void SendData(unsigned char sData){
TI = 0;
SBUF = sData;
while(!TI);
TI = 0;
}
void Start(){
SCL = 1;
SDA = 1;
SDA = 0;
SCL = 0;
}
void Stop(){
SCL = 0;
SDA = 0;
SDA = 1;
SCL = 1;
}
void SendAck(bit blag){
SCL = 0;
SDA = blag;
SCL = 1;
SCL = 0;
}
bit RevAck(){
bit blag;
SCL = 0;
SCL = 1;
blag = SDA;
SCL = 0;
return blag;
}
void SendByte(unsigned char sData){
unsigned char icount;
for(icount = 0;icount<8;icount++){
SCL = 0;
if(sData & 0x80) SDA = 1;
else SDA = 0;
SCL = 1;
sData <<= 1;
}
SCL = 0;
}
unsigned char RevByte(){
unsigned char icount,cRev;
for(icount = 0;icount<8;icount++){
SCL = 0;
cRev <<= 1;
SCL = 1;
if(SDA) cRev += 1;
}
SCL = 0;
return cRev;
}
unsigned char WriteData(unsigned char Addr,unsigned char sData){
Start();
SendByte(0xa0);
if(RevAck()) return 1;
SendByte(Addr);
if(RevAck()) return 2;
SendByte(sData);
if(RecAck()) return 3;
Stop();
return 0;
}
unsigned char ReadData(unsigned char Addr){
unsigned char Rdata;
Start();
SendByte(0xa0);
if(RevAck()) return 1;
SendByte(Addr);
if(RevAck()) return 2;
Start();
SendByte(0xa1);
if(RevAck()) return 3;
Rdata = RevByte();
SendAck(1);
Stop();
return Rdata;
}
main(){
unsigned char ReadData1,WriteData1 = 0;
Serinit();
while(1){
if(!Key1){
delay1ms(1);
if(!Key1){
while(!Key1);
WriteData(10,++WriteData1);
delay1ms(500);
ReadData1 = ReadData(10);
SendData(ReadData1);
}
}
}
}
iic.rar_51串口控制
版权申诉
125 浏览量
2022-09-14
18:41:43
上传
评论
收藏 660B RAR 举报
weixin_42651887
- 粉丝: 79
- 资源: 1万+
最新资源
- 本科毕业设计基于C# wpf人脸识别的考勤系统的设计与实现源码.zip
- 基于Ruoyi+uniapp实现学生考勤系统 学生考勤源码+项目说明.zip
- feae6bc968ca68a099455d8b8a8dea35
- 基于Pytorch训练CIRAR10上分类算法.zip
- Pytorch-pytorch深度学习教程之Tensorboard.zip
- 基于C++和Python开发yolov8-face作为人脸检测器dlib作为人脸识别器的人脸考勤系统源码+项目说明.zip
- Pytorch-pytorch深度学习教程之变分自动编码器.zip
- Pytorch-pytorch深度学习教程之神经风格迁移.zip
- Pytorch-pytorch深度学习教程之深度残差网络.zip
- Pytorch-pytorch深度学习教程之循环神经网络.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈