找回密码
 注册
搜索
查看: 691|回复: 1

[讨论] 51单片机中,IIC总线菜鸟问题

[复制链接]
发表于 2007-1-7 11:34:07 | 显示全部楼层 |阅读模式
I2C总线数据传送软件包中:应答位检查子程序CACK

(用F0作标志位,当检查到正常应答位后,F0=0;否则F0=1)
CACK:SETB SDA  ;置SDA为输入方式
SETB SCL  ;使SDA上数据有效
CLR F0 ;预设F0=0
MOV C,SDA  ;输入SDA引脚状态
JNC CEND  ;检查SDA,为0转CEND,且F0=0
SETB F0  ;无正常应答,F0=1
CEND: CLR SCL  ;子程序结束,使SCL=0
RET

上面的程序里,为什么置SDA为高电平就是设成输入方式啊?
SETB SDA;之后,sda上的数据不是都是1了吗?还怎么读数据啊?

谢谢
发表于 2007-1-8 09:23:45 | 显示全部楼层
IIC 规范里面 当SCL高电平,SDA从1到0  就表示SDA开始传送数据了,  所以开始的时候把SDA和SCL都置1,然后SDA一变化  传输的起始条件就开始了
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-27 09:50 , Processed in 0.046879 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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