習(xí)題9并接口8255稻谷書屋_第1頁
習(xí)題9并接口8255稻谷書屋_第2頁
習(xí)題9并接口8255稻谷書屋_第3頁
習(xí)題9并接口8255稻谷書屋_第4頁
習(xí)題9并接口8255稻谷書屋_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、習(xí)題9 并行接口主要內(nèi)容:8255的外部特性、內(nèi)部結(jié)構(gòu),初始化編程,應(yīng)用。9.1 8255a的3個端口在使用時有什么差別?【答】 () 端口對應(yīng)個位數(shù)據(jù)輸入鎖存器和個位數(shù)據(jù)輸出鎖存器緩沖器。所以,用端口作為輸入或輸出時,數(shù)據(jù)均受到鎖存(與工作方式有關(guān))。() 端口對應(yīng)個位數(shù)據(jù)輸入緩沖器和個位數(shù)據(jù)輸出鎖存器緩沖器。() 端口對應(yīng)個位數(shù)據(jù)輸入緩沖器和個位數(shù)據(jù)輸出鎖存器緩沖器。這樣,當(dāng)端口作為輸入端口時,對數(shù)據(jù)不做鎖存,而作為輸出端口是,對數(shù)據(jù)進(jìn)行鎖存。在使用中,端口和端口常常作為獨(dú)立的輸入端口或輸出端口,端口則配合端口和端口的工作。具體的講,端口常常通過控制命令被分成個位端口,每個位端口包含個位的

2、輸入緩沖器和個位的輸出鎖存器緩沖器,它們分別用來為端口和端口提供控制信號和狀態(tài)信號。 9.2 8255a的方式0一般使用在什么場合?在方式0時,如要使用應(yīng)答信號進(jìn)行聯(lián)絡(luò),應(yīng)該怎么辦?【答】方式0的使用場合有兩種,一種是同步傳送,另一種是查詢式傳送。在方式0情況下,沒有規(guī)定固定的應(yīng)答信號,所以,這時,將端口a端口b作為數(shù)據(jù)端口,把端口c的4個數(shù)位(高4位或者是低4位均可)規(guī)定為輸出口,用來輸出一些控制信號,而把端口c的另外4個數(shù)位規(guī)定為輸入口,用來讀入外設(shè)的狀態(tài)。就是這樣,利用端口c來配合端口a和端口b的輸入/輸出操作。9.3當(dāng)數(shù)據(jù)從8255a的端口c往數(shù)據(jù)總線上讀出時,8255a的幾個控制信號

3、cs、a1、a0、rd、wr分別是什么?【答】 cs0、a11、a00、rd1 、wr0。9.4 8255a的方式選擇控制字和置1/置0控制字都是寫入控制端口的,那么,它們是由什么來區(qū)分的?【答】當(dāng)8255a接收到寫入控制口的控制字時,就會對最高位即標(biāo)志位進(jìn)行測試。如為1,則將此字節(jié)作為方式選擇控制字寫入控制寄存器;如為0,則此字節(jié)作為對端口c的置1/置0控制來處理。9.5 對8255a設(shè)置工作方式,8255a的控制口地址為00c6h。要求端口a工作在方式1,輸入;端口b工作在方式0,輸出;端口c的高4位配合端口a工作;低4位為輸入。(口地址為80h83h)【答】控制字:10110001b1h

4、moval ,b1hout83h ,al9.6 設(shè)8255a的4個端口地址為00c0h,00c2h,00c4h,00c6h,要求用置0/置1方式對pc6置1,對pc4置0?!敬稹縨oval,00001101h;對pc6置1的控制字movdx,00c6h;控制地址dxoutdx,al;對pc6置1操作 moval,00001000h;對pc4置0的控制字 outdx,al9.7 編一初始化程序,使8255a的pc5端輸出一個負(fù)跳變。如果要求pc5端輸出一個負(fù)脈沖則初始化程序又是什么情況?【答】 初始化程序:mov al,0000 1011 h;pc5置“1”控制字almovdx,046h;控制口

5、地址dlout dx,al;置“1”控制字控制寄存器mov al,00001010b;pc5置“0”控制字aloutdx , al;置“0”控制字控制寄存器 如果要求pc5輸入一個負(fù)脈沖則再加兩條指令:mov a l ,00001011out dx,al9.8 8255a與打印機(jī)的接口如圖10-1,8255為工作方式0,試編寫初始化程序。若要將dl中的字符送到打印機(jī)打印,編寫打印程序。(口地址為60h63h)圖10-1【答】工作過程:當(dāng)主機(jī)要往打印機(jī)輸出字符時,先查詢打印機(jī)忙信號,如果打印機(jī)正在處理一個字符或在打印一行字符,則忙信號為1,否則為0。pp:mov al,81h;8255工作方式字

6、out 63h, al ;a口方式0,輸出,c47輸出,c03輸入mov al,00001111b;pc7置1,禁止stbout 63h,allpst:in al,62h;讀c口and al,01h;查pc0=0?jnz lpst ;忙,等待;不忙,送數(shù)mov al,dl ;cl中字符送端口aout 60h,al ;送數(shù)到a口mov al,00001110b ;將pc7置0(使stb有效)out 63h,al;al= 0000 1100 bnop ; 延時mov al, 0000 1111;al0000 1111 bout 63h,al;再使stb(pc7)為19.9 設(shè)一工業(yè)控制系統(tǒng),有四個

7、控制點(diǎn),分別由四個對應(yīng)的輸入端控制,現(xiàn)用8255a的c口實現(xiàn)該系統(tǒng)的控制,如圖10-2。開關(guān)k0k3打開則對應(yīng)發(fā)光二極管l0l3亮,表示系統(tǒng)該控制點(diǎn)運(yùn)行正常;開關(guān)閉合則對應(yīng)發(fā)光二極管不亮,說明該控制點(diǎn)出現(xiàn)故障。編寫8255a的初始化程序和這段控制程序。圖10-2【答】參考程序如下:moval,10000001bout63h,al;8255方式設(shè)置l1:inal,62h;查詢k0狀態(tài)testal,01hjzl11moval,00000001bout63h,al;正常,l0亮jmpl2l11:moval,00000000b;不正常,l0滅out63h,all2:inal,62h;查詢k1狀態(tài)tes

8、tal,02hjzl21moval,00000011bout63h,aljmpl3l21:moval,00000010bout63h,all3:inal,62h;查詢k2狀態(tài)testal,04hjzl31moval,00000101bout63h,aljmpl4l31:moval,00000100bout63h,all4:inal,62h;查詢k3狀態(tài)testal,08hjzl41moval,00000111bout63h,aljmpl1l41:moval,00000110bout63h,aljmpl1;循環(huán)查詢k0狀態(tài)10.10 8255芯片的a口和b口分別與8個led燈和8個開關(guān)連接好,通

9、過開關(guān)控制led等的開和閉。8255的端口地址為40, 42, 44和46h。畫出譯碼電路圖,編寫初始化程序和控制程序?!敬稹繀⒖汲绦蛉缦拢簃oval,10000010bout46h,al;8255方式設(shè)置l1:inal,42h;讀b口開關(guān)狀態(tài)out40h,al;寫a口控制ledjmpl19.11 如圖10-3為用一片8255a控制八個8段共陰極led數(shù)碼管的電路?,F(xiàn)要求按下某個開關(guān),其代表的數(shù)字( k1為1,k2為2,k8為 8)在數(shù)碼管從左到右循環(huán)顯示(已有一個延時子程序delay可以調(diào)用),直到按下另一個開關(guān)。假定 8255a的口 a、b、c及控制口的地址依次為fff0hfff3h。編寫

10、完成上述功能的程序,應(yīng)包括8255a的初始化、控制程序和數(shù)碼管的顯示代碼表。 圖10-3【答】參考程序:tabdb06h,5bh,4fh,66h,6dh,7dh,07h,7fh;led數(shù)碼管18的顯示段碼pbdb1;位選定義pcdb0;開關(guān)狀態(tài)暫存movbx,0movds,bxmovbx,offset tab;段碼表指針moval,10001001bmovdx,0fff3houtdx,al;8255方式設(shè)置l1:movdx,0fff1hmoval,pboutdx,al;位選通calldelayrolpb,1;位選轉(zhuǎn)換movdx,0fff2hinal,dx;讀開關(guān)狀態(tài)movpc,al;開關(guān)狀態(tài)暫

11、存movcx,8;移位8次查詢開關(guān)狀態(tài),同時按下最高位優(yōu)先l2:rcrpc,1jcl3moval,8subal,cl;獲得開關(guān)位xalt;查表獲得顯示段碼movdx,0fff0houtdx,al;顯示開關(guān)位l3:loopl2jmpl19.12 8255工作在方式1,輸入和輸出時中斷服務(wù)程序各完成什么功能? 【答】輸入中斷服務(wù)程序從8255輸入數(shù)據(jù)寄存器讀數(shù)據(jù)。輸出中斷服務(wù)程序向8255輸出數(shù)據(jù)寄存器寫數(shù)據(jù)。9.13 有個 1 m s的脈沖信號源送8253的計數(shù)器1利用軟件方式擴(kuò)大定時1秒,每秒鐘從8255的pa口讀入一組開關(guān)數(shù)并送pb口的led管顯示,設(shè)8253,8255的端口地址分別為40h43h和60h63h,且只用10條地址線(a0a9)用于端口譯碼。請完成: 硬件連接。 編寫對8253計數(shù)器1初始化程序段(僅50ms)。 編寫對8255的初始化程序以及1秒到后從pa口讀入一個字節(jié)開關(guān)數(shù)并送pb口顯示的程序段?!敬稹?253計

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論