色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 手機與無線通信 > 牛人業(yè)話 > 例說單片機數(shù)據(jù)通信之模擬IIC通信

          例說單片機數(shù)據(jù)通信之模擬IIC通信

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

            void writeByte(unsigned char dat)

          本文引用地址:http://cafeforensic.com/article/248808.htm

            {

            unsigned char i = 0;

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

            {

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

            if(dat & 0x80) set();

            else clr();

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

            dat <<= 1;

            }

            clrSCL();

            }

            unsigned char readByte()

            {

            unsigned char i = 0,tmp = 0;

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

            {

            clrSCL(); //拉低時鐘線

            tmp <<= 1; //準備讀取數(shù)據(jù)

            setSCL(); //拉高時鐘線

            if(SDA) tmp |= 0x01;

            }

            clrSCL();

            return tmp;

            }

            AT24C02讀寫操作

            void writeAT24XX(unsigned char addr,unsigned char dat)

            {

            startbit(); //起始信號

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

            respond();

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

            respond();

            writeByte(dat); //數(shù)據(jù)

            respond();

            stopbit(); //停止

            }

            unsigned char readAT24XX(unsigned char addr)

            {

            unsigned char dat;

            startbit(); //起始信號

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

            respond();

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

            respond();

            startbit(); //起始信號

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

            respond();

            dat = readByte(); //數(shù)據(jù)

            stopbit(); //停止

            return dat;

            }

            主函數(shù)部分內(nèi)容以及程序運行效果:

            void main()

            {

            unsigned char dat;

            initUart();

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

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

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

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

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

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

            sendByte(dat + '0');

            while(1);

            }

          模擬信號相關(guān)文章:什么是模擬信號


          51單片機相關(guān)文章:51單片機教程


          pic相關(guān)文章:pic是什么


          單片機相關(guān)文章:單片機教程


          單片機相關(guān)文章:單片機視頻教程


          單片機相關(guān)文章:單片機工作原理


          數(shù)字通信相關(guān)文章:數(shù)字通信原理


          通信相關(guān)文章:通信原理



          上一頁 1 2 下一頁

          關(guān)鍵詞: IIC 單片機 SDA

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉