欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: IIC總線的幾種信號與單片機程序 [打印本頁]

作者: 羽一生    時間: 2019-8-1 10:37
標題: IIC總線的幾種信號與單片機程序
IIC 總線的幾種信號1.起始和終止信號:

從時序圖可以看出,起始信號為,SCL=1,SDA下降沿;終止信號為SCL=1,SDA為上升沿,保持的時間是有限制的:


具體的程序實現如下:
起始信號:SDA=1保持時間大于4。7us,隨后SDA=0保持時間大于4us
?
1
2
3
4
5
6
7
8
9
/*SDA下降沿*/
void start()
{
SDA = 1; //順序不能反了,先是SDA=1;
SCL = 1;
delay();
SDA = 0;
delay();
}



終止信號:SDA=0保持時間大于4us,隨后SDA=1保持時間大于4。7us
?
1
2
3
4
5
6
7
8
9
/*SDA上升沿*/
void end()
{
    SDA = 0;        //順序不能反了,先是SDA=0;
    SCL = 1;
    delay();
    SDA = 1;
    delay();
}



2.應答信號:


傳送的每一個字節必須保證是8位長度。數據傳送時,先傳送最高位(MSB),每一個被傳送的字節后面都必須跟隨一位應答信號(即一幀共有9位)。
如:主機往總線上發送一個字節的數據后,釋放總線,從機會把總線拉低(即應答信號),以表示這一字節發送成功
同理主機從總線上讀取完一個字節的數據后,主機會把總線拉低,"告訴"從機這一字節的數據接收成功



程序實現
應答信號:
?
1
2
3
4
5
6
7
8
9
void ack()
{
    uchar i = 0;
    SCL = 1;
    delay();
    while(SDA == 1 && i < 250)i++;
    SCL = 0;            //SCL=0,SDA可以改變
    delay();
}





作者: zxy2266    時間: 2019-8-14 21:21
進來研究下,這幾天被1602  IIC搞暈了




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1