leayh 发表于 2013-6-19 14:20:38

[求助] 80C51F040单片机P1-P3准双向端口疑惑请教~~~~

本人一菜鸟,从上位机转学单片机,看郭天祥的书上说单片机P1-P3端口,是一种准双向,用作输入时必须先向端口写1,问题:

1、书上是以AT89s52为例说明的,是否F040也是同样?
2、用作输入前写1,是何时写。是配置时写一次,还是每次输入时都要写?
3、如果每次输入时都要写1,那岂不是造成输出错误了?


如上疑惑,如有前辈解答,不胜感谢!

绿茶山人 发表于 2013-6-19 16:37:47

C8051F系列和AT8951还是有很多差别的,这些问题要上芯片手册上找答案。

绿茶山人 发表于 2013-6-19 16:42:10

C8051F040有输入输出模式寄存器需要配置 比如 P0MDINP0MDOUT,具体的看手册吧,我也忘了

starsnow 发表于 2013-6-19 22:40:27

1、书上是以AT89s52为例说明的,是否F040也是同样?
没用过,不确定。看手册最标准。
2、用作输入前写1,是何时写。是配置时写一次,还是每次输入时都要写?
每次准备接收或检测输入的时候写1。
3、如果每次输入时都要写1,那岂不是造成输出错误了?
既然你是要用作输入了,那就没有输出的功能啊。不然怎么叫做“准”双向口呢。
写1以后,确实会输出1,但如果你是用作输出的话,负载的阻抗是很高的,引脚的电压就由IO口决定。
而如果是做为输入使用,输出1后,你如果输入是1,则自然是保持1,如果输入是0,则会被拉低并且保持,这个具体的可以查看准双向口的电路原理图,输出的1并不是简单的送到引脚上的。

leayh 发表于 2013-6-24 15:08:56

starsnow 发表于 2013-6-19 22:40 static/image/common/back.gif
1、书上是以AT89s52为例说明的,是否F040也是同样?
没用过,不确定。看手册最标准。
2、用作输入前写1,是 ...

非常感谢您的详细解答!
页: [1]
查看完整版本: [求助] 80C51F040单片机P1-P3准双向端口疑惑请教~~~~