新聞中心

        EEPW首頁 > 手機與無線通信 > 牛人業話 > 例說單片機數據通信之模擬IIC通信

        例說單片機數據通信之模擬IIC通信

        作者:Liklon 時間:2014-06-25 來源:電子產品世界 收藏

          void writeByte(unsigned char dat)

        本文引用地址:http://www.104case.com/article/248808.htm

          {

          unsigned char i = 0;

          for(i = 0;i < 8;i++)

          {

          clrSCL(); //拉低時鐘線,改變線的電平

          if(dat & 0x80) set();

          else clr();

          setSCL(); //SDA電平穩定后,拉高時鐘線

          dat <<= 1;

          }

          clrSCL();

          }

          unsigned char readByte()

          {

          unsigned char i = 0,tmp = 0;

          for(i = 0;i < 8;i++)

          {

          clrSCL(); //拉低時鐘線

          tmp <<= 1; //準備讀取數據

          setSCL(); //拉高時鐘線

          if(SDA) tmp |= 0x01;

          }

          clrSCL();

          return tmp;

          }

          AT24C02讀寫操作

          void writeAT24XX(unsigned char addr,unsigned char dat)

          {

          startbit(); //起始信號

          writeByte(0xa0); //器件地址

          respond();

          writeByte(addr); //器件內部地址

          respond();

          writeByte(dat); //數據

          respond();

          stopbit(); //停止

          }

          unsigned char readAT24XX(unsigned char addr)

          {

          unsigned char dat;

          startbit(); //起始信號

          writeByte(0xa0); //器件地址

          respond();

          writeByte(addr); //器件內部地址

          respond();

          startbit(); //起始信號

          writeByte(0xa1); //器件地址

          respond();

          dat = readByte(); //數據

          stopbit(); //停止

          return dat;

          }

          主函數部分內容以及程序運行效果:

          void main()

          {

          unsigned char dat;

          initUart();

          sendString("UART INIT OK!!!n"); //串口通信初始化

          sendString("write 0x05 --> addr 0x00 n");//寫入5到期間內部地址0

          writeAT24XX(0x00,0x05); //寫入數據

          sendString("read dat <-- addr 0x00 n"); //讀出寫入數據

          dat = readAT24XX(0x00); //讀出數據

          sendString("dat-->"); //打印

          sendByte(dat + '0');

          while(1);

          }

        模擬信號相關文章:什么是模擬信號


        51單片機相關文章:51單片機教程


        pic相關文章:pic是什么


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        數字通信相關文章:數字通信原理


        通信相關文章:通信原理



        上一頁 1 2 下一頁

        關鍵詞: IIC 單片機 SDA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 崇仁县| 新野县| 文登市| 额敏县| 泗阳县| 澄迈县| 阳泉市| 静宁县| 上虞市| 合山市| 澄江县| 齐齐哈尔市| 阳曲县| 青川县| 武宣县| 大关县| 白朗县| 安岳县| 始兴县| 涪陵区| 吉安市| 广水市| 东台市| 元氏县| 布拖县| 仙游县| 桐梓县| 临江市| 蒙自县| 启东市| 三原县| 阳泉市| 南召县| 云龙县| 定兴县| 海安县| 南安市| 崇信县| 广灵县| 报价| 宜兰市|