51單片機(jī)的P0口開漏極輸出,不僅可以方便驅(qū)動LED(LED與電阻串聯(lián)后直接接在P0口開漏極輸出處,另一端要接電源正極),而且更重要的是可以實現(xiàn)電平兼容,比如說,5V的單片機(jī)要和3.3V的元件相連接,例如STC89C52RC單片機(jī)(5V)要與LT8900無線模塊(3.3V)實現(xiàn)通信,那么,我們可以將LT8900無線模塊的通信端口接在51單片機(jī)的P0口開漏極輸出處,不過P0口要接上拉電阻(一般選擇10K的上拉電阻),接下來就要特別注意了,上拉電阻的電源端引腳要接到3.3V,而不是像平常的應(yīng)用那樣直接與單片機(jī)供電的5V電源相連接。當(dāng)然,可以這樣做的前提是你的板子上要有5V轉(zhuǎn)3.3V的電壓轉(zhuǎn)換電路。這樣,就可以實現(xiàn)電平兼容了。以下是測試驗證程序:#include
//STC89C52RC,5V單片機(jī),P03口接上拉電阻,上拉10K電阻另一端接3.3V(電平兼容測試)
sbit P03 = P0^3;
sbit P10 = P1^0;
void main(void)
{
// 單片機(jī)輸出測試
//P03 = 1;//此時測量P03口,其電壓應(yīng)為3.3V//驗證成功!
//P03 = 0;//此時測量P03口,其電壓應(yīng)為0V//驗證成功!
//P0 = 0xff; //此時測試P03口和P0口其他IO的區(qū)別,
//實驗表明,只有接上拉電阻的P03口電壓為3.3V,其他不接上拉電阻的P0口電壓在1.3-1.5V之間
//P0 = 0x00; //此時測試P03口和P0口其他IO的區(qū)別,
//實驗表明,不論是否接上拉電阻,其電壓都是0V
本文引用地址:http://m.butianyuan.cn/article/201611/322097.htm//外部輸入(高電平為3.3V,低電平為0V)測試
while(1)
{
P03 = 1;//檢測外部輸入時,需要先向IO寫1
if (P03)P10 = 0; //檢測到P03口輸入為高時(3.3V),令P10口為0 ,//驗證成功!
else P10 = 1;//檢測到P03口輸入為低時(0V),令P10口為1 ,//驗證成功!
}
}
評論