文件名称:
基于I2C总线的EEPROM AT24C02A
开发工具:
文件大小: 2kb
下载次数: 0
上传时间: 2009-09-30
详细说明: #include #define uchar unsigned char sbit sda=P1^0; sbit scl=P1^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; dela y(); } 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);// AT24C02:256字节(256×8位); 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,0xA5);//在EEPROM内部地址23处写数据0XA5。内部地址范围为0-0xff(0-255)。 delay1(100); P2=read_add(23);//把在23地址处写的数据读回来并在发光二极管上显示出来。 while(1); } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.