2831.CX1多功能家居控制系统及应用设计 AT24C08读程序_第1页
2831.CX1多功能家居控制系统及应用设计 AT24C08读程序_第2页
2831.CX1多功能家居控制系统及应用设计 AT24C08读程序_第3页
2831.CX1多功能家居控制系统及应用设计 AT24C08读程序_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/databuff为读写数据输入输出缓冲区的首址/bytequantity 为要读写数据的字节数量/address 为eeprom的片内地址/controlbyte 为eeprom的控制字节,具体形式为 /表示读操作,r/w=0为写操作,a2,a1,a0为eeprom的页选或片选地址;/eepromtype为枚举变量,需为m2401至m24256中的一种,分别对应24c01至24c256;/函数返回值为一个位变量,若返回1表示此次操作失效,0表示操作成功;/errorcount为允许最大次数,若出现errorcount次操作失效后,则函数中止操作,并返回1/sda和scl由用户自定义,这里暂定

2、义为p00和p01;/其余的用户不用管,只要把只子程序放在你的程序中并调用它就可以了;/*/bit rw24xx(unsigned char *databuff,unsigned char bytequantity,unsigned int address, unsigned char controlbyte,enum eepromtype eepromtype)void delay(unsigned char delaycount);void iicstart(void);void iicstop(void);bit iicrecack(void);void iicnoack(void);v

3、oid iicack(void);unsigned char iicreceivebyte(void);void iicsendbyte(unsigned char sendbyte);unsigned char data j,i=errorcount;while(i-) iicstart(); iicsendbyte(controlbyte&0xfe); if(iicrecack() continue; if(eepromtypem2416) iicsendbyte(unsigned char)(address8); if(iicrecack() continue; iicsendbyte(

4、unsigned char)address); if(iicrecack() continue; if(!(controlbyte&0x01) j=bytequantity; errorflag=0; /*clr errorflag while(j-) iicsendbyte(*databuff+); if(!iicrecack() continue; errorflag=1; break; if(errorflag=1) continue; break; else iicstart(); iicsendbyte(controlbyte); if(iicrecack() continue; w

5、hile(-bytequantity) *databuff+=iicreceivebyte(); iicack(); *databuff=iicreceivebyte(); /read last byte data iicnoack(); errorflag=0; break; iicstop();if(!(controlbyte&0x01) delay(255); delay(255); delay(255); delay(255); /*以下是对iic总线的操作子程序*/*启动总线*/void iicstart(void)scl=0; /sda=1;scl=1;_nop_();_nop_();_nop_();sda=0;_nop_();_nop_();_nop_();_nop_();scl=0;sda=1; /*停止iic总线*/void iicstop(void)scl=0;sda=0;scl=1;_nop_();_nop_();_nop_();sda=1;_nop_();_nop_();_nop_();scl=0; /*从iic总线上读数据子程序*/unsigned char iicreceivebyte(void)register receivebyte,i=8;scl=0;while(i-) scl=1; receivebyte=(receivebyte1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论