




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告專 業(yè):班級(jí):姓 名:學(xué)號(hào):指導(dǎo)教師評(píng)語(yǔ):成績(jī):簽名:年 月 日小鍵盤按鍵識(shí)別1 課 題任務(wù)與要求實(shí)驗(yàn)箱上有一個(gè)24 鍵小鍵盤,出廠時(shí)按鍵接點(diǎn)已經(jīng)按圖所示連接。小鍵盤有8根橫向引出線。實(shí)驗(yàn)前將8根橫向引出線與PAgPA7相連,3根縱 向引出線與PB0- PB2相連,再?gòu)摹癐/O 口地址譯碼器”選擇一個(gè)譯碼器輸出 連接到8255的片選端,做好上述連接之后,就構(gòu)成了以8255為核心的鍵盤輸入電路要求:在實(shí)際的自動(dòng)控制系統(tǒng)中,鍵盤輸入電路的作用是輸入數(shù)據(jù)(09, A F)或者輸入;f5制信號(hào)(G, M P, R, W X, Y, S)。實(shí)現(xiàn)上述功能的核心程 序是“按鍵識(shí)
2、別”。本實(shí)驗(yàn)要求設(shè)計(jì)按鍵識(shí)別程序,當(dāng)按下小鍵盤上某一個(gè)鍵的時(shí)候,主機(jī)屏幕顯示閉合鍵的鍵名,按下小鍵盤" R'鍵之后停止演示。2 完成任務(wù)的方法或方案簡(jiǎn)介本程序顯示數(shù)字0 到 9,剛剛開(kāi)始提出兩中解決方案一是用跳轉(zhuǎn)法直接顯示數(shù)值,二是用查找法間接顯示數(shù)值,本程序是用第一種方案,雖然程序多了些,但直觀容易理解,故采納第一種方案。DISPLAY 函數(shù)用來(lái)將BUFFER 中的鍵值顯示在數(shù)碼管上。設(shè)定 A 口方式 0 輸出 ,B 口方式 0 輸入。GETINPUT 函數(shù)通過(guò)行值和列值查出輸入的鍵值,并將它保存在AL 中, 如果輸入是R,則AL賦值為FFH;如果輸入非法字符,則 AL賦值
3、為0AH。設(shè)定如果是R 則退出程序.CHANGE 函數(shù)用來(lái)改變BUFFER 中保存的鍵值,將 BUFFER 中的鍵值移位,最后一位加入 AL 中的新鍵值。CLOSEALL 此函數(shù)用在退出程序時(shí)將數(shù)碼管關(guān)閉.以上是主題函數(shù),在設(shè)計(jì)過(guò)程中還碰到了一些細(xì)節(jié)問(wèn)題,例數(shù)碼管的顯示才用延遲20MS 的辦法解決,具體方案在DISPLAY 函數(shù)中。3.實(shí)現(xiàn)系統(tǒng)1、程序框圖:2、實(shí)驗(yàn)電路圖:wDIDiDiMDJDftDrRDWR前河曄CS5沁Sis Nuniia數(shù)碼管顯示電路o 1 2 3 4 -LI- 6 7PPP PPPPPMOV DX,A_825593、8255方式選擇控制字TITLE LITTLEKEY
4、BOARDSSEG SEGMENT PARA STACK 'STACK'DB 256 DUP (0)SSEG ENDSDSEG SEGMENTA_8255 EQU 210HB_8255 EQU 211HCON_8255 EQU 213HBUFFER DB 6 DUP(0)HANG DB ?LIE DB ?NEWHANG DB ?NEWLIE DB ?TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,DSEG ENDSCSEG SEGMENTASSUME CS:CSEG , DS:DSEG,SS:SSEGSTART PROC NEA
5、RMOV AX,DSEGMOV DS,AXCALL CLOSEALL(關(guān)掉數(shù)碼管,防止因?yàn)樽畛鯏?shù)碼管有顯示而使程序執(zhí)行不正常。CMPAGAIN:CALL DISPLAY(DISPLAY 函數(shù)用來(lái)將BUFFER 中的鍵值顯示在數(shù)碼管上。)MOV DX,CON_8255MOV AL,10000010BOUT DX,AL(設(shè)定 A 口方式 0 輸出 ,B 口方式 0 輸入)AGAIN:CALL DISPLAYMOV AL,0OUT DX,AL ( 0 >PA7-PA0)MOV DX,B_8255IN AL,DXAND AL,00000111B ( 取出 PB0 PB2CMP AL,000001
6、11BJE AGAINMOV LIE,AL (將列值保存)CALL DELAY1 (延時(shí)20ms)MOV DX,CON_8255MOV AL,10010000BOUT DX,AL(預(yù)置 A 口方式 0 輸入, B 口方式 0 輸入)MOV DX,A_8255IN AL,DXMOV HANG ,AL (將行值保存)CALL GETINPUT( GETINPUT 函數(shù)通過(guò)行值和列值查出輸入的鍵值,并將它保存在AL 中,如果輸入是R,則AL賦值為FFH;如果輸入非法字符,則 AL賦值為0AH。)CMP AL,0AHJE CMPAGAIN(如果是非法字符則跳回)CMP AL,0FFHJNE CONTI
7、NUE(如果是R 則退出程序.)CALL CLOSEALLMOV AH,4CHINT 21HCONTINUE:CALL CHANGE(CHANGE 函數(shù)用來(lái)改變BUFFER 中保存的鍵值)MOV DX,CON_8255MOV AL,10000010BOUT DX,AL(設(shè)定 A 口方式 0 輸出 ,B 口方式 0 輸入)LLL:CALL DISPLAYMOV DX,B_8255IN AL,DXAND AL,00000111B(取出PB0 PB2)CMP AL,00000111BJNE LLLJMP CMPAGAIN(不斷掃描,如果不松開(kāi)按鍵,那么就循環(huán)等待;直到按鍵松開(kāi)就跳回。RETSTART
8、 ENDP;(此函數(shù)用以延時(shí)20MS)DELAY1 PROC NEARPUSH AXPUSH CXPUSH DXMOV AH,86HMOV CX,0MOV DX,20000INT 15HPOP DXPOP CXPOP AXRETDELAY1 ENDP;( GETINPUT 函數(shù)通過(guò)行值和列值查出輸入的鍵值,并將它保存在AL 中,如果輸入是R,則AL賦值為FFH;如果輸入非法字符,則 AL賦值為0AH。)GETINPUT PROC NEARCMP LIE,00000110BJE LIE0CMP LIE,00000101BJE LIE1CMP LIE,00000011BJE LIE2MOV AL,
9、0AHRETLIE2:CMP HANG,00010000BJE NEXTMOV AL,0AHRETNEXT:MOV AL,0FFHRETLIE0:CMP HANG,01111111BJE KEY8CMP HANG ,10111111BJE KEY9MOV AL,0AHRETKEY8:MOV AL,8RETKEY9:MOV AL,9LIE1:CMP HANG,01111111BJE KEY0CMP HANG ,10111111BJE KEY1CMP HANG ,11011111BJE KEY2CMP HANG ,11101111BJE KEY3CMP HANG ,11110111BJE KEY4
10、CMP HANG ,11111011BJE KEY5CMP HANG,11111101BJE KEY6CMP HANG ,11111110BJE KEY7MOV AL,0AHRETKEY0:MOV AL,0RETKEY1:MOV AL,1RETKEY2:MOV AL,2RETKEY3:MOV AL,3RETKEY4:MOV AL,4RETKEY5:MOV AL,5RET13KEY6:MOV AL,6RETKEY7:MOV AL,7RETGETINPUT ENDP;(CHANGE 函數(shù)用來(lái)改變BUFFER 中保存的鍵值,將BUFFER 中的鍵值移位,最后一位加入 AL 中的新鍵值。)CHANGE
11、 PROC NEARPUSH AXPUSH SIMOV SI,OFFSET BUFFERMOV AH,SI+1MOV SI,AHMOV AH,SI+2MOV SI+1,AHMOV AH,SI+3MOV SI+2,AHMOV AH,SI+4MOV SI+3,AHMOV AH,SI+5MOV SI+4,AHMOV SI+5,ALPOP SIPOP AXRETCHANGE ENDP;(DISPLAY 函數(shù)用來(lái)將BUFFER 中的鍵值顯示在數(shù)碼管上。)PUSH AXPUSH BXPUSH CXPUSH DXPUSH SIMOV BX,OFFSET TABLEMOV SI,OFFSET BUFFERMO
12、V CL,1XUNHUAN:MOV AL,SIXLATMOV DX,201HOUT DX,ALMOV DX,200HMOV AL,CLOUT DX,ALMOV DX,200HMOV AL,0OUT DX,ALINC SISHL CL,1CMP CL,40HJNE XUNHUANPOP SIPOP DXPOP CXPOP BXPOP AXRETDISPLAY ENDP15*(此函數(shù)用在退出程序時(shí)將數(shù)碼管關(guān)閉.)CLOSEALL PROC NEARPUSH AXPUSH CXPUSH DXMOV CL,1XUNHUAN1:MOV DX,200HMOV AL,CLOUT DX,ALMOV AL,0O
13、UT DX,ALSHL CL,1CMP CL,20HJNE XUNHUAN1POP DXPOP CXPOP AXRETCLOSEALL ENDPCSEG ENDEND START四、程序運(yùn)行結(jié)果分析:六實(shí)驗(yàn)總結(jié):1.實(shí)驗(yàn)電路板上 8255的端口地址位210H 213H,這與書(shū)上給的不一樣,開(kāi)始時(shí)在這 方面花費(fèi)了較多時(shí)間。2通過(guò)此次程序設(shè)計(jì),我對(duì)計(jì)算機(jī)讀取鍵盤值的過(guò)程有了一定的認(rèn)識(shí)。最開(kāi)始編程序時(shí)并沒(méi)有想到如果始終按同一個(gè)鍵不放,調(diào)試時(shí)發(fā)現(xiàn)了數(shù)碼管上就會(huì)一下子出來(lái)很多字符。這個(gè)問(wèn)題,想到的解決方法有兩種,一種是每一次按鍵后檢測(cè)鍵是否松開(kāi),直到松開(kāi)后再繼續(xù)執(zhí)行下一次判斷;另一種是按鍵后延緩一個(gè)固定的時(shí)間(大約0.2 秒)再判斷(計(jì)
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何更好地服務(wù)于公共政策的部門協(xié)作試題及答案
- 機(jī)電工程課程教學(xué)案例與試題及答案解讀
- 安全對(duì)撞測(cè)試題及答案
- 安全大比武試題及答案
- 西方公共政策中的利益博弈試題及答案
- 英語(yǔ)高二月考試卷及答案
- 韋伯與西方政治制度的探討試題及答案
- 一年數(shù)學(xué)期末試卷及答案
- 信息系統(tǒng)項(xiàng)目管理師考試項(xiàng)目選擇技巧試題及答案
- 西方政治制度與國(guó)際交往的新形態(tài)試題及答案
- KCA試題庫(kù)完整版
- 2024年新版藥品管理法培訓(xùn)
- DB51T 2845-2021 連續(xù)玄武巖纖維生產(chǎn)原料技術(shù)規(guī)范
- 2025屆湖南省高考化學(xué)第一輪復(fù)習(xí)模擬選擇題-化學(xué)與生活43道(附答案)
- 醫(yī)院培訓(xùn)課件:《血液凈化質(zhì)量控制標(biāo)準(zhǔn)解讀》
- GB/T 44908-2024風(fēng)力發(fā)電場(chǎng)技改升級(jí)安全要求及評(píng)價(jià)方法
- 家具翻新合同模板
- 二次元行業(yè)的發(fā)展環(huán)境分析
- 工廠轉(zhuǎn)讓協(xié)議書(shū)的
- (建筑施工工藝標(biāo)準(zhǔn))鋼結(jié)構(gòu)制作施工工藝標(biāo)準(zhǔn)
- 10SG614-2 砌體填充墻構(gòu)造詳圖(二)(與主體結(jié)構(gòu)柔性連接)
評(píng)論
0/150
提交評(píng)論