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

下載本文檔

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

文檔簡介

1、一、復(fù)習(xí)8255及端口的尋址方式實驗1 8255鍵盤掃描與LED數(shù)碼管顯示實驗8255功能特性 三個獨立的8位并行輸入/輸出端口,各端口均 具有數(shù)據(jù)輸入、輸出能力;三種工作方式:0基本、1選通、2雙向;可通過編程設(shè)置各端口的工作方式和數(shù)據(jù)傳送 方向(入/出/雙向)。1.數(shù)導(dǎo)線(21根)2.下次實驗時間是第7周注意:1.8255相關(guān)知識圖9.9 8285編程結(jié)構(gòu)8255的內(nèi)部結(jié)構(gòu)C下半部PAPBPC 8255外部引腳 連接系統(tǒng)端的引線:D0D7RESETA0A1CSRDWRCS:片選RD:讀控制WR:寫控制RESET:復(fù)位A1, A0:端口選擇A1 A0選擇0 0端口A0 1端口B1 0端口C1

2、 1控制寄存器D0D7:數(shù)據(jù)線分別對應(yīng)PA、PB、PC三個8位輸入/輸出端口D0D7RESETA0A1CSRDWRPAPBPC三個端口可通過編程分別指 定為輸入或輸出口。連接外設(shè)端的引線:PA0PA7PB0PB7PC0PC7 8255外部引腳 8255的初始化8255工作前必須初始化,初始化時需設(shè)置:工作方式數(shù)據(jù)傳送方向PC口各數(shù)據(jù)線的狀態(tài)(必要時)通過向8255的控制口寫入控制字實現(xiàn):方式控制字*用于控制8255各端口的工作方式和數(shù)據(jù)傳輸方向位控字控制PC端口在方式0(輸出)時每一根輸出線的狀態(tài)方式0:基本輸入/輸出方式方式1:選通方式方式2:雙向方式(僅A口)輸入輸出置0(低電平)置1(高

3、電平)8255工作方式控制字格式對20H端口的訪問格式:直接尋址IN AL,20H ;從地址為20H的端口輸入一個字節(jié)到ALOUT 20H,AL ;將AL的內(nèi)容輸出到地址為20H的端口對200H端口的訪問格式:間接尋址MOV DX,200H ;將端口地址送DX寄存器IN AL,DX ;從地址為200H的端口輸入一個字節(jié)到ALOUT DX,AL ;將AL的內(nèi)容輸出到地址為200H的端口2.端口尋址方式編程1:把8255工作方式設(shè)定為:A口指定為方式0,輸入,C口為輸出;B口指定為方式0,輸出;設(shè)8255控制字寄存器端口地址為04a6H。分析:根據(jù)題目得工作方式命令代碼是10010000B或90H

4、。初始化程序段為:mov dx,04a6h;控制寄存器地址mov ax,90h;設(shè)置為A口輸入,;B口輸出,C輸出out dx,ax ;8255初始化共陰極:公共端接低電平“L”發(fā)光段接高電平“H”共陽極:公共端接高電平“H”發(fā)光段接低電平“L”分類:h小數(shù)點*3. LED數(shù)碼管abcdefg+5V共陰極的情況下定義字形碼:FECDBA9876543210 二、鍵盤工作原理及鍵的識別方式鍵盤的結(jié)構(gòu)1 .鍵盤的工作原理PC0PC1PC22 .鍵的識別行掃描1 2 3掌握8255的編程原理及使用方法三、實驗?zāi)康挠?255擴展掃描3X8行列式鍵盤,由一位LED數(shù)碼管顯示。1、設(shè)計出8255與8086

5、接口對應(yīng)硬件電路,并完成相應(yīng)的連接;2、調(diào)試對應(yīng)8255、鍵盤、及數(shù)碼管硬件接口電路及相應(yīng)接口軟件3、當(dāng)用鍵盤輸入時在數(shù)碼管上顯示相應(yīng)值;4、完成習(xí)題的內(nèi)容。四、實驗內(nèi)容五、實驗設(shè)備 MUT型實驗箱、8086CPU模塊。六、8255與8086及8255與鍵盤的電路連接DB地址譯碼器D0D7WRRDA1A0CS8255PAPBPCIOWIORA2A1D0D7A15A19系統(tǒng)總線 RL10RL17(列選擇線) LED-ALED-DP (段控)KA10KA12(行選擇線) LED1(位控) 電源電路復(fù)位鍵3*8鍵盤 8255并行接口 CPU板座LED數(shù)碼管顯示屏RL10RL17LED1 LED6LE

6、D-ALED-DPKA10KA12跳線冒七、實驗步驟1、實驗接線CS0 CS8255(地址為04A0H);PA0PA7(輸入)RL10RL17(列選擇線);PB0PB7(輸出)發(fā)光二極管LED-ALED-DP ;PC0PC2(輸出)KA10KA12(行選擇線)PC3(輸出)LED1 2、編程并全速或單步運行。3、全速運行時按動鍵盤,觀察數(shù)碼管的變化。4、編寫實驗報告。本實驗中8255的地址分配如下:端口A 04A0H端口B 04A2H端口C 04A4H控制口 04A6H八、實驗程序流程圖采用行掃描法檢測九 、編寫實驗報告 包括實驗預(yù)習(xí)內(nèi)容,實驗?zāi)康?,實驗?nèi)容,實驗步驟和正確的程序代碼 。注意:

7、 1、編程前先在E盤目錄下建一個文件夾,并取一個英名名字,即名字中不能有漢字和數(shù)字。編完程序?qū)⑵浯嬗谠撃夸浵隆?3、做完實驗將實驗箱右上角的CPU板卸下,再關(guān)實驗箱。 2、做實驗之前先取下跳線冒。十、實驗程序assume cs:codecode segment org 100hstart: mov dx,04a6h;控制寄存器地址 mov ax,90h;設(shè)置為A口輸入,;B口輸出,C輸出 out dx,ax ;8255初始化check0: ; check0檢測是否有健被按下 mov ax,00h ;C口的PC0、PC1、PC2作為行選擇線 mov dx,04a4h ;C口地址 out dx,a

8、x ; 寫入C口內(nèi)容00H,即令所有行為低電平 mov dx,04a0h ;A口地址 in ax,dx ;讀入A口的內(nèi)容 cmp al,0ffh ;判定是否有列線為低電平 je check0 ;沒有,無閉合鍵,則循環(huán)等待 mov cx,05ffh ;延遲常數(shù),可以修改來改變延時時間 delay: loop delay;有,則延遲清除抖動,當(dāng)cx=0時則停止該 循環(huán)本實驗中8255的地址分配如下:端口A 04A0H端口B 04A2H端口C 04A4H控制口 04A6H; 行掃描鍵盤和列掃描鍵盤,確定被按鍵的行值和列值 mov cl,3 ;行數(shù) mov ah,0 mov al, 0fbh ; 0f

9、bh=1111 1011Bcontin: push ax ;將ax的內(nèi)容(0fbh)入棧保存 mov dx,04a4h ;C口地址 out dx,al ;寫入C口內(nèi)容0fbh=1111 1011B,即將第三行置為低電平 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(1111 1011B)循環(huán)右移,(al)=1

10、111 1101檢測下一行 loop contin ;循環(huán)掃描下一行,確定行 jmp check0 ;若所有行都沒有被按下,則返回check0重新檢測next: mov ch,cl ;保存行值至ch mov cl,7 ;列值從0開始編號0-7begin0: shl ah,1 ; ah為A口的內(nèi)容,邏輯左移1位,末位補0 jnc goon ;無進位則轉(zhuǎn)移,即可確定列 loop begin0 ;繼續(xù)循環(huán),確定列 jmp check0 goon: ;計算顯示碼在discode中的位置:(行數(shù)-1)*8 +列值 mov bl, cl ;保存列值至BL dec ch ;行數(shù)減1 mov cl,3 shl

11、 ch, cl ;左移三位即相當(dāng)于減1之后的行數(shù)*8 add bl, ch ;確定顯示碼在discode表中的偏移量, 即(行數(shù)-1)*8+列值 mov bh,0 mov cx,bx ;顯示碼在discode表中的偏移量送CX display:;顯示輸出mov si, offset discode 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 nop j

溫馨提示

  • 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

提交評論