找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6559|回复: 7
打印 上一主题 下一主题
收起左侧

讨论一下51单片机的IIC通信的应答信号与非应答信号

[复制链接]
跳转到指定楼层
楼主
ID:135253 发表于 2018-8-16 14:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
按照多数教材的理解,应答信号应该是这样:当发送器发送8位数据以后,要发送一个应答信号,个人理解:此处应该是发送一个“要求接收器回复一个应答信号的信号”,有点拗口,可能更加准确些!也就是发送器拉高SDA,然后等待接收器能否拉低SDA信号,能够拉低SDA,就是回复发生器的应答信号,发送器收到此信号后,继续发送;如果接收器不能拉低SDA,那发送器就认为是无应答信号,停止工作,也就是释放总线。发生器等待应答信号期间,SCL应该是高电平!虽然单片机模拟对应答信号要求不是很高,一般都可以工作,但是看了不少程序,总觉得不太符合。不知道上面理解的对不对,欢迎指正!

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

来自 8#
ID:401564 发表于 2018-9-23 15:19 | 只看该作者
IIC其实很简单的,让我这个小白来告诉你吧
IIC的主要信号就是三个:启动信号,停止信号,应该信号
启动和停止信号:在任何时候都可以产生
应该信号:在发送或者接收完成8个位之后的第9个位来产生.0为应答,1为不应答,向器件写入数据时,应答信号由接收器产生,从器件读出数据时,应答信号由单片机产生
以51读写24C01为例:
向24C01写入时,先写入启动信号,然后写入地址(8个位),在第9个位的时候,SDA线要为高电平(释放SDA线),接下来,单片机要不断的读取SDA线,当写入完成时,24C01会把SDA线拉低,就表示已经写入完成了.
读出数据时:先是一个启动信号,然后写入要读取的地址,再写入一个启动信号,然后单片机就开始读取SDA的电平数据了,在读取完8个位之后,在第9个位的时候,单片机要把SDA拉低(0),再给24C01一个时候,等于是告诉24C01已经接收到完整的8个位了

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

沙发
ID:174087 发表于 2018-8-16 15:16 | 只看该作者
最近刚学完iic,如果不纠结概念的话应该就是,发送完数据等待应答信号,接收到应答就继续执行,非应答就结束,楼主不说的话还真没有细细研究

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:135253 发表于 2018-8-16 15:28 | 只看该作者
woshige 发表于 2018-8-16 15:16
最近刚学完iic,如果不纠结概念的话应该就是,发送完数据等待应答信号,接收到应答就继续执行,非应答就结 ...

如果只看参考程序,有时候还真的没有在意
回复

使用道具 举报

地板
ID:381818 发表于 2018-8-16 17:43 | 只看该作者
最近用软件模拟过IIC通信,写应答信号库函数的时候,主机释放SDA总线也就是把电平拉高,在下一个时钟周期读SDA总线然后返回SDA的值就行了,并没有发送“要求接收器回复一个应答信号的信号”。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:98526 发表于 2018-8-17 10:32 | 只看该作者
我一般都是主机模拟应答信号,不管从机。只要从机没坏,都能工作

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:135253 发表于 2018-9-15 08:17 | 只看该作者
我们编写程序,利用proteus仿真,一般都是主机拉低SDA,代替从机回复的应答信号,实际硬件这个SDA的拉低应该由从机完成,所以在这个问题上,大家容易混淆,到底这个应答信号是谁发出的!

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

7#
ID:397686 发表于 2018-9-15 10:11 | 只看该作者
感觉没必要这么复杂吧!单片机向I2C发送数据完成后,接收器产生一个应答动作,并且通过I2C总线发送一个应答信号给单片机

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表