c51编程,读端口,还要不要先输出1?

[复制链接]
5022|10
 楼主| Mindor 发表于 2010-5-10 09:26 | 显示全部楼层 |阅读模式
汇编读单片机端口引脚需要先写一条指令将端口置1,C51需要吗?
看了C51的反汇编后的汇编程序中也没有将要读引脚的端口置1的汇编指令啊?
谁能解释一下是怎么回事吗?
ayb_ice 发表于 2010-5-10 09:29 | 显示全部楼层
ShakaLeo 发表于 2010-5-10 09:35 | 显示全部楼层
估计编译器没有那么智能,知道你要读端口状态然后生成端口置1的指令。需要在C程序中先把端口置1,然后再读。不过51的端口默认状态是1,如果没有置零的操作直接读就行了。
hgjinwei 发表于 2010-5-10 12:23 | 显示全部楼层
安全起见,还是加上吧,反正也耗不了多少时间。
48327702 发表于 2010-5-10 13:26 | 显示全部楼层
编译器不会,自己操作吧。
 楼主| Mindor 发表于 2010-5-10 20:36 | 显示全部楼层
可是我在使用过程中却发现我没这么做也行的耶。。。
原野之狼 发表于 2010-5-11 10:40 | 显示全部楼层
没有深究过这个问题 一般我都会先设定为输入口
wswh2o 发表于 2010-5-11 10:52 | 显示全部楼层
51没有输入一说,就是拉高,度状态
5880527 发表于 2010-5-11 10:53 | 显示全部楼层
3楼的正确,书本上写的也是复位后为FF,绝大多数情况直接读就可以了,IIC之类的通讯才是需要读之前先置1
 楼主| Mindor 发表于 2010-5-11 10:59 | 显示全部楼层
9# 5880527
复位之后是不用重新置1,但是随后如果这个引脚端口被改变了,再次读取这个引脚的时候呢?
5880527 发表于 2010-5-11 11:09 | 显示全部楼层
后面读再多次也不需要重新置1的,不管它是高电平还是低电平,书店里的那些教材上都先置1,我觉得那作者比我还书呆子哈;P
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

413

帖子

1

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