標題: 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口
上下拉電阻:
- 上拉電阻就是將不確定的信號通過一個電阻拉到高電平,同時此電阻起到一個限流的作用,下拉就是下拉到低電平。
- 1、OC門要輸出高電平,外部必須加上拉電阻。
- 2、加大普通IO口的驅(qū)動能力。
- 3、起到限流的作用。
- 4、抵抗電磁干擾。
上下拉電阻的選取原則:
- 1、從降低功耗方面考慮應該足夠大,因為電阻越大,電流越小。
- 2、從確保足夠的引腳驅(qū)動能力考慮應該足夠小,電阻越小,電流才能越大。
- 3、開漏輸出時,過大的上拉電阻會導致信號上升沿變緩。
過大的上拉電阻會導致信號變緩。
完整的Word格式文檔51黑下載地址:
作者: 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 |