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單片機的准雙向口問題