在pic微控制器中 TRIS 寄存器确定端口是作为输入还是输出, PORT 寄存器将确定内容,应写入的内容(如果是输出)或阅读(如果是输入)。
但是在8051中没有任何这种TRIS寄存器。要将寄存器配置为输入/输出,必须写入同一寄存器并写入/读取必须再次使用相同寄存器的数据。我这是对的吗?如果是,那么请解释一下怎么可能?如果没有,请解释正确的理论。
答案 0 :(得分:5)
实际上,没有什么可以将标准8051引脚设置为输入;所有引脚都是双向的。
然而,如果你给一个引脚写'0',它会打开漏极开路驱动器,并且外部任何东西都无法强制它除了'0'以外的任何东西 因此输入将只读为“0” - 无论您想要读取的外部信号如何。
但如果向引脚写入'1',则会将漏极开路驱动器置为OFF,因此外部信号可以将引脚置为高电平或低电平 - 输入可以读取外部信号的状态。
这一点在8051的“圣经”的第3章中有所解释:
第3章 - 80C51系列硬件说明: http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_HARDWARE_1.pdf
开始阅读p2,“港口结构和运营”,并特别注意图4和图2。 5.