版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第4章單片機的輸入/輸出端口
4.1輸入/輸出端口結構
4.2輸入/輸出端口負載能力4.3P1口輸出功能應用實例4.4P3口輸入功能應用實例
14.1輸入/輸出端口結構8051單片機有4個8位并行I/O端口,稱為P0、P1、P2和P3口,每個端口都各有8條I/O口線,每條I/O口線都能獨立地用作輸入或輸出。在無片外擴展存儲器的系統(tǒng)中,這四個I/O口都可以作為通用I/O口使用。在有片外擴展存儲器的系統(tǒng)中,P2口送出高8位地址,P0口分時送出低8位地址和8位數(shù)據(jù)。
21.P0口P0口某一位的結構圖如下圖所示,它由一個輸出鎖存器、兩個三態(tài)輸入緩沖器、一個轉換開關MUX、一個輸出驅動電路(T1和T2)和一個與門及一個非門組成。
3(1)P0口用作通用I/O口
MUX與鎖存器的Q端接通,與門輸出為0,T1截止,輸出驅動級就工作在需外接上拉電阻的漏極開路方式。①P0口用作輸出口
CPU在執(zhí)行輸出指令時,內(nèi)部數(shù)據(jù)總線的數(shù)據(jù)在“寫鎖存器”信號的作用下,由D端進入鎖存器,取反后出現(xiàn)在Q端,再經(jīng)過T2反向,則P0.X引腳上的數(shù)據(jù)就是內(nèi)部總線的數(shù)據(jù)。由于T2為漏極開路輸出,故此時必須外接上拉電阻。04②P0口用作輸入口數(shù)據(jù)可以讀自端口的鎖存器,也可以讀自端口的引腳,這要看輸入操作執(zhí)行的是“讀鎖存器”指令還是“讀引腳”指令。方式1:讀引腳。CPU在執(zhí)行“MOV”類輸入指令時(如:MOVA,P0),內(nèi)部產(chǎn)生的操作信號是“讀引腳”。P0.X引腳上的數(shù)據(jù)經(jīng)過緩沖器2讀入到內(nèi)部總線。注意,在讀引腳時,必須先向電路中的鎖存器寫入1,使T2截止,P0.X引腳處于懸浮狀態(tài),可作為高阻抗輸入。MOV類指令5②P0口用作輸入口方式2:讀鎖存器。CPU在執(zhí)行“讀-改-寫”類輸入指令時(如:ANLP0,A),內(nèi)部產(chǎn)生的操作信號是“讀鎖存器”,鎖存器中的數(shù)據(jù)經(jīng)過緩沖器1送到內(nèi)部總線,然后與A的內(nèi)容進行邏輯“與”,結果送回P0的端口鎖存器并出現(xiàn)在引腳。除了MOV類指令外,其他的讀口操作指令都屬于這種情況。6(2)P0口用作地址/數(shù)據(jù)總線
MUX將地址/數(shù)據(jù)線與T2接通,同時與門輸出有效。若地址/數(shù)據(jù)線為1,則T1導通,T2截止,P0口輸出為1;反之T1截止,T2導通,P0口輸出為0。當數(shù)據(jù)從P0口輸入時,讀引腳使三態(tài)緩沖器2打開,端口上的數(shù)據(jù)經(jīng)緩沖器2送到內(nèi)部總線。
7(3)P0口小結
①P0口既可作地址/數(shù)據(jù)總線使用,也可作通用I/O口使用。當P0口作地址/數(shù)據(jù)總線使用時,就不能再作通用I/O口使用了。②P0口作輸出口使用時,輸出級屬漏極開路,必須外接上拉電阻,才有高電平輸出。③P0口作輸入口讀引腳時,應先向鎖存器寫1,使T2截止,不影響輸入電平。
82.P1口P1口是唯一的單功能口,僅能作為通用I/O口使用。由于在其輸出端接有上拉電阻,故可以直接輸出而無需外接上拉電阻。同P0口一樣,當作輸入口時,必須先向鎖存器寫“1”,使場效應管T截止。
93.P2口圖中的控制信號C決定轉換開關MUX的位置:當C=0時,MUX撥向下方,P0口為通用I/O口;當控制信號C=1時,MUX撥向上方,P0口作為地址總線使用。在實際應用中,P2口通常作為高8位地址總線使用。
104.P3口P3口用作通用I/O口時,第二輸出功能信號W=1,P3口的每一位都可定義為輸入或輸出,其工作原理同P1口類似。在真正的應用電路中,P3口的第二功能顯得更為重要。11
P3口的第二功能
引腳第二功能功能說明P3.0RXD串行口輸入P3.1TXD串行口輸出P3.2外部中斷0輸入P3.3外部中斷1輸入P3.4T0定時器/計數(shù)器0計數(shù)輸入P3.5T1定時器/計數(shù)器1計數(shù)輸入P3.6片外RAM寫選通信號(輸出)P3.7片外RAM讀選通信號(輸出)124.2輸入/輸出端口負載能力
P0口的輸出級與P1~P3口的輸出級在結構上不同,其輸出級無上拉電阻,因此它們的負載能力和接口要求也不相同。P0口的每一位能驅動8個LSTTL負載。在作為通用I/O口使用時,輸出驅動電路是開漏的,所以,驅動集電極開路(OC門)電路或漏級開路電路需外接上拉電阻。當作為地址/數(shù)據(jù)總線使用時(T1可以提供上拉電平),口線不是開漏的,無需外接上拉電阻。P1~P3口的每一位能驅動4個LSTTL負載。它們的輸出驅動電路有上拉電阻,所以可以方便地由集電極開路(OC門)電路或漏級開路電路所驅動,而無需外接上拉電阻。對于80C51單片機(CHMOS),端口只能提供幾毫安的輸出電流,故當作輸出口去驅動一個普通晶體管的基極時,應在端口與晶體管基極間串聯(lián)一個電阻,以限制高電平輸出時的電流。134.3P1口輸出功能應用實例
【例1】P1口做輸出口,控制八只發(fā)光二極管循環(huán)點亮(P1口輸出低電平時發(fā)光二極管被點亮)。
解:由于發(fā)光二極管低電平點亮,所以,需要哪個發(fā)光二極管點亮,只需在相應的端口輸出邏輯0即可。由于每個發(fā)光二極管點亮后要持續(xù)一段時間才熄滅,再使下個發(fā)光二極管點亮,因此需要編寫延時子程序,供主程序反復調用。本例中,延時子程序采用指令循環(huán)來實現(xiàn)。
地址機器碼程序注釋
ORG0000H0000H021000
LJMPMAIN
ORG1000H1000H74FE
MAIN:MOVA,#0FEH1002HF590
LOOP:MOVP1,A1004H12100A
LCALLDELAY;延時1007H23
RLA;左移位1008H80F8
SJMPLOOP;循環(huán)100AH7FFF
DELAY:MOVR7,#0FFH;延時子程序100CH7EFA
L1:MOVR6,#0FAH100EHDEFE
DJNZR6,$1010HDFFA
DJNZR7,L11012H22
RET
END14【例2】利用P1.0輸出高低電平,控制繼電器的開合,以實現(xiàn)對外部裝置(如燈L1和L2)的控制。
解:將單片機的P1.0接繼電器控制端JIN,繼電器的JZ通過K1接地,常開觸點JK接L1,常閉觸點JB接L2。編制程序,使P1.0電平變化,高電平時繼電器吸合,常開觸點閉合,L1點亮,L2熄滅;低電平時繼電器不工作,常閉觸點閉合,L2點亮,L1熄滅。
15參考程序:
地址機器碼程序注釋
ORG0000H0000H022000
LJMPMAIN
ORG2000H2000HC290
MAIN:CLRP1.0;P1.0送低電平2002H12200C
LCALLDELAY;延時2005HD290
SETBP1.0;P1.0送高電平2007H12200C
LCALLDELAY;延時200AH80F4
SJMPMAIN;循環(huán)200CH7F06
DELAY:MOVR7,#06H;延時子程序200EH7EFF
L1:MOVR6,#0FFH2010H7DFA
L2:MOVR5,#0FAH2012HDDFE
DJNZR5,$2014HDEFA
DJNZR6,L22016HDFF6
DJNZR7,L12018H22
RET
END164.4P3口輸入功能應用實例
【例3】P3口的P3.0連接一個開關,作為輸入端;P1口的P1.0~P1.7連接八只發(fā)光二極管,作為輸出端。要求用P3.0來控制P1輸出的循環(huán)燈,即當P3.0輸出高電平時,控制P1口的發(fā)光二極管左循環(huán)點亮;當P3.0輸出低電平時,控制P1口的發(fā)光二極管右循環(huán)點亮(P1口輸出低電平時發(fā)光二極管被點亮)。
解:在主程序中要對P3.0的狀態(tài)進行判斷。如果P3.0為高電平,則使用循環(huán)左移指令。如果P3.0為低電平,則使用循環(huán)右移指令。延時子程序同例1。17參考程序:地址機器碼程序注釋
ORG0000H0000H023000
LJMPMAIN
ORG3000H3000H74FE
MAIN:MOVA,#0FEH3002HF590
LOOP:MOVP1,A3004H123010
LCALLDELAY;延時3007H20B003
JBP3.0,L1300AH03
RRA;右移位300BH80F5
SJMPLOOP;循環(huán)300DH23
L1:RL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年車位產(chǎn)權買賣協(xié)議格式
- 2024年防水施工勞務協(xié)議規(guī)范化文件
- 2024新疆企業(yè)勞動協(xié)議規(guī)范化樣本
- 2024受托代理事務協(xié)議樣本
- 2024年專業(yè)運營車輛租賃協(xié)議模板
- DB11∕T 1514-2018 低效果園改造技術規(guī)范
- 單位廣告策劃與制作服務協(xié)議范例
- 2024年公司文秘職務聘用協(xié)議模板
- 2024年企業(yè)員工全日制勞動協(xié)議模板
- 文書模板-《廠房光伏租賃合同》
- 蘭新線蘭武段增建第二線某特長隧道施工組織設計
- 老舊小區(qū)改造臨時用電專項方案
- 京東商城電子商務物流分析
- 我眼中的語言學
- 海南省天一大聯(lián)考2022-2023學年物理高一第二學期期中經(jīng)典試題含解析
- 豆腐供貨協(xié)議書
- 新疆維吾爾自治區(qū)2021定額建筑及裝飾工程計算規(guī)則
- 面試真題及答案銷售類結構化面試題目
- 基本建設項目竣工財務決算審核表
- 人教版數(shù)學五年級上冊課堂作業(yè)
- 社交APP產(chǎn)品需求文檔-“SOUL”
評論
0/150
提交評論