微機系統(tǒng)與接口:第5章 數(shù)字量輸入輸出4(剩余部分)_第1頁
微機系統(tǒng)與接口:第5章 數(shù)字量輸入輸出4(剩余部分)_第2頁
微機系統(tǒng)與接口:第5章 數(shù)字量輸入輸出4(剩余部分)_第3頁
微機系統(tǒng)與接口:第5章 數(shù)字量輸入輸出4(剩余部分)_第4頁
微機系統(tǒng)與接口:第5章 數(shù)字量輸入輸出4(剩余部分)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、1第五章 數(shù)字量輸入輸出(4)*概念:總線、接口電路、接口芯片、端口地址 *中斷及其處理 中斷控制器8259 *定時器/計數(shù)器*并行I/O /串行I/O DMA電路與應(yīng)用2resetD7D0A15A2A1A0IORIOW片選譯碼數(shù)據(jù)緩沖器讀寫控制片內(nèi)譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口端口A端口C端口B +5VGNDD7D0外設(shè)8255A總線片內(nèi)譯碼電路A1A0=數(shù)據(jù)端口A、B、C 每個端口8位,通過編程設(shè)定其為 輸入口或輸出口和外設(shè)傳送信息 00 A口;01=B口; 10 C口;11 控制口8255內(nèi)部結(jié)構(gòu)與外部接線圖3工作方式控制字 1D6D5D4D

2、3D2D1D0標(biāo)識位A組:00-方式0;01-方式1;1X-方式2 A口:0-出1-入C上半口0-出1-入B組:0-方式 0;1-方式 1B口:0-出1-入C下半口:0-出1-入向控制端口寫控制字兩種控制字地址 280H(A口);281H(B口) ;282H(C口) ;283H(控制寄存器)4C口位控控制字0D6D5D4D3D2D1D0標(biāo)識位XXX位選擇: 000111-Bit0Bit71-置位;0-復(fù)位向控制端口寫控制字兩種控制字(續(xù))58255A應(yīng)用舉例(二)D07BUSYSTB打印機數(shù)據(jù)選通觸發(fā)脈沖,打印機在其下降沿鎖存數(shù)據(jù)STBD07ACKBUSY應(yīng)答脈沖,“低”表示數(shù)據(jù)已被打印機接收

3、“高”表示打印機正忙雙向三態(tài)數(shù)據(jù)總線有效打印機時序68255A應(yīng)用舉例(二)打印機連接電路PA07PC7PC0D07BUSYSTB8255A打印機片選地址 280H(A口);281H(B口) ;282H(C口) ;283H(控制寄存器)A口數(shù)據(jù)輸出,方式0;C口上半輸入,C口下半輸出D07A1A0系統(tǒng)總線 7BUFDBHELLO!, 0DH, 0AHNUMEQU$-BUFPRINTPROCFARMOV DX,283H;設(shè)定8255A控制端口地址MOV AL,10001000B ;8255A初始化,設(shè)置方式選擇控制字OUT DX,AL ;A方式0輸出,C上輸入,C下輸出 MOV AL,00000

4、001B ;C口位控,/STB=1MOV DX,AL ;MOV SI, OFFSET BUFMOV CX, NUMNEXT:MOV DX,282H;讀C口IN AL, DXTEST AL, 80H;判斷當(dāng)PC7=1(BUSY?)JNZ NEXT;時跳轉(zhuǎn)到NEXTMOV AL,SIINC SI88255編程舉例MOV DX, 280HOUT DX, AL;從A口發(fā)出數(shù)據(jù)MOV DX, 283HMOV AL,00000000B;C口位控,PC0(/STB)=0OUT DX, ALNOP;低電平0.5usMOV AL, 00000001B;C口位控,PC0(/STB)=1OUT DX, ALLOOP

5、 NEXTRETPRINT ENDP/STB信號測試:假設(shè)一片8255的A口地址為288H,請以C口位控方式,在C0引腳輸出一個正跳變脈沖(寫出程序片段,無需初始化方式字)。98255A應(yīng)用舉例(三)108255A應(yīng)用舉例(三)掌握8段數(shù)碼管的動態(tài)刷新顯示控制118255A應(yīng)用舉例(三)七段數(shù)碼管為共陰型,段碼采用同相驅(qū)動,輸入端加高電平,選中的數(shù)碼管亮;位碼輸入端高電平選中。288H128255A應(yīng)用舉例(三)將8255 的A 口PA0PA6 分別與七段數(shù)碼管的段碼驅(qū)動輸入端a相連,位碼驅(qū)動輸入端S1、S0 接8255 C 口的PC1、PC0。編程在兩個數(shù)碼管上顯示“65”。(注意字符變換之

6、間應(yīng)使段位全滅,避免顯示“影子”)288H138255A應(yīng)用舉例(三)148255A應(yīng)用舉例(三)data segmentioport equ 0d400h-0280h ;tpc 卡中設(shè)備的I/O 地址io8255C equ ioport+28ah ;8255C 口地址io8255ctrl equ ioport+28bh ;8255 控制寄存器端口地址io8255A equ ioport+288h ;8255A 口地址led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段碼buffer1 db 6, 5;存放要顯示的個位和十位bz dw ? ;位碼d

7、ata endsstacks segment stackdb 100 dup (?)stacks endscode segmentassume cs:code,ss:stacksstart:mov ax,stacksmov ss,axmov ax,datamov ds,ax158255A應(yīng)用舉例(二)mov dx,io8255ctrl ;將8255 設(shè)為A 口輸出mov al,80h;10000000out dx,al工作方式控制字 1D6D5D4D3D2D1D0標(biāo)識位A組:00-方式0;01-方式1;1X-方式2 A口:0-出1-入C上半口0-出1-入B組:0-方式 0;1-方式 1B口:0

8、-出1-入168255A應(yīng)用舉例(三)mov di,offset buffer1 ;設(shè)di 為顯示緩沖區(qū)loop2:mov bh,02;大循環(huán)lll: mov byte ptr bz,bh;小循環(huán),bh=02或01push didec diadd di, bzmov bl,di ;bl 為要顯示的數(shù)pop dimov bh,0mov si,offset led ;置LED 數(shù)碼表偏移地址為SIadd si,bx ;求出對應(yīng)的LED 數(shù)碼mov al,byte ptr simov dx,io8255A ;自8255A 口輸出out dx,almov al,byte ptr bz ;使相應(yīng)的數(shù)碼管亮mov dx,io8255Cout dx,al178255A應(yīng)用舉例(三)mov cx,3000delay:loop delay ;延時mov bh,byte ptr bzshr bh,1;邏輯右移,除以2jnz lllmov

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論