以AT89S52单片机为例
他的 IO 通信状态本身并不能设置为输入或者输出状态
其中的 P0口 为总线式设计 电路形式 为 集电极开路 也就是说它的内部开关只能将 P0的IO连接到GND上 而不能连接到 VCC上 当向P0 写“0”时 IO口将连接到 GND 而向P0写“1”时 IO将变成高阻状态 也就是相当于断开 什么都没连接 *此时若需要输出 则必须增加外部上拉电阻 来实现高电平的 *此时若需要实现输入(IO读取) 则直接读取P0即可得到外部输入的电平状态
至于 P1 2 3 其内部有上拉电阻 但一般情况下 都要在外部也配上上拉电阻 以实现稳定的 高电平输出
综上所述 实际上 默认状态输出高 可以认为是输出状态 但P0是由外部上拉电阻实现的 “输出” p123 是由内部上拉 和外部上拉同时实现的输出 也就是说 P123 内部来看是真正的输出 而P0内部的状态是高阻
至于为何要高阻 是因为 P0 用于总线的数据交换 高阻结构 是总线端口必须的一种状态
唉 说的有点多 啊 哈哈
是输出
看外围电路怎么定义的