51单片机I/O口输入输出问题

指令 mov P1,1 和mov P1,#1有很大区别啊,为什么?

mov P1,1 将单元格01h中的数据送给P1
mov P1,#1 将数据0x01给P1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-15
可以这么考虑!51单片机的I/O端口可不象PIC的那样要你人为的去定义输出或输入,可在使用它前你要注意以下情况:
如做输出口时你可直接使用,不过我建议你最好在设计硬件时就把外线路中的相关端口控制设计为低有效,高关断,因它在上电复位后的第一状态它们都是高电平,这样你可少很多操作。
你在用它做输入口时最好在做输入作用前给它一条端口(位)置高的操作(SETBbit),因它的内部结构决定了它如它内的那端口锁存器先被用在过低位或被外电路强拉到低位后那这时你这输入就可能只是低位而造成你这输入失败(不知现最新的新版在这改过没有)。
你没用的端口如是空那的可不用管它,如连有东西的也最好参照我上说的第一意见。追问

输出是不是把p1口置高电平,输入就是把p1置低电平

本回答被网友采纳