永发信息网

PIC16F887复位时IO口状态?

答案:2  悬赏:30  手机版
解决时间 2021-03-23 13:09
  • 提问者网友:聂風
  • 2021-03-22 23:51
PIC16F887复位时IO口状态?
最佳答案
  • 五星知识达人网友:一袍清酒付
  • 2021-03-23 00:05
PIC16F887不像51单片机那样复位后,IO口状态为高电平,而是不确定的状态,所以使用PIC16F887单片机的IO口是,有首先给它赋初值,一般都是给高电平。复位或者上电是PIC16F887各寄存器的状态:


全部回答
  • 1楼网友:神鬼未生
  • 2021-03-23 01:39

如果你没有配置它的话,复位上电后的状态X 也就是未知的状态

就拿PORTA来说, PORTA 8 位宽的双向端口。它所对应的数据方向寄存

器是TRISA (寄存器3-2)。将TRISA 的一个位置1

(= 1)可以将相应的PORTA 引脚配置为输入(即,禁

止输出驱动器)。清零TRISA 的一个位(= 0)可将相应

的PORTA 引脚配置为输出(即,将输出锁存器的内容

输出到所选择的引脚)

读PORTA 寄存器,读的是引脚的状态而

写该寄存器将会写入端口锁存器。所有写操作都是读-

修改-写操作。因此,写一个端口就意味着先读该端口

即使在PORTA 引脚用作模拟输入时, TRISA 寄存器

(寄存器3-2)仍然控制PORTA 引脚的方向。当将

PORTA 引脚用作模拟输入时,用户必须确保TRISA 寄

存器中的位保持为置1 状态。 配置为模拟输入的I/O 引

脚总是读为0。

总结下PIC16F887复位时状态未知,复位后的状态是由你的程序定的。

追问这样啊,原来复位时IO口是未知啊,也就是说复位时IO口的状态是我们无法决定的是吗?
看到很多人说复位时IO是高阻态...追答也可以认为是高组态,大多数的MCU复位时都是高组态。就像总线空闲也是高组态一样的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯