wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5061|回復: 0
打印 上一主題 下一主題
收起左側

2440 I2C存儲卡讀寫實驗 AT24c08a

[復制鏈接]
跳轉到指定樓層
樓主

本實驗為IIC總線通信協議,以友善之臂mini2440為實驗平臺,對其開發板上的AT24c08a指定位置寫入字符串“hello”,并指定位置讀出該位置的內容。

    初始工作,首先需要配置GPE14、15管腳分別為IICSLC、IICSDA,并禁止上拉功能。然后設置IIC時鐘頻率,使能應答信號,并使IIC中斷使能,禁止IIC中斷屏蔽寄存器。

應答中斷處理函數為清除中斷標志位,清除中斷標記flag。

    指定內存寫函數的實現為:首先設置主設備發送模式,寫入從設備地址,清除中斷標記,然后等待應答,寫入設備內存地址,等待到應答后開始連續發送數據,存入指定空間。發送結束發出停止命令,結束本次通訊,讓IIC狀態改為開始狀態,準備下一次讀寫操作。

    指定內存讀函數,首先配置設備為發送模式,寫入要讀的設備地址,寫入要讀的設備內存,設置為主機接收模式,發送接收設備地址,此后從設備會返回一個要讀的內存地址,讀取該地址拋棄后,連續讀取指定內存數據,讀到最后一個數據不再產生應答,停止接收,改為準備狀態。

    AT24C08 的地址格式為: 1 0 1 0 A2 P1 P0 W/R

    A2為設備地址位、P1,P0為片內頁尋址  LSB=0 寫    LSB=1 讀

其中mini2440讀寫位為自動標記無需配置。



  1. /*51實驗24: I2C存儲卡讀寫實驗*/

  2. #include <reg51.h>
  3. #include <ABSACC.H>
  4. #define cp8155 XBYTE[0xff20]
  5. #define pa8155 XBYTE[0xff21]
  6. #define pb8155 XBYTE[0xff22]
  7. #define pc8155 XBYTE[0xff23]
  8. #define dataadr 0x4000


  9. //*********************************************
  10. //MON51必須用到的
  11. code unsigned char stop[3] _at_ 0x3b;

  12. unsigned char code DISPB[]={0x0C0,0x0F9,0x0A4,0x0B0,0x99,0x92,0x82,0x0F8,0x80,0x90,
  13.                             0x088,0x83,0x0C6,0x0A1,0x86,0x8E,0xFF,0x0C,0xDE,0x0F3,0x08F};
  14. unsigned char ledbuf[6];
  15. sbit SCL=P3^0;
  16. sbit SDA=P3^1;
  17. sbit INS=P1^0;
  18. sbit WRS=P1^1;
  19. sbit RDS=P1^2;
  20. bit ack;                             //是否應答
  21. void disp(void);
  22. void delay(unsigned char dl);
  23. void Start_I2c(void);
  24. void Stop_I2c(void);
  25. void SendByte(unsigned char c);
  26. unsigned char  RcvByte();
  27. bit ISendByte(unsigned char sla,unsigned char c);
  28. bit IRcvByte(unsigned char sla,unsigned char *c);

  29. void main(void)
  30. {
  31.     unsigned char tmp1,tmp2;
  32.     bit wrok,wrst;                  //讀寫正常,讀寫狀態
  33.     //SP=0x60;
  34.         SP=0x53;
  35.     tmp2=0x50;
  36.     wrok=1;  wrst=0;
  37.         cp8155=0x43;
  38.     while(1)
  39.     {
  40.        while(INS);
  41.        delay(1);
  42.        if (INS==0) break;
  43.     }
  44.     while(1)
  45.     {
  46.        if (wrst==0)
  47.        {//寫數據到卡
  48.           for (tmp1=0;tmp1<0x80;tmp1++)
  49.           {
  50.              WRS=!WRS;
  51.              if (ISendByte(tmp1,tmp2)==0) {wrok=0; break;}
  52.              tmp2++;
  53.           }
  54.           Stop_I2c();
  55.        }
  56.        else
  57.        {//從卡讀數據
  58.           for (tmp1=0;tmp1<0x80;tmp1++)
  59.           {
  60.              RDS=!RDS;
  61.              if (IRcvByte(tmp1,&tmp2)==0) {wrok=0; break;}
  62.              XBYTE[dataadr+tmp1]=tmp2;               //讀取數據
  63.           }
  64.           Stop_I2c();
  65.        }
  66.        if (wrok==0)
  67.        {//讀寫錯誤
  68.           ledbuf[0]=0x01;  ledbuf[1]=0x0c;  ledbuf[2]=0x10;
  69.           ledbuf[3]=0x0E;  ledbuf[4]=0x14;  ledbuf[5]=0x14;//IC-ERR
  70.           while(1) disp();
  71.        }
  72.        if (wrst==0) wrst=1; //向卡寫數據完成后,讀取數據
  73.        else
  74.        {//IC卡讀寫正確
  75.           ledbuf[0]=0x01;  ledbuf[1]=0x0c;  ledbuf[2]=0x09;
  76.           ledbuf[3]=0x00;  ledbuf[4]=0x00;  ledbuf[5]=0x0d;//ICgood
  77.           while(1) disp();
  78.        }
  79.     }
  80. }

  81. void disp(void)
  82. {
  83.     unsigned char i;
  84.     unsigned int ledwz=0x20;
  85.     for (i=0;i<6;i++)
  86.     {
  87.        pb8155=DISPB[ledbuf[i]];
  88.        pa8155=~(ledwz>>i);
  89.        delay(8);
  90.     }
  91. }

  92. void delay(unsigned char dl)
  93. {
  94.    unsigned char ii1,ii2;
  95.    for (ii1=0;ii1<dl;ii1++)
  96.     // for (ii2=0;ii2<0xA;ii2++);
  97.      for (ii2=0;ii2<0x0f;ii2++);
  98. }

  99. //發送開始
  100. void Start_I2c(void)
  101. {
  102.    SDA=1;  delay(1);
  103.    SCL=1;  delay(1);
  104.    SDA=0;  delay(1);
  105.    SCL=0;  delay(1);
  106. }
  107. //發送停止
  108. void Stop_I2c(void)
  109. {
  110.    SCL=0;  delay(1);
  111.    SDA=0;  delay(1);
  112.    SCL=1;  delay(1);
  113.    SDA=1;  delay(1);
  114. }

  115. //發送數據C可以是地址,也可以是數據,發完后等待應答,并置狀態位ack=1(ok)
  116. void  SendByte(unsigned char c)
  117. {
  118.    unsigned char BitCnt;
  119.    for(BitCnt=0;BitCnt<8;BitCnt++)  //要傳送的數據長度為8位
  120.    {
  121.       SCL=0;
  122.       if((c<<BitCnt)&0x80) SDA=1;   //判斷發送位
  123.       else  SDA=0;
  124.       delay(1);
  125.       SCL=1;  delay(1);            //置時鐘線為高,通知被控器開始接收數據位
  126.    }
  127.    SCL=0;    delay(1);
  128.    SCL=1;    delay(1);
  129.    if(SDA==1) ack=0;
  130.    else ack=1;                    //*判斷是否接收到應答信號
  131. }

  132. //發送字節數據函數
  133. bit ISendByte(unsigned char sla,unsigned char c)
  134. {
  135.     Stop_I2c();  delay(1);               //結束總線
  136.     Start_I2c();                //啟動總線
  137.     SendByte(0xA0);             //WR2401
  138.     if(ack==0) return(0);
  139.     SendByte(sla);              //地址
  140.     SCL=0;    delay(1);
  141.     if(ack==0) return(0);
  142.     SendByte(c);         //寫數據
  143.     if (ack==0) return(0);
  144.     Stop_I2c(); delay(3);
  145.     return(1);
  146. }

  147. //讀字節數據函數從器件地址sla,返回值在c. 返回1(OK)
  148. bit IRcvByte(unsigned char sla,unsigned char *c)
  149. {
  150.     Stop_I2c();  delay(1);       //結束總線
  151.     Start_I2c();                //啟動總線
  152.     SendByte(0xA0);             //WR2401
  153.     if(ack==0) return(0);
  154.     SendByte(sla);             //地址
  155.     SCL=0;    delay(1);
  156.     if(ack==0) return(0);
  157.     Start_I2c();                //啟動總線
  158.     SendByte(0xA1);             //設備地址00
  159.     if(ack==0) return(0);
  160.     *c=RcvByte();               //讀取數據
  161.     if (ack==0) return(0);
  162.     Stop_I2c();
  163.     return(1);
  164. }

  165. //接收從器件傳來的數據,并判斷總線錯誤(不發應答信號),
  166. unsigned char  RcvByte()
  167. {
  168.    unsigned char retc;
  169.    unsigned char BitCnt;
  170.    retc=0;
  171.    for(BitCnt=0;BitCnt<8;BitCnt++)
  172.    {
  173.         SCL=0;   delay(1);    //置時鐘線為低,準備接收數據位
  174.         SCL=1;   delay(1);    //置時鐘線為高使數據線上數據有效
  175.         retc=retc<<1;
  176.         if(SDA==1)retc=retc+1; //讀數據位,接收的數據位放入retc中
  177.         delay(1);
  178.    }

  179. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

完整資料下載:
12實驗十二 I2C存儲卡讀寫實驗a.zip (22.94 KB, 下載次數: 22)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
亚洲图区欧美| 99亚洲精品| av在线不卡播放| 亚洲欧美一区二区三| 国产精品综合激情| 国产淫片免费看| 99九九电视剧免费观看| 日韩有码在线播放| 欧美日韩免费在线视频| 欧美韩日一区二区三区四区| 久久国产66| 九九视频免费观看视频精品| 中文字幕在线直播| 久久夜色撩人精品| 在线看片一区| 91综合精品国产丝袜长腿久久| 四虎在线观看| 香蕉青柠影院| 亚洲精品免费在线观看视频| 中文乱码字幕高清一区二区| 中文字幕亚洲乱码| 欧美精品一区二区性色a+v| 国产精品爽黄69| 国产成人精品一区二| 成人免费看片39| 亚洲青青一区| 日本一本在线免费福利| 在线观看高清av| 先锋影音资源综合在线播放av| 亚洲男人天堂影院| 国产尤物在线观看| 久久国产视频精品| 久久久精品成人| 国产a级片视频| 亚洲一二三区av| 黄色一级大片免费| 日韩欧美一区二区三区四区| 96sao精品视频在线观看| 91国产高清在线| 久久成人精品视频| 伊人久久久久久久久久| 精品人在线二区三区| 欧洲一区二区三区在线| 亚洲va中文字幕| 亚洲欧美在线高清| 欧美激情在线看| wwwwxxxxx欧美| 高清在线观看日韩| 国产一区二三区好的| 久久久青草婷婷精品综合日韩| 91成人精品视频| 欧美日韩一区二区三区视频播放| 国产精品亚洲综合在线观看| 91成人在线| 亚洲1234区| 国产福利片在线观看| 成人综合影院| 国产乱子伦三级在线播放| 在线看黄网站| 亚洲成人男人天堂| 中文字幕在线免费专区| 日本免费专区| av成人动漫| 两个人hd高清在线观看| 午夜影院免费| 在线观看视频网站你懂得| 一个人看的免费视频色| 久久久久久久久99| 999精品在线视频| 久久riav| 欧美国产在线看| 国产三级精品网站| 国产成人中文字幕| 国产精品88a∨| 国产精品美女在线| 国产免费一区二区三区在线观看| 国产精品老女人精品视频| 国产精品久久久久久av| 国产精品旅馆在线| 91久久精品国产91久久性色| 91网站在线免费观看| 亚洲影视中文字幕| www.成人三级视频| 日韩欧美精品在线不卡| 亚洲天堂一区二区| 热这里只有精品| 欧美xxxx黑人又粗又长精品| 精品国产乱码久久久久久108| 国产精品高清一区二区三区| 欧美一区二区视频17c| 亚洲高清在线观看一区| 青青青青在线视频| 91香蕉视频导航| 久久久久亚洲av无码网站| 亚洲一区二区三区无码久久| 国产又色又爽又高潮免费| 日本少妇做爰全过程毛片| 日本三级一区二区| 国产无套在线观看| 在线成人视屏 | 欧美猛交免费看| 久久国产精品久久久| 午夜精品一区二区三区在线视| 国产精品电影观看| 精品久久久久久乱码天堂| 一本—道久久a久久精品蜜桃| 999在线观看视频| 亚洲一区二区三区四区精品| 欧美影院在线播放| 国产精品久久久久久久免费大片 | 精品国内亚洲2022精品成人| 亚洲动漫在线观看| 一区二区三区四区五区精品视频 | 五月精品视频| 日韩精品乱码av一区二区| 波多野结衣精品在线| 一区二区三区日韩| 日韩欧美一区二区在线视频| 久久中文久久字幕| 国产福利久久精品| 无码播放一区二区三区| 蜜臀av粉嫩av懂色av| 日本免费观看视| 青青在线观看视频中文字| 国产精品免费一区| 国产精品久久久网站| 婷婷丁香久久| 久久精品一区二区不卡| 麻豆一区二区三区| 国产精品传媒在线| 欧美一区二区在线播放| 久久99青青精品免费观看| 岛国一区二区三区高清视频| 性一交一乱一伧国产女士spa| 国产成人精品一区二区三区在线观看 | 日本免费一区二区视频| 欧美日韩国产高清| 97久久超碰精品国产| 妺妺窝人体色www婷婷| 欧美黄色www| 国产精品综合不卡av| 亚洲视频电影| 久久6免费视频| 久久久久香蕉视频| 成人小说亚洲一区二区三区 | 日韩精品视频免费| 国产精品成人aaaaa网站| 伊人av成人| 国产草草浮力影院| 在线观看毛片视频| 天天操天天插| 青青青免费在线视频| 波多野结衣不卡视频| 久久综合伊人77777麻豆最新章节| 一级黄色片大全| aaa国产视频| 五月天亚洲激情| 日韩在线观看视频一区| www.夜夜骑.com| 欧美日韩经典丝袜| 成人影视亚洲图片在线| 成人91在线观看| 91精品婷婷国产综合久久性色| 久久久久亚洲精品| 欧美少妇在线观看| 久久久久人妻一区精品色| 亚洲色图图片专区| 成人福利在线| 精品成人影院| 国产精品天美传媒入口| 国产精品午夜国产小视频| 999精品在线观看| 无码内射中文字幕岛国片| 久久99久久久| 蝌蚪91视频| av影视在线| 激情久久久久| 亚洲成人免费在线| 欧美—级a级欧美特级ar全黄| 一级做a爰片久久| 一级片黄色录像| 乱小说欧美综合| 久久av色综合| 9色精品在线| 在线视频亚洲一区| 国产综合色香蕉精品| 久久久久影视| www.狠狠艹| 免费高潮视频95在线观看网站| 欧美精品国产一区| 一区二区三区不卡在线观看| 欧美精品久久久久久久| 国产成人在线免费看| 日韩三级视频在线播放| 91黑丝在线| 久久亚洲黄色| 中文字幕精品综合| 欧美激情国产日韩精品一区18| 久久综合久久网| 国产91精品看黄网站在线观看| 成视频年人免费看黄网站| 国内精品偷拍| 国产精品嫩草影院av蜜臀| 欧美成人一区在线| 欧美美女性视频| 俄罗斯男人又粗又大| 色婷婷av在线| 日本人妖一区二区| 日韩国产精品亚洲а∨天堂免| 亚洲春色综合另类校园电影| 久久久99精品| 在线观看国产麻豆| 国产尤物精品| 4438亚洲最大| 亚洲国产一区二区三区在线| av一区二区三区四区电影| 狠狠人妻久久久久久综合蜜桃| 亚洲欧美日韩综合精品网| 日本三级一区| 不卡影院免费观看| 免费成人高清视频| www.com久久久| 亚洲欧美自拍另类| 国产精品亚洲欧美一级在线| 福利视频第一页| 欧美日韩国产成人在线观看| 99视频精品全部免费看| 性色av一区二区三区四区| 视频在线不卡| 激情综合中文娱乐网| 91精品婷婷国产综合久久性色 | 超碰人人人人人人人| 免费看av的网址| 波多野结衣在线观看一区二区三区 | 98精品国产高清在线xxxx天堂| 亚洲免费在线播放视频| 国产1区2区| 欧美三级午夜理伦三级在线观看 | www.操.com| 久久99久久人婷婷精品综合| 狠狠久久亚洲欧美专区| 美女三级99| 正在播放亚洲精品| 欧美xxxxhdvideosex| 粉嫩一区二区三区性色av| 欧美激情一区二区久久久| 无码人妻一区二区三区精品视频| 中国老太性bbbxxxx| 2019男人天堂| 久久精品久久久久| 欧美大香线蕉线伊人久久国产精品 | 国产又爽又黄的激情精品视频| 免费污网站在线观看| 米奇.777.com| 亚洲免费激情| 在线丨暗呦小u女国产精品| the porn av| 星空影院最新电视剧免费观看| 黄页网址大全免费观看| 久久精品免费一区二区三区| 精品国产一区a| 男女av免费观看| 国产麻豆精品一区二区三区v视界 国产麻豆剧果冻传媒观看hd高清 国产麻豆剧果冻传媒视频杜鹃 | 国产 中文 字幕 日韩 在线| 极品色影院av| 欧美阿v一级看视频| 亚洲国产精品嫩草影院久久| 亚洲乱码国产一区三区| 久久久久久久久久久久久91| 日本一区二区免费高清| 3751色影院一区二区三区| 男人日女人下面视频| 九九九九热精品免费视频| 91精品日本| 手机视频在线观看| 久久字幕精品一区| 国产精品无码久久av| 理论片播放午夜国外| 亚洲区第一页| 在线观看欧美视频| 男人网站在线观看| 影音先锋电影在线观看| 国产精品一区二区果冻传媒| 日本久久91av| 天堂网av手机版| 成人免费看视频网站| 一区二区三区高清在线| 一区不卡字幕| 亚洲国产日韩在线人成电影| 国产精品免费不| 亚洲欧美激情精品一区二区| 久久久久麻豆v国产精华液好用吗| 中文字幕一区二区三区免费视频| 国产精品一区2区| 国产一区二区丝袜| 亚洲天堂手机版| 亚洲一区网址| 亚洲成人a**站| 亚洲国产果冻传媒av在线观看| 欧美女优在线| 国产日本一区二区| 伊人久久婷婷色综合98网| 成年人二级毛片| 国产精品自拍合集| 精品国产无码一区二区三区| 国内视频在线精品| 亚洲欧美精品一区二区| 成年人免费观看视频网站| 国产激情小视频在线| 亚洲一区影音先锋| 国产成人久久婷婷精品流白浆| chinesegaysextube| 久久99精品国产| 国产精品一区二区三区四区五区 | 欧美三级电影网| 天天av天天操| www.中文字幕久久久| 亚洲卡通欧美制服中文| 浮妇高潮喷白浆视频| bdsm精品捆绑chinese女| 久久午夜色播影院免费高清 | 日本不卡高清视频一区| 日本欧美黄色| 久久免费高清| 97se国产在线视频| 影音先锋中文在线观看| 亚洲成人原创| 91久久国产精品91久久性色| 亚洲第一香蕉视频| 性欧美暴力猛交另类hd| 99久久精品免费看国产一区二区三区 | 五月天婷婷亚洲| 可以在线观看的av| 亚洲国产成人av| 伊人网在线综合| www视频在线免费观看| 欧美日韩性生活| 女尊高h男高潮呻吟| 偷拍视频一区二区三区| 亚洲国产精品久久久久| 波多野结衣亚洲一区二区| 精品国产亚洲一区二区三区大结局| 精品丝袜一区二区三区| 日韩精品乱码久久久久久| 亚洲国产欧美日韩在线观看第一区| 久久亚洲国产成人| 一卡二卡在线视频| 午夜欧美视频| 国产98在线|日韩| 九九三级毛片| 国产亚洲欧美日韩在线一区| 99精品视频播放| 永久免费av片在线观看全网站| 1024手机看片国产| 日产欧产va高清| 在线看黄色av| 欧美日韩一卡二卡三卡 | 国产九色精品成人porny| 日韩欧美亚洲日产国| xxxxx中文字幕| 一区二区三区在线免费| 日本人妻一区二区三区| heyzo高清国产精品| 亚洲精品456在线播放狼人| 日本一级一片免费视频| 欧美电影《轻佻寡妇》| 91麻豆国产精品| 青青草娱乐视频| 日本一区二区三区国色天香| 亚洲精品20p| 欧美成人资源| zzjj国产精品一区二区| 亚洲精品国产精品国| 美女网站视频久久| 国产女人18毛片| 91精品专区| 亚洲成人免费网站| 中文字幕人妻互换av久久| 亚洲毛片视频| 亚洲资源在线网| 久蕉在线视频| 日韩区在线观看| 中文字幕av第一页| 午夜在线播放视频欧美| 在线观看91久久久久久| 日本一区二区三区视频| 99精品欧美| 热舞福利精品大尺度视频| 视频免费在线看| 色噜噜狠狠色综合欧洲selulu| 女人18毛片毛片毛片毛片区二 | 亚洲天堂av一区| 性欧美成人播放77777| 老司机在线精品视频| 91久久精品国产91久久| 成人福利视频在| 欧美无砖专区一中文字| 久久久久久少妇| 免费亚洲婷婷| 国产精品50p|