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字节数据这几个子程序。
评论