版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
微型計算機(jī)原理與接口技術(shù)第10章并行I/O接口10.1 8255A的內(nèi)部結(jié)構(gòu)8255A的外部引腳:復(fù)位信號,RESET=1時,8255內(nèi)部復(fù)位,所有內(nèi)部寄存器清零,A、B、C三個端口自動設(shè)為輸入端口A9A8A7A6A5A4A3A2A1A0
IORIOWCSA1A0RDWR8255A端口:接口電路中能和CPU直接AE交N
換信息的寄存器控制口寄存初始化命令字8255A有4個端口寄存器如果系統(tǒng)產(chǎn)生片選信號的譯碼電路如圖,則:A數(shù)據(jù)口地址=60HB數(shù)據(jù)口地址=61HC數(shù)據(jù)口地址=62H控制口地址=63H8255A的端口編址:CSA1A0WRRD完成工作00001CPU數(shù)據(jù)→A口數(shù)據(jù)寄存器00101CPU數(shù)據(jù)→B口數(shù)據(jù)寄存器01001CPU數(shù)據(jù)→C口數(shù)據(jù)寄存器01101CPU送來的命令字→控制寄存器00010讀A口數(shù)據(jù)→CPU00110讀B口數(shù)據(jù)→CPU01010讀C口數(shù)據(jù)→CPU注意:
對控制寄存器不能進(jìn)行讀操作10.2 8255A的工作方式A口可工作在方式0、1、2B口可工作在方式0、1C口可工作在方式0工作方式適用端口方式0:基本型輸入/輸出方式A口、B口、C口方式1:選通型輸入/輸出方式A口、B口方式2:雙向數(shù)據(jù)傳送方式A口輸入設(shè)備8255A的A口PA7~PA0IBFASTBAIBF=1,通知外設(shè)輸入緩沖器已滿,請不要再送數(shù)據(jù)只有在IBF=0時,外設(shè)才能寫入數(shù)據(jù)輸入設(shè)備8255A的A口PA7~PA0IBFASTBA輸入設(shè)備8255A的B口PB7~PB0OBFBACKB輸入設(shè)備8255A的B口PB7~PB0OBFBACKBPB0…什么是基本型輸入?(以B口為例)D7
PB7至CPUD0…對B口執(zhí)行一條IN指令打開控制門當(dāng)B口定義為基本型輸入時,它相當(dāng)于一個輸入緩沖器,對B口執(zhí)行一條IN指令,就把輸入數(shù)據(jù)→CPU…什么是基本型輸出?(以A口為例)PA0…從CPU
D7
PA7D0…D
QCP…D
QCP對A口執(zhí)行一條OUT指令鎖存數(shù)據(jù)① 當(dāng)A口定義為基本型輸出時,它為一個輸出鎖存器②
CPU對A口執(zhí)行一條
OUT指令把數(shù)據(jù)鎖存在端口總之:基本型輸入/出時,8255A和外設(shè)之間沒有聯(lián)絡(luò)信號10.3 8255A控制字與初始化編程8255A控制字8255有2個控制字:①
方式選擇控制字②
C口按位置0/置1命令字控制字必須寫入控制口才能有效方式選擇控制字:1D6D5D4D3D2D1D0C口PC7~PC
4
:1=輸入0=輸出A口:1=輸入0=輸出方式選擇:方式0:0
0方式1:0
1方式2:1
XA組:C口PC3~PC
0
:1=輸入0=輸出B口:1=輸入0=輸出方式選擇:方式0:0方式1:0B組:注意:A口工作在方式1、方式2,B口工作在方式1時,D3、D0只能定義部分PC線的入/出A口工作在方式2時,D4不起作用C口上、下半部可以選擇不同的入/出(都是方式0)C端口按位置0/置1控制字:0XXXD3D2D1D0D0功能1PCX置1D3D2D1位選擇000PC0001PC1010PC2011PC3100PC4
注意101PC5110PC6111PC7
0
PCX置0:C口按位置0/1命令字必須寫入控制口8255A初始化編程步驟方式選擇控制字→控制口目的是設(shè)置某一端口的工作方式(根據(jù)需要)C端口按位置0/置1控制字→控制口目的是禁止/允許某一端口提中斷例:要求置A口為方式0輸出,B口為方式0輸入,PC7~4為輸出,PC3~0為輸入解:①
確定方式選擇控制字②
代碼:MOV
AL,83HOUT
控制口地址,AL1
0
0
0
0
0
1
1A
A口
口方
輸式
出0PC7~PC4為輸出B
B口
口方
輸式
入0PC3~PC0為輸入10.4 8255A工作方式與時序一、方式0與時序方式0
輸入時序:數(shù)據(jù)有效tARtIR數(shù)據(jù)有效tHRtRAtRDtDFtRRRD輸入D7~D0CS,
A1,
A0方式0
輸出時序:數(shù)據(jù)有效tAW數(shù)據(jù)有效tDW
tWDtWAtWBtWW輸出D7~D0WRCS,
A1,
A0二、方式1(選通型)輸入及時序A口方式1方式選擇命令字:A口選通型輸入PC4PC5PC3INTEAPC7~PC6PA7~PA0STBAIBFAINTRA空閑1
0
1
1
1/0
X
X
X1=PC7和PC6為輸入線0=PC7和PC6為輸出線A口輸入A口選通型輸入PC4PC5PC3INTEAPC7~PC6PA7~PA0STBAIBFAINTRA空閑2.A口方式1輸入時,A口的中斷管理PC4PC5PC3INTEAPC7~PC6PA7~PA0STBAIBFAINTRA空閑INTEA為A口中斷允許觸發(fā)器,A口選通型輸入當(dāng)A口定義為方式1輸入時:① 用C口置0/置1命令字使PC4=1,則INTEA=1,允許A口中斷② 用C口置0/置1命令字使PC4=0,則INTEA=0,禁止A口中斷當(dāng)INTEA=1之后,若IBFA=1,則A口提出中斷請求注意:中斷允許觸發(fā)器只能受CPU控制,外設(shè)信號STBA不能使其置0/1B口方式1輸入方式選擇命令字:B口選通型輸入PC2PC1PC0INTEBPB7~PB0STBBIBFBINTRB1
X
X
X
X
1
1
X3.
B口方式1輸入的預(yù)置當(dāng)方式字=86H寫入控制口之后,B口即工作在選通型輸入,此時:①
PB7~PB0即為輸入線②
PC2自動定義為入線,稱為STBB③
PC1自動定義為出線,稱為IBFB④
PC0自動定義為出線,稱為INTRB輸出線?輸入線?不再受方式字D0控制B口選通型輸入PC2PC1PC0INTEBPB7~PB0STBBIBFBINTRBB口選通型輸入PC2PC1PC0INTEBPB7~PB0STBBIBFBINTRB5.
方式1輸入的時序tSITtSIBtRITtRIBtPHtSTSTBIBFINTRRD來自外設(shè)的輸入數(shù)據(jù)
tPSSTBIBFINTRRD來自外設(shè)的輸入數(shù)據(jù)STBIBFINTRRD來自外設(shè)的輸入數(shù)據(jù),后沿使IBF=0,從而結(jié)束一RD信號前沿使INTR=次數(shù)據(jù)輸入過程STBIBFINTRRD來自外設(shè)的輸入數(shù)據(jù)服務(wù)程序執(zhí)行IN指令之后:三、方式1(選通型)輸出及時序PC6PC7PC3INTEAPC4、5空閑ACKAOBFAINTRAA口選通型輸出PA7~01
0
1
0
1/0
X
X
X1=PC4、5為入線0=PC4、5為出線方式選擇命令字A1口方式 輸出PC3、PC6和PC7輸出?輸入?不再受方式字D3、D0控制PC4、PC5空閑,出?入?受方式字D3控制PC6PC7PC3INTEAPC4、5PA7~0ACKAOBFAINTRA空閑A口選通型輸出PC6PC7PC3INTEAPC4、5PA7~0ACKAOBFAINTRA空閑A口選通型輸出ACKBOBFBINTRBPC2PC1PC0INTEBPB7~0B口選通型輸出1
X
X
X
X
1
0
X方式選擇命令字B口方式1輸出入線?出線?不再受方式字D0控制OBFBPC2PC1PC0INTEBPB7~0B口選通型輸出ACKBINTRBOBFBPC2PC1PC0INTEBPB7~0B口選通型輸出ACKBINTRB5.
方式1輸出的時序圖tAXtAOBtAITtWBOBFtWOBINTRWR輸出tWITACKWROBFINTRACK輸出WROBFINTRACK輸出WROBFINTRACK輸出四、8255A的雙向傳輸方式只有A口可以工作在雙向傳輸方式當(dāng)A口工作在雙向方式時,B口可以工作在基本型I/O(不需要聯(lián)絡(luò)線),也可以工作在選通型I/O(使用PC0、PC1和PC2做聯(lián)絡(luò)線)1.
雙向傳輸方式的設(shè)置00B口方式0輸出01B口方式0輸入10B口方式1輸出11B口方式1輸入PC7PC6PC3INTE1PC2~0PA7~0PC4PC5空閑INTRAOBFAACKASTBAIBFAINTE2方式選擇命令字1
1
X
X
X
D2
D1
D0A口雙向1=PC2~0為入線0=PC2~0為出線PC7PC6PC3INTE1PC2~0PA7~0PC4PC5空閑INTRAOBFAACKASTBAIBFAINTE2INTE2為雙向方式中的輸入中斷允許觸發(fā)器①
用C口置0/1命令字使PC4置0,則INTE2=0②
用C口置0/1命令字使PC4置1,則INTE2=1INTE2置1后,若IBFA=1,則
INTRA=1,提出中斷請求PC7PC6PC3INTE1PC2~0PA7~0PC4PC5空閑INTRAOBFAACKASTBAIBFAINTE2五、8255A小結(jié)8255A的工作方式A口可以工作在方式0、1、2,B口可以工作在方式0、1,不能工作在方式2,C口只可以工作在方式0方式0的特點(diǎn):8255和外設(shè)交換信息時,不需要聯(lián)絡(luò)線方式1、2的特點(diǎn):8255和外設(shè)交換信息時,需要聯(lián)絡(luò)線C口分為PC7~4、PC3~0二部分,但程序員對C口的讀寫是按字節(jié)操作的A口工作在方式2時,B口只能工作在方式0、1(限制:CPU只能用查詢而不能用中斷和B口交換數(shù)據(jù))中斷允許觸發(fā)器的置0、置1對程序員來講:工作在方式1、方式2時,8255內(nèi)部有4個中斷允許觸發(fā)器,用“C口專用的置0/1命令字”可以使它們置0/1例:A口工A口方式1輸入作在方式A口方式1輸出1輸入時,執(zhí)行B口方式1輸入:B口方式1輸出A口雙向傳輸INTEAMOV
PCA4L
,000P0C10601BINTEBOUT
8255A控制口,AL
;P即C可2
使INTEPAC置2
1,允許中斷INTE1PC6INTE2PC48255A的初始化編程工作在方式0時:方式選擇命令字→控制口工作在方式1或方式2時:①
方式選擇命令字→控制口②
允許中斷(或禁止中斷)的命令字→控制口六、8255A應(yīng)用舉例例:設(shè)系統(tǒng)機(jī)外擴(kuò)了一片8255A,以及相應(yīng)的實(shí)驗(yàn)電路,如后頁圖所示。要求:先預(yù)置開關(guān)K3~K1為一組狀態(tài),然后按下自復(fù)按鈕K產(chǎn)生一個負(fù)脈沖信號輸入到PC4。用發(fā)光二極管LEDi亮來顯示K3~K1的狀態(tài)。主機(jī)鍵盤有任意鍵按下時結(jié)束演示。要求:K3
K2
K1=000
時,LED1
亮K3
K2
K1=001
時,LED2
亮K3
K2
K1=010
時,LED3
亮K3
K2
K1=011
時,LED4
亮K3
K2
K1=100
時,LED5
亮K3
K2
K1=101
時,LED6
亮K3
K2
K1=110
時,LED7
亮K3
K2
K1=111
時,LED8
亮K3~K1閉合為0,斷開為1D7~D0D7~D05VRESETIORIOWRDWR口地址譯碼218H~21FHA1A082555VLED8LED7LED1PB7PB6PB0PA2PA1PA0K3K2K15V單脈沖發(fā)生器PC4KIBFAINTRAPC3INTEACSA1A0STBA
PC5[設(shè)計思路]端口地址:A口:218H,21CHB口:219H,21DHC口:21AH,21EH控制口:21BH,21FHD7~D0D7~D05VIORIOWRESETRD口地址譯碼218H~21FHA1A0A1A082555VLED8LED7LED1PB7PB6PB0PA2PA1PA0K3K2K15VKAINTRAINTEAWRCSPC4
單脈沖發(fā)生器STB
PC5
A
IBFPC3[設(shè)計思路]2.
工作方式的選擇:①
A口:選通型輸入②
B口:基本型輸出D7~D0D7~D05VIORIOWRESETRD口地址譯碼218H~21FHA1A0A1A082555VLED8LED7LED1PB7PB6PB0PA2PA1PA0K3K2K15V單脈沖發(fā)生器PC4KIBFAINTRA
PC5PC3INTEAWRCSSTBA[設(shè)計思路]3.
8259A與CPU交換信息方式:①
CPU與B口:無條件傳送D7~D0D7~D05VIORIOWRESETRD口地址譯碼218H~21FHA1A0A1A082555VLED8LED7LED1PB7PB6PB0PA2PA1PA0K3K2K15V單脈沖發(fā)生器PC4KIBFAINTRA
PC5PC3INTEAWRCSSTBA[設(shè)計思路]3.
8259A與CPU交換信息方式:②
CPU與A口:查詢方式/中斷方式D7~D0D7~D05VIORIOWRESETRD口地址譯碼218H~21FHA1A0A1A082555VLED8LED7LED1PB7PB6PB0PA2PA1PA0K3K2K15V單脈沖發(fā)生器PC4KIBFAINTRA
PC5PC3INTEAWRCSSTBA4.
查詢方式的編程:B口方式0輸出,A口選通型輸入查詢方式選擇命令字:A口禁止中斷命令字1
0
1
1
X
0
0
X=
B0H1oo輸入方式0BBAA口輸出口方式0
X
X
X
1
0
0
0=08H.486DATA
SEGMENTMESG
DB'8255A
READY...'
,
0DH
,
0AH
,
'$'TAB
DB
11111110BDB
11111101BDB
11111011BDB
11110111BDB
11101111BDB
11011111BDB
10111111BDB
01111111BDATA
ENDSCODE
SEGMENTASSUME
CS:CODE
,
DS:DATABEG:MOV
AX
,
DATAMOV
DS
,
AX[查詢方式程序清單]CALLI8255A;8255A初始化MOVAH,9MOVDX,OFFSET
MESGINT21H;給出操作提示SCAN:
MOVINTAH,116H;有鍵入?JNZRETURN;有MOVDX,21AHINAL,DX;讀8255A的C口TESTAL,00100000B;
PC5=1
?JZSCAN;
NOMOVDX,218HINAL,DX;讀8255A的A口ANDAL,07HMOVBX,OFFSET
TABXLATTAB;查表[查詢方式程序清單]MOVDX,219HOUTDX,AL;表項(xiàng)輸出到B口JMPSCANRETURN:MOVAH,4CHINT21H;返回DOSI8255APROCMOVDX,21BHMOVAL,0B0HOUTDX,AL;寫入工作方式字MOVAL,08HOUTDX,AL;令PC4=0
(INTE
A=0)MOVDX,219HMOVAL,0FFHOUTDX,AL;熄滅LEDRETI8255AENDPCODEENDSENDBEG[查詢方式程序清單]5.
中斷方式的編程把實(shí)驗(yàn)電路8255A的PC3接ISA總線B4端子以便向系統(tǒng)機(jī)提出用戶中斷請求B口方式0輸出,A口方式1輸入,中斷方式方式選擇命令字:A口允許中斷命令字1
0
1
1
X
0
0
X=
B0HA口方式1輸入0
X
X
X
1
0
0
1B口方式0=09H輸出[中斷方式程序清單].486SEGMENTDATAMESGTABDB
'8255A
READY...',0DH,0AH,'$'DB
11111110BDB
11111101BDB
11111011BDB
11110111
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作總結(jié)之工程管理部實(shí)習(xí)總結(jié)
- 學(xué)校少先隊工作計劃3篇
- 銀行內(nèi)部管理檔案歸檔制度
- 銀行財務(wù)管理內(nèi)部控制測試制度
- 《改革開放經(jīng)驗(yàn)的科》課件
- 《故障模式分析》課件
- 科學(xué)上冊課件《總結(jié)我們的天氣觀察》
- 辦公室護(hù)膚寶典課件
- 生物細(xì)胞課件各類細(xì)胞電鏡
- 南湖上的小船課件
- 中國概況復(fù)習(xí)試題-Tonghop
- 爛尾樓繼建工程中的幾個問題及處理
- 籃球裁判記錄表
- 英語1分鐘演講小故事(課堂PPT)
- 洪水計算(推理公式法)
- ST14與DC04鋼板參數(shù)比較(內(nèi)附各類鋼板參數(shù))
- 嗶哩嗶哩產(chǎn)品介紹商業(yè)模式用戶體驗(yàn)分析PPT課程課件
- 物流公司貨物運(yùn)輸安全生產(chǎn)管理制度
- 米色紋理相聲介紹卡通通用PPT模板
- 鐳雕技術(shù)員培訓(xùn)教材
- 語言與社會身份(989)
評論
0/150
提交評論