51單片機—再論IIC—軟件通用包(匯編、c語言)—03
3)主控器向被控器發送應答位信號子程序MACK(由于這個信號和發送非應答信號在c語言里寫在了一起,所以最后寫c語言的程序)
;--------------------------------------------------------------
;發送應答信號子程序
MACK:
4)主控器向被控器發送非應答新號子程序MNACK
;------------------------------------------------------------
;發送非應答信號子程序
MNACK:
然后就是上兩個的c的程序:
//---------------------------------------------------------------------
//主控器件向被控器件發送應答函數
void IIC_ack_send(bit a)
{
}
5)主控器件檢查被控器件發送來的應答位
;---------------------------------------------------------------
;檢測應答位子程序
;返回值ACK=1時表示應達
CACK:
CEND:
//-----------------------------------------------------------------
//主控器件接收應答函數
void IIC_ack_acc()
{
}
在使用上述的子程序時,如果單片機不是12MHz,自己調整啊~~哈哈
2、IIC總線數據傳送的模擬子程序
從IIC總線的數據操作中可以看出,出了起始位、停止位、發送應答函數、發送非應答函數、應答檢測函數(這里書上把它看作了數據傳送的那部分,管他呢~~~呵呵),還有發送一字節數據,接受以字節數據,發送n字節數據,接收n字節數據這幾個子程序。
評論