久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3163|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

為啥iic的寫入和讀取之間要加延時(shí),沒(méi)加延時(shí)單片機(jī)讀取不正常?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
為啥iic的寫入和讀取之間要加延時(shí),沒(méi)加延時(shí)讀取不正常-----------------------------------------------

以下程序用郭天祥例程改的-------------------------------------

單片機(jī)源程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
bit  write=0;           //寫24C02的標(biāo)志;
sbit sda=P2^0;                        
sbit scl=P2^1;

void delay()
{ ;; }
void delay1ms(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
void start()  //開(kāi)始信號(hào)
{        
        sda=1;
        delay();
        scl=1;
        delay();
        sda=0;
        delay();
}
void stop()   //停止
{
        sda=0;
        delay();
        scl=1;
        delay();
        sda=1;
        delay();
}
void respons()  //應(yīng)答
{
        uchar i;
        scl=1;
        delay();
        while((sda==1)&&(i<250))i++;
        scl=0;
        delay();
}
void init()
{
        sda=1;
        delay();
        scl=1;
        delay();
}
void write_byte(uchar date)
{
        uchar i,temp;
        temp=date;
        for(i=0;i<8;i++)
        {
                temp=temp<<1;
                scl=0;
            delay();
                sda=CY;
                delay();
                scl=1;
                delay();
        }
        scl=0;
        delay();
        sda=1;
        delay();
}
uchar read_byte()
{
        uchar i,k;
        scl=0;
        delay();
        sda=1;
        delay();
        for(i=0;i<8;i++)
        {
                scl=1;
                delay();        
                k=(k<<1)|sda;
                scl=0;
                delay();        
        }
        return k;
}
void write_add(uchar address,uchar date)
{
        start();
        write_byte(0xa0);
        respons();
        write_byte(address);
        respons();
        write_byte(date);
        respons();
        stop();
}
uchar read_add(uchar address)
{
        uchar date;
        start();
        write_byte(0xa0);
        respons();
        write_byte(address);
        respons();
        start();
        write_byte(0xa1);
        respons();
        date=read_byte();
        stop();
        return date;
}


void main()
{
    init();
        delay1ms(12);
        delay1ms(1);
        write_add(2,0xa1);
        delay1ms(1);
    P1=read_add(2);
    while(1);
}
源碼用郭天祥例程改的

51hei截圖20210104140116.png (234.55 KB, 下載次數(shù): 89)

51hei截圖20210104140116.png

51hei截圖20210104140130.png (247.49 KB, 下載次數(shù): 103)

51hei截圖20210104140130.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:743654 發(fā)表于 2021-1-4 17:29 | 只看該作者
需要嚴(yán)格根據(jù)時(shí)序圖來(lái)寫程序,不按時(shí)序圖編寫會(huì)出錯(cuò)。
回復(fù)

使用道具 舉報(bào)

板凳
ID:390416 發(fā)表于 2021-1-4 18:02 | 只看該作者

IIC協(xié)議 可以參考我的貼子的源代碼 寫應(yīng)答和讀應(yīng)答是不同的
STC8單片機(jī)+DS3231+WS2812做的全彩RGB掛鐘程序原理圖資料
http://www.zg4o1577.cn/bbs/dpj-200965-1.html
STC8單片機(jī)+DS3231+DS18B20+74HC595的LED16x32點(diǎn)陣溫度萬(wàn)年歷源代碼分享
http://www.zg4o1577.cn/bbs/dpj-200966-1.html

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品123区 | 黄色草逼视频 | 成人免费视频播放 | 欧美中文字幕在线 | 亚洲激情一区二区 | 国产对白videos麻豆高潮 | 四虎8848精品成人免费网站 | 亚洲a级片| 日韩黄网 | 亚洲一区高清 | 黄色av免费在线观看 | 在线看av网址 | 精品一二三区 | 日韩精品福利 | 日韩精品中文字幕在线观看 | 黄色大片免费观看 | 欧美日韩免费视频 | 成人毛片100免费观看 | 谁有毛片网站 | 黄色一级视频免费看 | 97精品在线视频 | 91综合在线| 国产91页 | 久久综合99 | 在线中文字幕视频 | 国产欧美一区二区精品性色超碰 | 国产日韩欧美综合 | 国产精品久久久久久久久久久久久久 | 亚洲成人av在线播放 | 黄色一级片免费看 | 国产亚洲视频在线观看 | 亚洲激情欧美激情 | 国产在线不卡 | 麻豆一区二区 | a级片网址| 97精品久久| 国产日韩精品一区二区 | 国产三级网 | 日本高清www | 一区二区影视 | 亚洲激情五月 |