IIC代码
来源:互联网 发布:archlinux vim python 编辑:程序博客网 时间:2024/05/17 23:51
void Delay5us()//@11.0592MHz{unsigned char i;_nop_();i = 11;while (--i);}void Delay10ms()//@11.0592MHz{unsigned char i, j;i = 108;j = 145;do{while (--j);} while (--i);}//起始条件void IIC_Start(void){SDA = 1;SCL = 1;Delay5us();SDA = 0;Delay5us();SCL = 0;}//停止条件void IIC_Stop(void){SDA = 0;SCL = 1;Delay5us();SDA = 1;}//应答void IIC_Ack(unsigned char ackbit){if(ackbit) {SDA = 0;}else {SDA = 1;}Delay5us();SCL = 1;Delay5us();SCL = 0;SDA = 1; Delay5us();}//等待应答 bit IIC_WaitAck(void){SDA = 1;Delay5us();SCL = 1;Delay5us();if(SDA) { SCL = 0;IIC_Stop();return 0;}else { SCL = 0;return 1;}}//向IIC发送一个字节 void IIC_SendByte(unsigned char byt){unsigned char i;for(i=0;i<8;i++){ if(byt&0x80) {SDA = 1;}else {SDA = 0;}Delay5us();SCL = 1;byt <<= 1;Delay5us();SCL = 0;}}//从IIC接收一个字节 unsigned char IIC_RecByte(void){unsigned char da;unsigned char i;for(i=0;i<8;i++){ SCL = 1;Delay5us();da <<= 1;if(SDA) da |= 0x01;SCL = 0;Delay5us();}return da;}/*PCF8591初始化 */void Pcf8591Init(unsigned char channel){IIC_Start(); IIC_SendByte(0x90);IIC_WaitAck();IIC_SendByte(channel);IIC_WaitAck();IIC_Stop();Delay10ms();}/*PCF8591读取数据 */unsigned Pcf8591Reard(void){unsigned char temp;IIC_Start();IIC_SendByte(0x91);IIC_WaitAck();temp = IIC_RecByte();IIC_Ack(0);IIC_Stop();return temp;}/*向AT24C02写数据 */void Write_AT24C02(unsigned char add,unsigned char date){IIC_Start();IIC_SendByte(0xa0); IIC_WaitAck(); IIC_SendByte(add);IIC_WaitAck(); IIC_SendByte(date); IIC_WaitAck(); IIC_Stop();Delay10ms();}/*从AT24C02读数据*/unsigned char Read_AT24C02(unsigned char add){unsigned char temp;IIC_Start();IIC_SendByte(0xa0);IIC_WaitAck();IIC_SendByte(add);IIC_WaitAck();IIC_Start();IIC_SendByte(0xa1);IIC_WaitAck();temp = IIC_RecByte(); IIC_Ack(0);IIC_Stop();return temp;}
0 0
- IIC代码
- STM32F051 IIC模块代码
- linux模拟iic代码
- IIC 程序调试成功代码
- GPIO模拟IIC代码模板
- IIC总线及其驱动代码
- GPIO模拟IIC代码模板
- IIC
- IIC
- IIC
- IIC
- IIC
- IIC
- iic
- IIC
- IIC
- IIC
- IIC
- C#模拟鼠标在指定区域进行指定操作的小工具
- 程序员日常工作英文20170422
- ST算法解RMQ问题
- java基础总结19-java常用API(StringBuffer和Arrays工具类)
- 二分图的最大匹配——最大流EK算法
- IIC代码
- unity bug
- Get started with Docker 中文文档(2)——Part 2: Containers
- 【JZOJ5073】【GDOI2017第三轮模拟day1】影魔
- java JDBC超出索引 或者没有发现哪张表
- Maven新手使用遇到的问题及解决办法
- 【java】走迷宫最短路径
- 心灵小语
- 【Java基础】——浅谈堆栈内存