




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
微機(jī)原理與接口技術(shù)第六章微機(jī)原理與接口技術(shù)第六章微機(jī)原理與接口技術(shù)第六章6.1并行接口的概念通信:是指計(jì)算機(jī)中主機(jī)與主機(jī)、主機(jī)與外設(shè)之間信息的傳送。一般分別分為并行通信和串行通信。并行通信:是指傳輸?shù)木€路的多條(四條、八條),一次可并行進(jìn)行多位二進(jìn)制位的傳送。串行通信:是指傳輸線路只有一條,一次只進(jìn)行一位二進(jìn)制位的傳送。16.1并行接口的概念通信:是指計(jì)算機(jī)中主機(jī)與主機(jī)、主機(jī)與外設(shè)之間信息的傳送。一般分別分為并行通信和串行通信。并行通信:是指傳輸?shù)木€路的多條(四條、八條),一次可并行進(jìn)行多位二進(jìn)制位的傳送。串行通信:是指傳輸線路只有一條,一次只進(jìn)行一位二進(jìn)制位的傳送。2020/11/2626.2可編程并行接口8255A一、8255A的基本功能有3種工作方式,方式0:基本輸入輸出;方式1:單項(xiàng)輸入輸出;方式2:雙向輸入輸出可實(shí)現(xiàn)與CPU之間的直接、查詢、中斷和DMA四種數(shù)據(jù)傳送方式。2020/11/263二、8255A的引腳40引腳雙列直插,+5V,24條可編程I/O引腳除電源和地線外,其它外部引腳信號可分為兩組:一組面向CPU的信號;一組面向外設(shè)的信號。2020/11/264二、8255A的引腳連接CPU系統(tǒng)端的主要引線:D0~D7CSRDWRA0,A1RESET——復(fù)位信號,接系統(tǒng)總線的RESETA1A0選擇00端口A01端口B10端口C11控制寄存器2020/11/265二、8255A的引腳連接外設(shè)端的引腳:PA0~PA7PB0~PB7PC0~PC7分別對應(yīng)A、B、C三個8位輸入/輸出端口三個端口可通過編程分別指定為輸入或輸出口。其中,C口即可用作獨(dú)立的輸入/輸出口,也可用作A、B口的握手聯(lián)絡(luò)信號(控制信號輸出或狀態(tài)信號輸入)。2020/11/2668255A的讀/寫操作控制A1
A0RDWRCS輸入操作(CPU讀)001010000111000數(shù)據(jù)總線←
端口A數(shù)據(jù)總線←
端口B數(shù)據(jù)總線←
端口C00110111111100000000輸出操作(CPU寫)數(shù)據(jù)總線→端口A數(shù)據(jù)總線→端口B數(shù)據(jù)總線→端口C數(shù)據(jù)總線→控制端口2020/11/267三、8255A的內(nèi)部結(jié)構(gòu)A組B組端口PA端口PC的高4位端口PB端口PC的低4位8255內(nèi)部分為A、B兩組分別進(jìn)行控制管理。PA口和PB口的輸入/輸出都具有數(shù)據(jù)鎖存能力;但PC口輸出有鎖存能力,而輸入沒有鎖存能力(僅緩沖能力)。2020/11/2688255A的內(nèi)部結(jié)構(gòu)2020/11/269四、8255與系統(tǒng)的連接示意圖D0~D7WRRDA1A0CSDBIOWIORA1A0譯碼器8255PA口PB口PC口D0~D7外設(shè)A2~A15系統(tǒng)總線2020/11/2610五.方式命令字:命令字格式2020/11/2611例1.寫入方式控制字要求:A端口:方式1輸入C端口上半部:輸出,C口下半部:輸入B端口:方式0輸出方式控制字:10110001B或B1H初始化的程序段: movdx,303h ;假設(shè)控制端口為303H moval,0b1h ;方式控制字 outdx,al ;送到控制端口2020/11/2612五.方式命令字:按位置位/復(fù)位命令字2020/11/2613例2.位控命令控制字要求:把C口的PC2引腳置成高電平輸出方式控制字:00000101B或05H初始化的程序段: movdx,303h ;假設(shè)控制端口為303H moval,05h ;使PC2=1的命令字 outdx,al ;送到命令口2020/11/26146.2可編程并行接口8255A六、8255A的工作方式8255A的工作方式與端口有關(guān),PA口有3種方式(0方式、1方式、2方式),PB口和PC口只有2種工作方式(0方式、1方式)。
2020/11/2615基本I/O方式(方式0)(PA、PB、PC)不需握手聯(lián)絡(luò)線的簡單輸入/輸出單向方式;適用于無條件傳送和查詢方式(一般PA或PB數(shù)據(jù)口,而PC做成狀態(tài)口)的接口電路選通I/O方式(方式1)(PA、PB)需握手聯(lián)絡(luò)線的復(fù)雜輸入/輸出單向方式;適用于查詢和中斷方式的接口電路雙向方式(方式2)(僅PA)需握手聯(lián)絡(luò)線的復(fù)雜輸入/輸出雙向方式;適用于查詢和中斷方式的接口電路I/O接口輸入設(shè)備I/O接口輸出設(shè)備I/O接口輸入設(shè)備I/O接口輸出設(shè)備I/O接口存儲設(shè)備2020/11/26166.38255A的0方式及其應(yīng)用在這種工作方式下,A、B和C口都可以由程序規(guī)定為輸入或輸出。方式0使用于:1、簡單的輸入輸出,不需任何聯(lián)絡(luò)信號2、查詢式輸入或輸出,由編程者選擇C口的某些位當(dāng)作控制和狀態(tài)信息。2020/11/2617例:8255A作為連接打印的查詢式接口,工作于方式0,如圖所示。設(shè)8255A的端口地址為:A端口:00D0HC端口:00D4HB端口:00D2H控制口:00D6H工作過程:當(dāng)主機(jī)要往打印機(jī)輸出字符時,先查詢打印機(jī)忙信號,如果打印機(jī)正在處理一個字符或在打印一行字符,則忙信號為1,否則為0。PC2作為打印機(jī)忙信號,PC6作為數(shù)據(jù)選通信號,將數(shù)據(jù)線上的數(shù)據(jù)打入打印機(jī)緩沖器。方式0實(shí)例2020/11/2618打印機(jī)驅(qū)動流程圖開始8255A初始化BUSY=0?送數(shù)送STB內(nèi)存+1字節(jié)-1送完?結(jié)束工作方式0例子-打印機(jī)Y2020/11/2619PP:MOVAL,81H;8255工作方式字OUTD6H,AL;A口方式0,輸出,;C口方式0,C4~7輸出,C0~3輸入MOVAL,0DH;PC6置1OUTD6H,ALMOVSI,200H;打印字符內(nèi)存地址MOVCX,0FFH;打印字符個數(shù)LPST:INAL,D4H;讀C口ANDAL,04H;查PC2=1?JNZLPST;忙,等待;不忙,送數(shù)MOVAL,[SI];從內(nèi)存取數(shù)OUTD0H,AL;送數(shù)到PA口2020/11/2620MOVAL,00001100B;將PC6置0(STB為低)OUTD6H,AL;AL00001100BNOPNOP ;延時INCAL ;AL00001101BOUT0D6H,AL ;再使STB(PC6)為1
INCSI ;內(nèi)存地址+1DECCX ;字符數(shù)-1JNZLPSTHLT2020/11/26216.48255A的1方式及其應(yīng)用數(shù)據(jù)輸入輸出要在選通信號控制下工作.端口A和端口B可以分別作為兩個數(shù)據(jù)口工作于方式1,并且,任何一個端口可以為輸入口或輸出口。2020/11/262210111/0D7D6D5D4D3D2D1D0方式1PC6.PC71=輸入0=輸出端口A輸入111D7D6D5D4D3D2D1D0端口B輸入方式1RDPA7~PA0INTEAPC4PC5PC3PC6.PC7IOINTRAIBFASTBARDINTEBPC2PC1PC0PB7~PB0STBBIBFBINTRB方式1輸入有關(guān)信號的規(guī)定端口B輸入2020/11/26231選通信號輸入端,低電平有效2輸入緩沖區(qū)滿信號,3它是8255送往CPU的中斷請求信號,高電平有效。中斷允許信號,INTE由PC4置“1”,INTR有效RDPA7~PA0INTEAPC4PC5PC3PC6.PC7IOINTRAIBFASTBA數(shù)據(jù)輸入口I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB
D7D6D5D4D3D2D1D0
方式1A口輸入有關(guān)信號的規(guī)定PC0-72020/11/2624方式1輸入聯(lián)絡(luò)信號定義STB——選通信號,低電平有效由外設(shè)提供的輸入信號,當(dāng)其有效時,將輸入設(shè)備送來的數(shù)據(jù)鎖存至8255A的輸入鎖存器IBF——輸入緩沖器滿信號,高電平有效8255A輸出的聯(lián)絡(luò)信號。當(dāng)其有效時,表示數(shù)據(jù)已鎖存在輸入鎖存器INTR——中斷請求信號,高電平有效8255A輸出的信號,可用于向CPU提出中斷請求,要求CPU讀取外設(shè)數(shù)據(jù)INTE——中斷允許信號,高電平有效用于控制中斷允許或中斷屏蔽STB和IBF是外設(shè)和8255A間的一對應(yīng)答聯(lián)絡(luò)信號,為的是可靠地輸入數(shù)據(jù)2020/11/2625方式1輸入時序2020/11/262610101/0D7D6D5D4D3D2D1D0方式1PC4.PC51=輸入0=輸出端口A輸出110D7D6D5D4D3D2D1D0端口B輸出方式1WRINTEBPC2PC1PC0PB7~PB0ACKBOBFBINTRBWRPA7~PA0INTEAPC6PC7PC3PC4.PC5IOINTRAOBFAACKA方式1輸出有關(guān)信號的規(guī)定3中斷請求1通知外設(shè)取走數(shù)據(jù)2外設(shè)響應(yīng)信號端口B輸出2020/11/2627方式1輸出聯(lián)絡(luò)信號OBF——輸出緩沖器滿信號,低有效8255A輸出給外設(shè)的一個控制信號,當(dāng)其有效時,表示CPU已把數(shù)據(jù)輸出給指定的端口,外設(shè)可以取走ACK——響應(yīng)信號,低有效外設(shè)的響應(yīng)信號,指示8255A的端口數(shù)據(jù)已由外設(shè)接受INTR——中斷請求信號,高有效當(dāng)輸出設(shè)備已接受數(shù)據(jù)后,8255A輸出此信號向CPU提出中斷請求,要求CPU繼續(xù)提供數(shù)據(jù)OBF和ACK是外設(shè)和8255A間的一對應(yīng)答聯(lián)絡(luò)信號,為的是可靠地輸出數(shù)據(jù)OBFAINTEAI/O
I/OINTRAINTEBOBFBINTRB
D7D6D5D4D3D2D1D0
PC0-72020/11/2628方式1輸出時序2020/11/2629例1:8255A端口A工作在方式1,A口輸入,允許A口中斷,編寫初始化程序。
MOVDX,PCTR;控制口地址送DXMOVAL,10110000B;A口方式1輸入OUTDX,ALMOVAL,00001001B;置PC4=1,允許中斷OUTDX,AL;2020/11/2630PA0~7PA0~7PC7PC7PC0PC6PC4~6PC1~3PB0~7PC0~5PB0~7PC38255A8255A0方式1方式乙(接收)CPU甲(發(fā)送)CPU未用OBFACK例2:應(yīng)用8255A工作在方式0和方式1進(jìn)行雙機(jī)并行通信。甲機(jī)(發(fā)送)和乙機(jī)(接收)的口地址為:A口60H、B口61H、C口62H、控制口63H2020/11/2631發(fā)送方的發(fā)送程序MOVAL,10100000B;A口方式1輸出OUT63H,AL;寫工作方式控制字MOVAL,0DH;PC6置初值1OUT63H,AL;寫位控字TEST1:INAL,62H;讀狀態(tài)口CANDAL,40H;判斷PC6是否為0,;即ACK信號是否有效JNZTEST1;無ACK信號則循環(huán)MOVAL,CL;發(fā)送(CL)值OUT60H,AL2020/11/2632接收方的接收程序MOVAL,10011000B;A口方式0輸入,C高4位輸入,C低4位輸出 OUT63H,AL;寫工作方式控制字MOVAL,01H;PC0置初值1OUT63H,AL;寫位控字RECEIVE:INAL,62H;讀狀態(tài)口CTESTAL,10H;判斷PC7是否為0,;即OBF信號是否有效JNZRECEIVE;無OBF信號則循環(huán)INAL,60H;接收甲機(jī)值MOVCL,AL;保存接收值到CLMOVAL,00H;PC0置0,發(fā)送ACK信號OUT63H,ALCALLDELAYINCAL;PC0置1,即ACK信號只持續(xù)一段時間OUT63H,AL┇為什么要設(shè)置C口?2020/11/2633①方式2只適用于端口PA;②方式2類似于PA口方式1下輸入和輸出的組合。③
PA口用方式2時,PC口(PC7~PC3)的5條線提供傳輸聯(lián)絡(luò)信號④INTE1為PC6,INTE2為PC4。OBFAINTE1IBFAINTE2INTRA
D7D6D5D4D3D2D1D0
PC0-7PA方式2時的狀態(tài)字PB口方式?jīng)Q定6.58255A的2方式及其應(yīng)用2020/11/2634D7D6D5D4D3D2D1D011端口A方式B組方式0=方式01=方式1PC2~PC01=輸入0=輸出端口B1=輸入0=輸出PC2~PC0PC4PC5PC6PC7PC3INTE1INTE2IOIBFASTBAACKAOBFAINTRAWRRDPA7~PA0方式2有關(guān)信號的規(guī)定2020/11/2635一個數(shù)據(jù)輸出過程和一個數(shù)據(jù)輸入的時序工作方式2時序2020/11/26366.58255A的2方式及其應(yīng)用四、中斷方式的雙向并行接口設(shè)計(jì)1.要求主從兩臺微機(jī)進(jìn)行并行傳送,共傳送256個字節(jié)。主機(jī)一側(cè)的8255A采用2方式并且用中斷方式傳送數(shù)據(jù)。從機(jī)一側(cè)8255A工作在0方式,采用查詢方式傳送數(shù)據(jù)。2.分析為了適應(yīng)矢量中斷的要求,接口電路中使用中斷控制器8259A,并且是利用IBM-PC的中斷資源將8255A的中斷請求線IN1R接到系統(tǒng)總線的IRQ2上。由于在2方式下輸入中斷請求和輸出中斷請求共用一根線,因此,要在中斷服務(wù)程序中,用讀取狀態(tài)字的辦法查詢IBF和OBF狀態(tài)位來決定執(zhí)行輸入操作還是輸出操作。
2020/11/26376.58255A的2方式及其應(yīng)用四、中斷方式的雙向并行接口設(shè)計(jì)3.設(shè)計(jì)(1)硬件設(shè)計(jì)從圖6.19可知主機(jī)一側(cè)的8255A的PA口作雙向傳送,既輸出又輸人,它的中斷請求線接到8259A的IR2上。從機(jī)一側(cè)的8255A的PA口和PB口是單向傳送,分別作輸出和輸入。(2)軟件設(shè)計(jì)下面討論主機(jī)一側(cè)的編程,包括初始化,主程序和中斷服務(wù)程序:有關(guān)中斷向量的獲取、修改和恢復(fù)的程序段均已略去,可參考第五章。2020/11/2638圖6.192方式接口電路圖2020/11/26396.58255A的2方式及其應(yīng)用8255A初始化程序MOVDX,303H;8255A控制口MOVAL,0C0H;方式字:A口為2方式OUTDX,ALMOVAL,09H;置位PC4,設(shè)置INTE2=1,輸入中斷允許OUTDX,ALMOVAL,ODH;置位PC6,設(shè)置INTE1=1,輸出中斷允許OUTDX,ALMOVSI,300H;發(fā)送數(shù)據(jù)塊首址MOVDI,410H;接收數(shù)據(jù)塊首址MOVCX,0FFH;發(fā)送與接收字節(jié)數(shù)。。2020/11/26406.58255A的2方式及其應(yīng)用AGAIN:STI;開中斷HLT;等待中斷DECCX;字節(jié)數(shù)減1JNZAGAIN;未完,繼續(xù)MOVAX,4COOH;已完,退出INT21H ;返回DOS;中斷服務(wù)程序T_RPROCFAR;中斷服務(wù)程序入口ASSUMECS:CODE,DS:DATA,SS:STACKPUSHAX;保存寄存器PUSHDXPUSHDIPUSHSIMOVDX,303H;8255A控制口MOVAL,08H;復(fù)位PC4,使INTE2=0,禁止輸入中斷OUTDX,ALMOVAL,OCH;復(fù)位PC6,使INTE1=0,禁止輸出中斷OUTDX,ALCLI;關(guān)中斷
2020/11/26416.58255A的2方式及其應(yīng)用MOVDX,302H;8255A狀態(tài)口INAL,DX;查中斷源,讀狀態(tài)字MOVAH,AL;保存狀態(tài)字ANDAL,20H;檢查狀態(tài)位IBF,是輸入?JZOUTP;不是,則跳輸出程序OUTPINP:MOVDX,300H;是,則從A口讀數(shù)INAL,DXMOV[DI],AL;存入內(nèi)存區(qū)INCDI;接收數(shù)據(jù)塊內(nèi)存地址加1JMPRETURN;跳RETURNOUTP:MOVDX,300H;向A口寫數(shù)MOVAL,[SI];
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSM 0049-2024“領(lǐng)跑者”評價技術(shù)要求 機(jī)織兒童服裝
- 二零二五年度高效節(jié)能大棚租賃及能源管理協(xié)議
- 二零二五年度個人環(huán)保項(xiàng)目貸款抵押擔(dān)保合同
- 二零二五年度汽車銷售區(qū)域代理退出協(xié)議
- 二零二五年度街道辦事處社區(qū)工作者績效激勵聘用合同
- 二零二五年度智能交通管理系統(tǒng)知識產(chǎn)權(quán)授權(quán)協(xié)議
- 2025年度車輛質(zhì)押融資服務(wù)協(xié)議
- 二零二五年度高新技術(shù)園區(qū)建設(shè)資金委托墊資合同
- 2025年度終止供貨協(xié)議函模板與合同終止后的利益平衡
- 企業(yè)采購管理流程改進(jìn)調(diào)研報(bào)告
- 腹部外傷護(hù)理查房記錄
- 橋面鋪裝三維激光攤鋪施工工法
- 優(yōu)質(zhì)課一等獎小學(xué)綜合實(shí)踐《我也能發(fā)明》課件
- 部編人教版三年級下冊語文:荷花課件
- 螺紋牙強(qiáng)度校核計(jì)算
- 關(guān)于在生產(chǎn)過程中物料流轉(zhuǎn)的交接和管理規(guī)定
- 浮針療法的學(xué)習(xí)課件
- XX學(xué)院社團(tuán)指導(dǎo)老師學(xué)期考核表
- 獸醫(yī)外科手術(shù)學(xué)與獸醫(yī)外科學(xué)章節(jié)測試及答案
- 德能勤績量化考核表
- GB/T 6545-1998瓦楞紙板耐破強(qiáng)度的測定法
評論
0/150
提交評論