请教51单片机输入问题

[复制链接]
2952|7
 楼主| zhuyulk 发表于 2010-1-12 11:40 | 显示全部楼层 |阅读模式
请教51单片机做输入说是准双向,要给输入口写1的,
那么如果检测这个口的电平情况的话,怎么知道高电平的时候是外部输入的还是本身
输出口输出的,
       主要问题是程序设计当外部给单片机高电平说明数据已经准备好的,单片机可以进行处理的,那么这个检测到的高电平怎么区分的
HWM 发表于 2010-1-12 11:51 | 显示全部楼层
如果是作为输入口,外驱动门通常是两态的(即非高则低),所以不会有歧义。但如果外驱动门是三态门,若没有第三者干预的话,自然就分不清是高电平(由外驱动拉高)和高阻态(由自身上拉)了。不过此类情形(单个三态门驱动)没有多大意义,自然在应用中不会碰到。
不亦心 发表于 2010-1-12 11:53 | 显示全部楼层
看看端口硬件图
分清读写端口寄存器和读引脚
 楼主| zhuyulk 发表于 2010-1-12 12:01 | 显示全部楼层
请教HWM的,
现在问题是,单片机等待外部芯片一个高电平信号,
如果检测到高电平,则说明外部芯片把数据准备好可以和单片机进行通信,
如果没有准备好就是三态输出的,芯片的性能就是那样的,那么这种情况怎么处理 ?
原野之狼 发表于 2010-1-12 12:03 | 显示全部楼层
建议看看3L的发言
HWM 发表于 2010-1-12 12:05 | 显示全部楼层
回四楼:

那必须等到“数据准备好”信号,然后再去读数据线信号,因为此时数据线已经确保不是高阻态了且输出有效数据了。
 楼主| zhuyulk 发表于 2010-1-12 12:21 | 显示全部楼层
那是这样的,
单片机等待芯片一个高电平信号,
这个线上不是高电平就是三态的
HWM 发表于 2010-1-12 12:51 | 显示全部楼层
本帖最后由 HWM 于 2010-1-12 12:52 编辑

如果“数据准备好”(我理解就是你说的那个单片机等待的一个高电平信号)不是高电平就是三态的(类似PNP的OC门),那就必须放一个下拉电阻,而且阻值不宜过大。建议加一个反门或三极管过渡一下,以增大下拉力量。当然逻辑也反过来了。

评分

参与人数 1威望 +1 收起 理由
zhuyulk + 1

查看全部评分

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

本版积分规则

28

主题

65

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部