8255鍵盤掃描與LED數(shù)碼管顯示課件_第1頁(yè)
8255鍵盤掃描與LED數(shù)碼管顯示課件_第2頁(yè)
8255鍵盤掃描與LED數(shù)碼管顯示課件_第3頁(yè)
8255鍵盤掃描與LED數(shù)碼管顯示課件_第4頁(yè)
8255鍵盤掃描與LED數(shù)碼管顯示課件_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一、復(fù)習(xí)8255及端口的尋址方式實(shí)驗(yàn)18255鍵盤掃描與LED數(shù)碼管顯示實(shí)驗(yàn)8255功能特性

三個(gè)獨(dú)立的8位并行輸入/輸出端口,各端口均具有數(shù)據(jù)輸入、輸出能力;三種工作方式:0基本、1選通、2雙向;可通過編程設(shè)置各端口的工作方式和數(shù)據(jù)傳送方向(入/出/雙向)。1.數(shù)導(dǎo)線(21根)2.下次實(shí)驗(yàn)時(shí)間是第7周注意:1.8255相關(guān)知識(shí)一、復(fù)習(xí)8255及端口的尋址方式實(shí)驗(yàn)18255鍵盤掃描與L1圖9.98285編程結(jié)構(gòu)8255的內(nèi)部結(jié)構(gòu)C下半部圖9.98285編程結(jié)構(gòu)8255的內(nèi)部結(jié)構(gòu)C下半部2PAPBPC

8255外部引腳

連接系統(tǒng)端的引線:D0~D7RESETA0A1CSRDWRCS:片選RD:讀控制WR:寫控制RESET:復(fù)位A1,A0:端口選擇A1A0選擇00端口A01端口B10端口C11控制寄存器D0~D7:數(shù)據(jù)線PAPBPC8255外部引腳連接3分別對(duì)應(yīng)PA、PB、PC三個(gè)8位輸入/輸出端口D0~D7RESETA0A1CSRDWRPAPBPC

三個(gè)端口可通過編程分別指定為輸入或輸出口。連接外設(shè)端的引線:PA0~PA7PB0~PB7PC0~PC7

8255外部引腳

分別對(duì)應(yīng)PA、PB、PC三個(gè)8位輸入/輸出端口D0~D7RE48255的初始化8255工作前必須初始化,初始化時(shí)需設(shè)置:工作方式數(shù)據(jù)傳送方向PC口各數(shù)據(jù)線的狀態(tài)(必要時(shí))通過向8255的控制口寫入控制字實(shí)現(xiàn):方式控制字*用于控制8255各端口的工作方式和數(shù)據(jù)傳輸方向位控字控制PC端口在方式0(輸出)時(shí)每一根輸出線的狀態(tài)方式0:基本輸入/輸出方式方式1:選通方式方式2:雙向方式(僅A口)

輸入

輸出

置0(低電平)

置1(高電平)8255的初始化8255工作前必須初始化,初始化時(shí)需設(shè)置:58255工作方式控制字格式8255工作方式控制字格式6對(duì)20H端口的訪問格式:直接尋址INAL,20H

;從地址為20H的端口輸入一個(gè)字節(jié)到ALOUT20H,AL

;將AL的內(nèi)容輸出到地址為20H的端口對(duì)200H端口的訪問格式:間接尋址MOVDX,200H

;將端口地址送DX寄存器INAL,DX

;從地址為200H的端口輸入一個(gè)字節(jié)到ALOUTDX,AL

;將AL的內(nèi)容輸出到地址為200H的端口2.端口尋址方式對(duì)20H端口的訪問格式:直接尋址2.端口尋址方式7編程1:把8255工作方式設(shè)定為:A口指定為方式0,輸入,C口為輸出;B口指定為方式0,輸出;設(shè)8255控制字寄存器端口地址為04a6H。分析:根據(jù)題目得工作方式命令代碼是10010000B或90H。初始化程序段為:movdx,04a6h ;控制寄存器地址movax,90h ;設(shè)置為A口輸入,;B口輸出,C輸出outdx,ax;8255初始化編程1:把8255工作方式設(shè)定為:A口指定為方式0,輸入,C8共陰極:公共端接低電平“L”發(fā)光段接高電平“H”共陽(yáng)極:公共端接高電平“H”發(fā)光段接低電平“L”分類:h—小數(shù)點(diǎn)*3.LED數(shù)碼管abcdefg+5V共陰極的情況下定義字形碼:FECDBA9876543210共陰極:共陽(yáng)極:分類:h—小數(shù)點(diǎn)*3.LED數(shù)碼管abc9二、鍵盤工作原理及鍵的識(shí)別方式鍵盤的結(jié)構(gòu)1.鍵盤的工作原理二、鍵盤工作原理及鍵的識(shí)別方式鍵盤的結(jié)構(gòu)1.鍵盤的工作原理10PC0PC1PC22.鍵的識(shí)別——行掃描123PC02.鍵的識(shí)別——行掃描1211掌握8255的編程原理及使用方法三、實(shí)驗(yàn)?zāi)康挠?255擴(kuò)展掃描3X8行列式鍵盤,由一位LED數(shù)碼管顯示。1、設(shè)計(jì)出8255與8086接口對(duì)應(yīng)硬件電路,并完成相應(yīng)的連接;2、調(diào)試對(duì)應(yīng)8255、鍵盤、及數(shù)碼管硬件接口電路及相應(yīng)接口軟件3、當(dāng)用鍵盤輸入時(shí)在數(shù)碼管上顯示相應(yīng)值;4、完成習(xí)題的內(nèi)容。四、實(shí)驗(yàn)內(nèi)容五、實(shí)驗(yàn)設(shè)備

MUT—Ⅲ型實(shí)驗(yàn)箱、8086CPU模塊。掌握8255的編程原理及使用方法三、實(shí)驗(yàn)?zāi)康挠?255擴(kuò)展掃12六、8255與8086及8255與鍵盤的電路連接DB地址譯碼器D0~D7WRRDA1A0CS8255PAPBPCIOWIORA2A1D0~D7A15~A19系統(tǒng)總線RL10~RL17(列選擇線)

LED-A~LED-DP

(段控)KA10~KA12(行選擇線)

LED1(位控)

六、8255與8086及8255與鍵盤的電路連接DB地址D013電源電路復(fù)位鍵3*8鍵盤8255并行接口CPU板座LED數(shù)碼管顯示屏RL10~RL17LED1~LED6LED-A~LED-DPKA10~KA12跳線冒電源電路復(fù)位鍵3*8鍵盤8255并行接口CPU板座LED14七、實(shí)驗(yàn)步驟1、實(shí)驗(yàn)接線CS0

CS8255(地址為04A0H);PA0~PA7(輸入)

RL10~RL17(列選擇線);PB0~PB7(輸出)

發(fā)光二極管LED-A~LED-DP;PC0~PC2(輸出)

KA10~KA12(行選擇線)PC3(輸出)

LED1

2、編程并全速或單步運(yùn)行。3、全速運(yùn)行時(shí)按動(dòng)鍵盤,觀察數(shù)碼管的變化。4、編寫實(shí)驗(yàn)報(bào)告。本實(shí)驗(yàn)中8255的地址分配如下:端口A04A0H端口B04A2H端口C04A4H控制口04A6H七、實(shí)驗(yàn)步驟1、實(shí)驗(yàn)接線本實(shí)驗(yàn)中8255的地址分配如下:15八、實(shí)驗(yàn)程序流程圖采用行掃描法檢測(cè)八、實(shí)驗(yàn)程序流程圖采用行掃描法檢測(cè)16九、編寫實(shí)驗(yàn)報(bào)告包括實(shí)驗(yàn)預(yù)習(xí)內(nèi)容,實(shí)驗(yàn)?zāi)康?,?shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)步驟和正確的程序代碼。注意:

1、編程前先在E盤目錄下建一個(gè)文件夾,并取一個(gè)英名名字,即名字中不能有漢字和數(shù)字。編完程序?qū)⑵浯嬗谠撃夸浵隆?/p>

3、做完實(shí)驗(yàn)將實(shí)驗(yàn)箱右上角的CPU板卸下,再關(guān)實(shí)驗(yàn)箱。

2、做實(shí)驗(yàn)之前先取下跳線冒。九、編寫實(shí)驗(yàn)報(bào)告包括實(shí)驗(yàn)預(yù)習(xí)內(nèi)容,實(shí)驗(yàn)?zāi)康模?7十、實(shí)驗(yàn)程序assumecs:codecode segment org100hstart:movdx,04a6h ;控制寄存器地址movax,90h ;設(shè)置為A口輸入,;B口輸出,C輸出out dx,ax;8255初始化check0:;check0檢測(cè)是否有健被按下

movax,00h;C口的PC0、PC1、PC2作為行選擇線movdx,04a4h;C口地址out dx,ax;寫入C口內(nèi)容00H,即令所有行為低電平

movdx,04a0h;A口地址in ax,dx;讀入A口的內(nèi)容cmpal,0ffh;判定是否有列線為低電平j(luò)e check0;沒有,無(wú)閉合鍵,則循環(huán)等待movcx,05ffh;延遲常數(shù),可以修改來(lái)改變延時(shí)時(shí)間

delay:loopdelay ;有,則延遲清除抖動(dòng),當(dāng)cx=0時(shí)則停止該循環(huán)本實(shí)驗(yàn)中8255的地址分配如下:端口A04A0H端口B04A2H端口C04A4H控制口04A6H十、實(shí)驗(yàn)程序assumecs:code本實(shí)驗(yàn)中8255的18;行掃描鍵盤和列掃描鍵盤,確定被按鍵的行值和列值mov cl,3;行數(shù)mov ah,0

mov al,0fbh;0fbh=11111011Bcontin:push ax;將ax的內(nèi)容(0fbh)入棧保存

mov dx,04a4h;C口地址 out dx,al;寫入C口內(nèi)容0fbh=11111011B,即將第三行置為低電平

mov dx,04a0h;A口地址 in al,dx;讀入A口的內(nèi)容

mov ah,al;將A口的內(nèi)容送入ah cmp ah,0ffh;判斷是否有列線為低電平

jne next;比較結(jié)果不等于0則轉(zhuǎn)移,即有列線為低電平 pop ax;比較結(jié)果等于0,即沒有列線為低電平,(ax)=00fbh ror al,1;fbh(11111011B)循環(huán)右移,(al)=11111101檢測(cè)下一行 loop contin;循環(huán)掃描下一行,確定行 jmp check0;若所有行都沒有被按下,則返回check0重新檢測(cè)next: mov ch,cl;保存行值至ch;行掃描鍵盤和列掃描鍵盤,確定被按鍵的行值和列值19mov cl,7;列值從0開始編號(hào)0-7begin0:shlah,1;ah為A口的內(nèi)容,邏輯左移1位,末位補(bǔ)0

jnc goon;無(wú)進(jìn)位則轉(zhuǎn)移,即可確定列l(wèi)oop begin0;繼續(xù)循環(huán),確定列jmp check0goon:;計(jì)算顯示碼在discode中的位置:(行數(shù)-1)*8

+列值mov bl,cl;保存列值至BL dec ch;行數(shù)減1mov cl,3shl ch,cl;左移三位即相當(dāng)于減1之后的行數(shù)*8add bl,ch;確定顯示碼在discode表中的偏移量,即(行數(shù)-1)*8+列值mov bh,0 mov cx,bx;顯示碼在discode表中的偏移量送CXmov cl,7;列值從20display: ;顯示輸出mov si,offsetdiscode add si,cx;顯示碼偏移地址

mov dx,04a4h;C口地址 mov al,0fh out dx,al;寫入C口內(nèi)容,使位控(LED1)有效

mov al,[si];取被按鍵的顯示字形碼送入al mov dx,04a2h;B口地址 out dx,al;將顯示字形碼送B口輸出顯示 nop nopjmpcheck0discodedb 3fh,06h,5bh,4fh,66h,6dh,7dh,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論