理论教育 PIC单片机:I2C主模式数据接收寄存器指南

PIC单片机:I2C主模式数据接收寄存器指南

时间:2023-10-19 理论教育 版权反馈
【摘要】:I2C主模式数据接收过程中涉及的寄存器如下所示。用于决定I2C主模式下的通信速率。当I2C模式被使能时,相关引脚必须通过方向寄存器正确地设定为输入或者输出状态。

PIC单片机:I2C主模式数据接收寄存器指南

I2C主模式数据接收过程中涉及的寄存器如下所示。

1.SSP缓冲寄存器(SSPBUF)

bit7~bit0 SSP收发寄存器,在数据接收过程中,保存收到的数据字节。

2.SSP状态寄存器(SSPSTAT)

1)bit7 SMP:I2C模式的斜率控制位。

0:使能高速I2C模式(如400kHz)下的斜率控制。

1:关闭斜率控制(用于标准速度下,如100kHz)。

2)bit6 CKE:I2C输入电平选择位。

0:输入电平遵从I2C协议规范。

1:输入电平遵从SMBus协议规范。

3.波特率分频系数寄存器(SSPADD)

bit7~bit0主模式波特率分频系数寄存器。

用于决定I2C主模式下的通信速率。其计算方法为

FI2C=FOSC/(4(SSPADD+1))

4.SSP控制寄存器(SSPCON)

1)bit6 SSPOV:SSP接收数据溢出位(在I2C主机接收模式时有效)。

0:接收数据无溢出。

1:发生数据溢出事件(BF=1时,SSPBUF被写入了),必须软件清零。

2)bit5 SSPEN:MSSP模块使能位。

0:关闭MSSP模块,并且设定SCL、SDA为普通数字引脚模式。

1:使能MSSP模块,并且设定SCL、SDA为MSSP专用引脚。

当I2C模式被使能时,相关引脚必须通过方向寄存器正确地设定为输入或者输出状态。

3)bit3~bit0 SSPM3~SSPM0:MSSP工作方式选择位。

对于I2C主模式只有一种组合。(www.daowen.com)

1000:I2C主控方式,时钟=FOSC/(4(SSPADD+1))。

5.SSP控制寄存器2(SSPCON2)

1)bit5 ACKDT:应答数据位(仅在I2C主模式接收过程中有效)。

0:发送ACK信号(表示还要继续读数据)。

1:发送ACK信号(表示要结束读数据过程)。

2)bit4 ACKEN:应答信号发送位(仅在I2C主模式接收过程中有效)。

0:ACKDT信号发送完毕。

1:发送ACKDT信号,发送完毕后由硬件自动清零。

3)bit3 RCEN:接收使能位(仅在I2C主模式中有效)。

0:数据接收完毕。

1:使能I2C的接收模式,启动一次数据接收(读)操作。

4)bit2 PEN:停止信号使能位(仅在I2C主模式中有效)。

0:停止信号发送完毕,主机释放对SCL的控制权。

1:启动一次停止信号发送序列。发送完毕后此位被硬件自动清零。

5)bit0 SEN:起始信号使能位(仅在I2C主模式中有效)。

0:起始位发送完毕,主机开始获得SCL控制权。

1:启动一次起始位发送序列。发送完毕后此位被硬件自动清零。

6.外围中断状态寄存器1(PIR1)

bit3 SSPIF:同步串行模块中断标志位(在I2C主模式数据接收过程中有效)。

0:表示无I2C特殊事件发生。

1:表示发生了I2C特殊事件,如起始信号发送完毕、数据接收完毕、停止信号发送完毕

等事件,必须软件清零。主模式不建议使用中断方式,所以这里就不介绍INTCON和PIE1寄存器了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈