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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

用軟件在51單片機上模擬IIC的源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:195340 發表于 2017-5-1 20:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
用軟件在51上模擬IIC
void delay10us(void)   //誤差 0us
{
    unsigned char a,b;
    for(b=1;b>0;b--)
        for(a=10;a>0;a--);
}

void delay10ms(void)   //誤差 0us
{
    unsigned char a,b;
    for(b=1;b>0;b--)
        for(a=47;a>0;a--);
}

void init()
{
    SCL=1;
    delay10us();
    SDA=1;
    delay10us();

}

void startIIC(void)     //啟動IIC
{
    SDA=1;
    delay10us();
    SCL=1;
    delay10us();
    SDA=0;
}

void respond()  //等待應答
{
    char i;
    SCL=1;
    delay10us();
    while(SDA==1&&i<256)         //SCL=1時,若SDA接收到低電平則表明接收正常,至于i是防止程序在此處鎖死,防止IIC鎖死,一定時間未接收到型號后退出
        i++;
    SCL=0;
    delay10us();
}

void stopIIC()
{
    SCL=1;
    SDA=0;
    delay10us();
    SDA=1;
    delay10us();
    SCL=0;
}

void senddata(char udata)
{
    char i, temp;
    temp=udata;
    for(i=0;i<8;i++)
    {
        temp=temp<<1;
        SCL=0;
        delay10us();
        SDA=CY;
        SCL=1;
        delay10us();
    }

    SCL=0;                            //這之后還要發個1
    delay10us();
    SDA=1;
    delay10us();
}

char readdata()
{
    char i, k;
    SCL=0;
    delay10us();
    SDA=1;
    for(i=0;i<8;i++)
    {
        SCL=1;
        delay10us();
        k=(k<<1)|SDA;
        SCL=0;
        delay10us();
    }
    return k;
}
void write_address(char address, char udata)
{
    startIIC();
    senddata(0xa0);
    respond();
    senddata(address);
    respond();
    senddata(udata);
    respond();
    stopIIC();
}

char read_address(char address)
{
    char date;
    startIIC();
    senddata(0xa0);
    respond();
    senddata(address);
    respond();
    startIIC();
    senddata(0xa1);
    respond();
    date=readdata();
    respond();
    stopIIC();
    return date;
}   

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

使用道具 舉報

沙發
ID:263813 發表于 2018-1-8 23:19 | 只看該作者
學習一下!
回復

使用道具 舉報

板凳
ID:312101 發表于 2018-4-19 22:59 | 只看該作者
看看,, 學習下
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕国产一区 | 国产精品久久久久久婷婷天堂 | 亚洲 一区 | 欧美精品一区二区三区在线播放 | 成人福利在线视频 | 丁香婷婷综合激情五月色 | 91香蕉嫩草| 久久中文字幕一区 | 成人欧美一区二区三区黑人孕妇 | 中文字幕日韩一区 | av片在线播放 | 天天射天天操天天干 | 国产高清在线观看 | 欧美亚洲激情 | 亚洲国产精品视频一区 | 亚洲国产精品99久久久久久久久 | 久久久久久亚洲 | 日韩欧美精品在线 | 久久亚洲一区 | 久久精品国产一区老色匹 | 天堂中文字幕av | 黄色毛片免费看 | 亚洲精品视频免费观看 | 99久久99热这里只有精品 | 91精品国产综合久久国产大片 | 黄色av网站在线观看 | 国产成人高清成人av片在线看 | 国产色 | 99re视频在线| 人人操日日干 | 日韩成人精品一区二区三区 | 成人午夜免费福利视频 | 欧美精品91 | 欧美成人第一页 | 国产精品久久久久久久模特 | 国产精品毛片在线 | www.一区二区三区 | 伊人久久大香线 | 欧美国产激情 | 中文字幕一区二区三区乱码在线 | 91精品在线播放 |