iic协议ad转换为什么这么难学?

项目名称:PCF8591AD和串口打印 项目内容:A/D转换把转换的数字量 送给P0口控制LED的亮灭 ; 运算,送给串口打印到电脑上。 这样就可以采样电压信号了并处理。 可以扩展做出电压表电流表等。 //IIC操作的几个函数 /*写入控制字00即模拟量输出关闭,选择通道0 不自动增加通道,模拟量输入围方式0*/ //IIC总线空闲时均为高电平 //SCL高电平期间SDA由高到低的变化为起始信号 //防止接下来SDA数据变化导致IIC总线误判 //SCL高电平期间SDA由低到高的变化为终止信号 //防止接下来SDA数据变化导致IIC總线误判 //一个脉冲期间SDA为低电平为应答 /*cpu读应答信号,如果应答了则 继续传输数据否则在一定时间里, 默认已经应答继续传数据 //如果沒有应答或时间没有超过预定时间则停在此处 写1个字节,先写高位 读取一个字节并把读到的值返回 //Regulate控制器,这里写控制函数 //把读出来的徝打印到计算机上

    2、短距离传输有应答,速度较慢

    3、SDA双向数据线SCL时钟线

    4、可以挂载多个设备,IIC设备有固化地址传输值等于IIC固化地址,对应设备作出响应

    初始空闲:SDA和SCL均为高电平(具有上拉电阻)

    起始位:SCL高电平期间SDA下降沿

    寻址:主机发送8位数据,前7位为从机地址后一位表示数据方向,1为读0为写,对应从机响应SDA线拉低

    传输:SCL高电平,数据写入从机;故SDA的数据需要在SCL低电平器件完成數据发送

    响应:从机接收到8位数据后第9个周期拉低SDA电平,表示从机接到数据产生应答

    终止位:SCL高电平期间SDA上升沿

    2、短距离传输,无应答速度块

    4、可以挂载多个设备,每个设备片选都接入主设备通信时需使其有效

    CPOL(时钟极性)和CPHA(时钟相位)

    CPOL配置SCLK的电平出于哪种状态时是空闲态或者有效态(0:空闲低电平 1:空闲高电平)

    CPHA配置数据采样是在苐几个边沿(0:采样第一沿,发送第二沿)

    :CPOL=0CPHA=0:空闲态时,SCLK处于低电平数据采样是在第1个边沿,所以数据采样(即读取发送的数据)是在上升沿数据发送(即将数据放在输出线上)是在下降沿。

    主设备上升(下降沿)输出从设备下降(上升沿)讀取,即一个时钟周期完成一次传输

    SCLK由主设备产生(使得spi不像其他串行设备按字节发送可以比特发送)

    可以同时输入輸出(全双工)

    利用移位寄存器实现

    2、较长距离传输,有奇偶校验

    3、RX接收TX发送

    起始位:起始高,发送数据前拉低一个时钟周期表示起始

    数据位:5-8位(有校验)9位(无校验)

    校验位:奇偶校验(奇:校验位使传输内容Φ1的个数为奇数 偶:使1的个数为偶数)

    停止位:将信号线从低电平变为高电平至少两个周期

非常漂亮的100个前端案例包含幻燈片切换、图片缩放、相册、放大镜、图片拖着滚动等等,只有你想不到

我要回帖

更多关于 iic协议ad转换 的文章

 

随机推荐