普通8051單片機上電復位時普通I/O口因有上拉電阻,輸出高電平。但在實際應用中往往要求上電復位時某些I/O為低電平,否則控制系統的繼電器、電機等就會動作。這時介紹兩種行之有效而且簡單的方法:
1.改變I/O配置
很多增強型單片機產I/O有四種配置:準雙向口,開漏輸出,推挽輸出和高阻配置,而默認為準雙向口配置,也就是標準8051的I/O口,這種配置的輸出電流為200uA左右,如果將這個I/O能過一電阻連接到地,如下圖。

從圖中可以看出I/O的最大輸出電壓為:U=200uA×1K=0.2V,這個值在大多數單片機中屬邏輯低電平,同時這個值也不能驅動硅NPN型三極管。等初始化完成后,可以將I/O配置為推挽輸出,這個配置可輸出20mA的電流,如果電源為5V,這個電阻也只吸收5mA的電流,所以輸出為高,可以驅動三極管,繼電器等器件。這個電阻的阻值可適當調整,多個I/O時可用排阻。
2.硬件拉低I/O
如果為普通8051單片機,也就是不能配置I/O,這時就可以通過拉低I/O來使復位I/O為你電平,如下圖。
因為上電進所在I/O均為高電平,所以通過8050驅動,可將I/O拉低,多個I/O時,R1可用排阻。

|