您的位置 首页 制造

51单片机 EEPROM 24c02 读取存储多字节

先将数据存进去,然后再读出来显示在数码管上。除了代码里定义的连线外还要把p0连接到8位数码管的8针上。1/*–2名称:IIC协议…

先将数据存进去,然后再读出来显现在数码管上。

除了代码里界说的连线外还要把p0连接到8位数码管的8针上。

1 /*--2 称号:IIC协议 EEPROM24c023 内容:此程序用于检测EEPROM功用,测验办法如下:写入24c02一些数据,然后在内存中铲除这些数据,4 掉电后主内存将失掉这些信息,然后从24c02中调入这些数据。看是否与写入的相同。5 函数是选用软件延时的办法发生SCL脉冲,固对高晶振频率要作 必定的修正....(本例是1us机器6 周期,即晶振频率要小于12MHZ)7 */  8 #include           //头文件的包括9 #include 10 11 #define  _Nop()  _nop_()        //界说空指令12 13 // 常,变量界说区14 unsigned char code dofly_DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,15 0x77,0x7c,0x39,0x5e,0x79,0x71};// 显现段码值0~F16 unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//别离对应相应的数码管点亮,即位码17 18 sbit LATCH1=P2^2;19 sbit LATCH2=P2^3;20 21 sbit SDA=P2^1;            //模仿I2C数据传送位22 sbit SCL=P2^0;            //模仿I2C时钟操控位23 24 bit ack;                  //应对标志位25 26 void DelayUs2x(unsigned char t);//函数声明 27 void DelayMs(unsigned char t);28 /*29 uS延时函数,含有输入参数 unsigned char t,无回来值30 unsigned char 是界说无符号字符变量,其值的规模是31 0~255 这儿运用晶振12M,准确延时请运用汇编,大致延时32 长度如下 T=tx2+5 uS 33 */34 void DelayUs2x(unsigned char t)35 {   36     while(--t);37 }38 /*39 mS延时函数,含有输入参数 unsigned char t,无回来值40 unsigned char 是界说无符号字符变量,其值的规模是41 0~255 这儿运用晶振12M,准确延时请运用汇编42 */43 void DelayMs(unsigned char t)44 {45     46     while(t--)47     {48         //大致延时1mS49         DelayUs2x(245);50         DelayUs2x(245);51     }52 }53 /*54 发动总线55 */56 void Start_I2c()57 {58     SDA=1;   //发送开端条件的数据信号59     _Nop();60     SCL=1;61     _Nop();    //开端条件树立时刻大于4.7us,延时62     _Nop();63     _Nop();64     _Nop();65     _Nop();    66     SDA=0;     //发送开端信号67     _Nop();    //开端条件确定时刻大于4μ68     _Nop();69     _Nop();70     _Nop();71     _Nop();       72     SCL=0;    //钳住I2C总线,预备发送或接纳数据73     _Nop();74     _Nop();75 }76 /*77 完毕总线78 */79 void Stop_I2c()80 {81     SDA=0;    //发送完毕条件的数据信号82     _Nop();   //发送完毕条件的时钟信号83     SCL=1;    //完毕条件树立时刻大于4μ84     _Nop();85     _Nop();86     _Nop();87     _Nop();88     _Nop();89     SDA=1;    //发送I2C总线完毕信号90     _Nop();91     _Nop();92     _Nop();93     _Nop();94 }95 /*-96 字节数据传送函数               97 函数原型: void  SendByte(unsigned char c);98 功用:  将数据c发送出去,可所以地址,也可所以数据,发完后等候应对,并对99 此状况位进行操作.(不应对或非应对都使ack=0 假)     100 发送数据正常,ack=1; ack=0一共被控器无应对或损坏。101 */102 void  SendByte(unsigned char c)103 {104     unsigned char BitCnt;105     106     for(BitCnt=0;BitCnt<8;BitCnt++)  //要传送的数据长度为8位107     {108         if((c<

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/265420.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部