#include#define uchar unsigned charsbit sda=P2^0;sbit scl=P2^1;uchar a;void delay(){ ;; }void start() //开始信号{ sda=1; delay(); scl=1; delay(); sda=0; delay();}void stop() //停止{ sda=0; delay(); scl=1; delay(); sda=1; delay();}void respons() //应答{ uchar i; scl=1; delay(); while((sda==1)&&(i<250))i++; scl=0; delay();}void init(){ sda=1; delay(); scl=1; delay();}void write_byte(uchar date){ uchar i,temp; temp=date; for(i=0;i<8;i++) { temp=temp<<1; scl=0; delay(); sda=CY; delay(); scl=1; delay(); // scl=0; // delay(); } scl=0; delay(); sda=1; delay();}uchar read_byte(){ uchar i,k; scl=0; delay(); sda=1; delay(); for(i=0;i<8;i++) { scl=1; delay(); k=(k<<1)|sda; scl=0; delay(); } return k;}void delay1(uchar x){ uchar a,b; for(a=x;a>0;a--) for(b=100;b>0;b--);}void write_add(uchar address,uchar date){ start(); write_byte(0xa0); respons(); write_byte(address); respons(); write_byte(date); respons(); stop();}uchar read_add(uchar address){ uchar date; start(); write_byte(0xa0); respons(); write_byte(address); respons(); start(); write_byte(0xa1); respons(); date=read_byte(); stop(); return date;}void main(){ init(); write_add(23,0xaa); delay1(100); P1=read_add(23); while(1);}
导读:目前正在解读《单片机模拟IIC总线与EEPROM进行数据通信》的相关信息,《单片机模拟IIC总线与EEPROM进行数据通信》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《单片机模拟IIC总线与EEPROM进行数据通信》的详细说明。
简介:本文给大家分享了一个单片机模拟IIC总线与EEPROM进行数据通信代码。
提醒:《单片机模拟IIC总线与EEPROM进行数据通信》最后刷新时间 2024-03-14 01:01:28,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《单片机模拟IIC总线与EEPROM进行数据通信》该内容的真实性请自行鉴别。