普通8051單片機(jī)上電復(fù)位時(shí)普通I/O口因有上拉電阻,輸出高電平。但在實(shí)際應(yīng)用中往往要求上電復(fù)位時(shí)某些I/O為低電平,否則控制系統(tǒng)的繼電器、電機(jī)等就會(huì)動(dòng)作。這時(shí)介紹兩種行之有效而且簡單的方法:
1.改變I/O配置
很多增強(qiáng)型單片機(jī)產(chǎn)I/O有四種配置:準(zhǔn)雙向口,開漏輸出,推挽輸出和高阻配置,而默認(rèn)為準(zhǔn)雙向口配置,也就是標(biāo)準(zhǔn)8051的I/O口,這種配置的輸出電流為200uA左右,如果將這個(gè)I/O能過一電阻連接到地,如下圖。

從圖中可以看出I/O的最大輸出電壓為:U=200uA×1K=0.2V,這個(gè)值在大多數(shù)單片機(jī)中屬邏輯低電平,同時(shí)這個(gè)值也不能驅(qū)動(dòng)硅NPN型三極管。等初始化完成后,可以將I/O配置為推挽輸出,這個(gè)配置可輸出20mA的電流,如果電源為5V,這個(gè)電阻也只吸收5mA的電流,所以輸出為高,可以驅(qū)動(dòng)三極管,繼電器等器件。這個(gè)電阻的阻值可適當(dāng)調(diào)整,多個(gè)I/O時(shí)可用排阻。
2.硬件拉低I/O
如果為普通8051單片機(jī),也就是不能配置I/O,這時(shí)就可以通過拉低I/O來使復(fù)位I/O為你電平,如下圖。
因?yàn)樯想娺M(jìn)所在I/O均為高電平,所以通過8050驅(qū)動(dòng),可將I/O拉低,多個(gè)I/O時(shí),R1可用排阻。

|