24C02原理图及应用程序
《24C02原理图及应用程序》由会员分享,可在线阅读,更多相关《24C02原理图及应用程序(5页珍藏版)》请在装配图网上搜索。
1、程序:#include#include#defineucharunsignedcharsbitSCL=P3人6;I2C时钟sbitSDA=P3A7;/I2C数据sbitanjian_1=P3A5;ucharcodeLED=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71;voiddelay_us()_nop_();/*起始条件建立时间大于4.7us,延时*/_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();delay_ms(
2、)unsignedinti;for(i=0;i0;j-)for(i=110;i0;i-);voidStart_I2c()SDA=1;/*发送起始条件的数据信号*/delay_us();SCL=1;delay_us();SDA=0;/*发送起始信号*/delay_us();voidStop_I2c()SDA=0;/*发送结束条件的数据信号*/delay_us();SCL=1;delay_us();SDA=1;/*发送I2C总线结束信号*/delay_us();voidAck_I2c()/应答函数uchari=0;SCL=1;delay_us();while(SDA=1&i200)SCL=0;de
3、lay_us();i+;voidNo_ack()/非应答函数SDA=1;delay_us();SCL=1;delay_us();SCL=0;delay_us();voidinit()SDA=1;voidwr_byte(uchardate)SCL=1;uchari;SCL=0;/IC总线在写数据时,在时钟低电平的时候改变数据,高电平的时候传送数据delay_us();for(i=0;i8;i+)/*要传送的数据长度为8位*/写一个字节,该函数将数据写入24C02if(datei)&0x80)SDA=1;/*判断发送位*/elseSDA=0;delay_us();SCL=1;/*置时钟线为高,通知被控器开始接收数据位*/IC总线在写数据时,在时钟低电平的时候改变数据,高电平的时候传送数据delay_us();SCL=0;delay_us();/*8位发送完后释放数据线,准备接收应答位*/读一个字节,该函数将数据读出24C02SDA=1;delay_us();ucharre_byte()uchari,temp=0;SCL=0;delay_us();SDA=1;delay_us();for(i=0;i8;i+)temp9)k=0;write(5,k);/k为断电前需要保存的数据,5为地址,需要保存的数据用这条语句保存(必须的语句)P2=LEDk;
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。