標(biāo)題: 51單片機(jī)個(gè)人學(xué)習(xí)筆記及經(jīng)驗(yàn)(IO口結(jié)構(gòu)及上拉下拉電阻)-連載7 [打印本頁]
作者: 七月雨 時(shí)間: 2018-10-4 19:30
標(biāo)題: 51單片機(jī)個(gè)人學(xué)習(xí)筆記及經(jīng)驗(yàn)(IO口結(jié)構(gòu)及上拉下拉電阻)-連載7
日常更新7!
單片機(jī)IO口的結(jié)構(gòu):
這里為了嚴(yán)謹(jǐn),T1、T2是MOS管而非三極管,但功能和用法與三極管完全一樣:T1為PNP型,T2為NPN型。三極管與MOS管的不同之處在于三極管靠電流導(dǎo)通,而MOS管靠電壓導(dǎo)通。
準(zhǔn)雙向IO:
內(nèi)部輸出1經(jīng)反向后為0,不導(dǎo)通,IO與上拉電阻相連,為高電平。
內(nèi)部輸出0經(jīng)反向后為1,單通。IO導(dǎo)通到GND,為低電平。
開漏輸出:
比如單片機(jī)的P0口,沒有內(nèi)部的上拉電阻,這時(shí)候要想正常的使用IO控制,就必須在外部加上拉電阻。如果不接,那么IO將處于不確定狀態(tài)。
強(qiáng)推挽輸出:
上拉電阻很小,或者直接沒有上拉電阻,有著很強(qiáng)的輸出輸入電流的能力。
內(nèi)部輸出1,經(jīng)反向?yàn)?,T1導(dǎo)通,IO為高電平;
內(nèi)部輸出0,經(jīng)反向?yàn)?1,T1不導(dǎo)通,T2導(dǎo)通,接地,IO為低電平。
高阻態(tài):
電平狀態(tài)雖它后面接的東西而定,一般處于懸空狀態(tài),理論上電阻值無窮大。
如何設(shè)置IO口的狀態(tài):
可通過設(shè)置PXM1:PXM0的值:
PXM1:PXM0
0 0 準(zhǔn)雙向口(傳統(tǒng)IO)
0 1 推挽輸出(強(qiáng)上拉 ,電流可達(dá)20mA,盡量少用)
1 0 僅為輸入(高阻)
1 1 開漏,如傳統(tǒng)8051的P0口
例:C語言中直接賦值
P1M0 = 0xC0;
P1M1 = 0xA0;//P1.7開漏,P1.6高阻,P1.5強(qiáng)推挽輸出,其他準(zhǔn)雙向IO口
上下拉電阻:
- 上拉電阻就是將不確定的信號通過一個(gè)電阻拉到高電平,同時(shí)此電阻起到一個(gè)限流的作用,下拉就是下拉到低電平。
- 1、OC門要輸出高電平,外部必須加上拉電阻。
- 2、加大普通IO口的驅(qū)動能力。
- 3、起到限流的作用。
- 4、抵抗電磁干擾。
上下拉電阻的選取原則:
- 1、從降低功耗方面考慮應(yīng)該足夠大,因?yàn)殡娮柙酱螅娏髟叫 ?/font>
- 2、從確保足夠的引腳驅(qū)動能力考慮應(yīng)該足夠小,電阻越小,電流才能越大。
- 3、開漏輸出時(shí),過大的上拉電阻會導(dǎo)致信號上升沿變緩。
過大的上拉電阻會導(dǎo)致信號變緩。
完整的Word格式文檔51黑下載地址:
作者: bzaa110 時(shí)間: 2019-9-19 16:03
P1M1 = 0xA0;//P1.7開漏,P1.6高阻,P1.5強(qiáng)推挽輸出,其他準(zhǔn)雙向IO口
這個(gè)地方P1.6&P1.5 反了
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |