1 51单片机I/O口的各种模式
1.1 准双向口/弱上拉输出
准双向口/弱上拉输出如下图所示。
关于准双向口:不是完整的双向口,作为输入时,需要提前将NMOS管断开,既读数据之前,先锁存1。
关于强上拉、弱上拉、极弱上拉:所在支路提供的电流大,即为强;所在支路提供的电流小,即为弱。
1.2 开漏输出
开漏输出如下图所示:
开漏输出有一个特点:不能输出高电平信号。
若要输出高电平信号,需要外加上拉电阻。
1.3 强推挽输出
强推挽输出如下图所示。
1.4 高阻输入
高阻输入如下图所示。
高阻的特点:电流既不能流入也不能流出。
可以看作一个电压表,用来检测端口引脚的电平信号,但不会影响外围电路。
2 51单片机复位后引脚状态
对于STC89C51单片机:
P0口:开漏输出,引脚悬空时为低电平。
P1/P2/P3:弱上拉,即当引脚悬空时为高电平。
3 如何配置I/O口的各种模式
对于STC12C5A60S2信号的51单片机,可通过设置PnM0与PnM1两个寄存器的值,改变I/O口的模式,如下图所示。
疑问:STC89C51单片机为什么没有这两个寄存器,STC89C51型号单片机如何设置I/O口模式呢?
解答:这两个寄存器是升级51单片机新加的寄存器,对于STC89C51型号的单片机,I/O口的模式已经固定了,不能选择,就是复位后的模式。
4 参考
STC89C51RC-RD数据手册
STC12C5A60S2数据手册
什么是8051双向口和准双向口的区别
http://blog.sina.com.cn/s/blog_6692b6140101hw6s.html
强上拉、强下拉、弱上拉、弱下拉是什么意思?
http://bbs.eeworld.com.cn/thread-1070283-1-1.html
问几个关于STC89C51单片机的准双向口问题