標題: 51單片機個人學習筆記及經(jīng)驗(IO口結(jié)構(gòu)及上拉下拉電阻)-連載7 [打印本頁]

作者: 七月雨    時間: 2018-10-4 19:30
標題: 51單片機個人學習筆記及經(jīng)驗(IO口結(jié)構(gòu)及上拉下拉電阻)-連載7
日常更新7!
單片機IO口的結(jié)構(gòu)

這里為了嚴謹,T1、T2是MOS管而非三極管,但功能和用法與三極管完全一樣:T1為PNP型,T2為NPN型。三極管與MOS管的不同之處在于三極管靠電流導通,而MOS管靠電壓導通。

準雙向IO:
內(nèi)部輸出1經(jīng)反向后為0,不導通,IO與上拉電阻相連,為高電平。
內(nèi)部輸出0經(jīng)反向后為1,單通。IO導通到GND,為低電平。

開漏輸出
比如單片機的P0口,沒有內(nèi)部的上拉電阻,這時候要想正常的使用IO控制,就必須在外部加上拉電阻。如果不接,那么IO將處于不確定狀態(tài)。

強推挽輸出:
上拉電阻很小,或者直接沒有上拉電阻,有著很強的輸出輸入電流的能力。
內(nèi)部輸出1,經(jīng)反向為0,T1導通,IO為高電平;
內(nèi)部輸出0,經(jīng)反向為 1,T1不導通,T2導通,接地,IO為低電平。

高阻態(tài):
電平狀態(tài)雖它后面接的東西而定,一般處于懸空狀態(tài),理論上電阻值無窮大。

如何設置IO口的狀態(tài):
可通過設置PXM1:PXM0的值:
PXM1:PXM0
0 0 準雙向口(傳統(tǒng)IO)
0 1 推挽輸出(強上拉 ,電流可達20mA,盡量少用)
1 0 僅為輸入(高阻)
1 1 開漏,如傳統(tǒng)8051的P0口

例:C語言中直接賦值
P1M0 = 0xC0;
P1M1 = 0xA0;//P1.7開漏,P1.6高阻,P1.5強推挽輸出,其他準雙向IO口
上下拉電阻:

上下拉電阻的選取原則



過大的上拉電阻會導致信號變緩。


完整的Word格式文檔51黑下載地址:
07-IO口結(jié)構(gòu)與上下拉電阻.docx (53.29 KB, 下載次數(shù): 19)




作者: bzaa110    時間: 2019-9-19 16:03
P1M1 = 0xA0;//P1.7開漏,P1.6高阻,P1.5強推挽輸出,其他準雙向IO口
這個地方P1.6&P1.5 反了





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1