六,IIC通讯配置

本文详细介绍了如何使用单片机通过模拟IIC通讯协议与QMA7981传感器进行交互,包括IIC引脚初始化、时序控制、延时函数、启动/停止信号、应答机制、发送与接收数据的步骤。同时,提到了硬件IIC的配置方法以及QMA7981的工作模式设置和读取ID号的过程。

IIC是很常见的通讯,我们先学会模拟IIC通讯,用单片机和QMA7981通讯来详解,

一:iic引脚为P3^3,P3^2,需要初始化为准双向口

P3M0 = 0x00; //设置P3.0~P3.7为双向口模式

P3M1 = 0x00;

/* I2C通信引脚定义 ,IIC通讯一共要使用2个io*/

sbit SDA = P3^3;

sbit SCL = P3^2;


二:IIC的时序,代码主要控制的就是这个时序,还要注意通讯速度。

1:延时函数,不同器件的iic通讯速率是不同的,qma7981是最快2.5us,即scl要大于2.5us转换一次电平,通讯才正常;

程序:Delay3us();  //延时3微秒


2:启动(START)SCL = 1; SDA为下降沿;但通常启动后也把SCL置低,为后面设置数据做准备,


3:停止(STOP)SCL = 1;SDA为上升沿;注意为了保证获得上升沿先给他置低,


4:应答(SACK)当单片机发出数据以后要等IIC从机应答,然后才继续下一步,应答即从机拉低SDA信号,


5:发送字节函数,一次发送8个位,用SDA脚发送。循环8次发送,发送是先发送BT7,然后BT6…BT0,先发最高位。多长发送组合好就是写命令了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值