九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

小鍵盤按鍵識(shí)別(微機(jī)原理課程設(shè)計(jì)).doc

  • 資源ID:9548734       資源大?。?span id="24d9guoke414" class="font-tahoma">81KB        全文頁(yè)數(shù):13頁(yè)
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

小鍵盤按鍵識(shí)別(微機(jī)原理課程設(shè)計(jì)).doc

1 微機(jī)原理與接口技術(shù) 課程設(shè)計(jì)報(bào)告 專 業(yè) 班 級(jí) 姓 名 學(xué) 號(hào) 指導(dǎo)教師評(píng)語(yǔ) 成績(jī) 簽名 年 月 日 2 小鍵盤按鍵識(shí)別 一 課題任務(wù)與要求 實(shí)驗(yàn)箱上有一個(gè) 24 鍵小鍵盤 出廠時(shí)按鍵接點(diǎn)已經(jīng)按圖所示連接 小 鍵盤有 8 根橫向引出線 實(shí)驗(yàn)前將 8 根橫向引出線與 PA0 PA7 相連 3 根 縱向引出線與 PB0 PB2 相連 再?gòu)?I O 口地址譯碼器 選擇一個(gè)譯碼器 輸出連接到 8255 的片選端 做好上述連接之后 就構(gòu)成了以 8255 為核心 的鍵盤輸入電路要求 在實(shí)際的自動(dòng)控制系統(tǒng)中 鍵盤輸入電路的作用是輸入數(shù)據(jù) 0 9 A F 或者輸入控制信號(hào) G M P R W X Y S 實(shí)現(xiàn)上述 功能的核心程序是 按鍵識(shí)別 本實(shí)驗(yàn)要求設(shè)計(jì)按鍵識(shí)別程序 當(dāng)按下小鍵盤上某一個(gè)鍵的時(shí)候 主 機(jī)屏幕顯示閉合鍵的鍵名 按下小鍵盤 R 鍵之后停止演示 二 完成任務(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 賦值為 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 程序框圖 預(yù)置 A 口為方 式 0 輸出 B 口為方 式 0 輸入 0 PA7 PA0 PB2 PB0 AH AH 7 延時(shí) 20ms 預(yù)置 B 口為方式 0 輸出 A 口為方式 0 輸入 列值 PB2 PB0 PA7 PA0 AL 根據(jù) AX 內(nèi)容 查找鍵值表 顯 示相應(yīng)的鍵值 是 R 結(jié)束演示 2 實(shí)驗(yàn)電路圖 4 3 8255 方式選擇控制字 1 D6 D5 D4 D3 D2 D1 D0 4 源程序 TITLE LITTLEKEYBOARD SSEG SEGMENT PARA STACK STACK 方式 選擇 控制 字標(biāo) 志 A 組方式 00 方式 0 01 方式 1 1X 方式 2 A 口 IO 1 輸入 0 輸出 C 上半 口 IO 1 輸入 0 輸出 B 組方式 0 方式 0 1 方式 1 B 口 IO 1 輸入 0 輸出 C 下半口 IO 1 輸入 0 輸出 5 DB 256 DUP 0 SSEG ENDS DSEG SEGMENT A 8255 EQU 210H B 8255 EQU 211H CON 8255 EQU 213H BUFFER 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 ENDS CSEG SEGMENT ASSUME CS CSEG DS DSEG SS SSEG START PROC NEAR MOV AX DSEG MOV DS AX CALL CLOSEALL 關(guān)掉數(shù)碼管 防止因?yàn)樽畛鯏?shù)碼管有顯示而使程序執(zhí)行不正常 CMPAGAIN CALL DISPLAY DISPLAY 函數(shù)用來(lái)將 BUFFER 中的鍵值顯示在數(shù)碼管上 MOV DX CON 8255 MOV AL 10000010B OUT DX AL 設(shè)定 A 口方式 0 輸出 B 口方式 0 輸入 AGAIN CALL DISPLAY MOV DX A 8255 6 MOV AL 0 OUT DX AL 0 PA7 PA0 MOV DX B 8255 IN AL DX AND AL 00000111B 取出 PB0 PB2 CMP AL 00000111B JE AGAIN MOV LIE AL 將列值保存 CALL DELAY1 延時(shí) 20ms MOV DX CON 8255 MOV AL 10010000B OUT DX AL 預(yù)置 A 口方式 0 輸入 B 口方式 0 輸入 MOV DX A 8255 IN AL DX MOV HANG AL 將行值保存 CALL GETINPUT GETINPUT 函數(shù)通過(guò)行值和列值查出輸入的鍵值 并將它保存在 AL 中 如果輸入是 R 則 AL 賦值為 FFH 如果輸入非法字符 則 AL 賦值為 0AH CMP AL 0AH JE CMPAGAIN 如果是非法字符則跳回 CMP AL 0FFH JNE CONTINUE 如果是 R 則退出程序 CALL CLOSEALL MOV AH 4CH INT 21H CONTINUE CALL CHANGE 7 CHANGE 函數(shù)用來(lái)改變 BUFFER 中保存的鍵值 MOV DX CON 8255 MOV AL 10000010B OUT DX AL 設(shè)定 A 口方式 0 輸出 B 口方式 0 輸入 LLL CALL DISPLAY MOV DX B 8255 IN AL DX AND AL 00000111B 取出 PB0 PB2 CMP AL 00000111B JNE LLL JMP CMPAGAIN 不斷掃描 如果不松開(kāi)按鍵 那么就循環(huán)等待 直到按鍵松開(kāi)就跳回 RET START ENDP 此函數(shù)用以延時(shí) 20MS DELAY1 PROC NEAR PUSH AX PUSH CX PUSH DX MOV AH 86H MOV CX 0 MOV DX 20000 INT 15H POP DX POP CX POP AX 8 RET DELAY1 ENDP GETINPUT 函數(shù)通過(guò)行值和列值查出輸入的鍵值 并將它保存在 AL 中 如果輸入是 R 則 AL 賦值為 FFH 如果輸入非法字符 則 AL 賦值為 0AH GETINPUT PROC NEAR CMP LIE 00000110B JE LIE0 CMP LIE 00000101B JE LIE1 CMP LIE 00000011B JE LIE2 MOV AL 0AH RET LIE2 CMP HANG 00010000B JE NEXT MOV AL 0AH RET NEXT MOV AL 0FFH RET LIE0 CMP HANG 01111111B JE KEY8 CMP HANG 10111111B JE KEY9 MOV AL 0AH RET KEY8 MOV AL 8 RET KEY9 MOV AL 9 RET 9 LIE1 CMP HANG 01111111B JE KEY0 CMP HANG 10111111B JE KEY1 CMP HANG 11011111B JE KEY2 CMP HANG 11101111B JE KEY3 CMP HANG 11110111B JE KEY4 CMP HANG 11111011B JE KEY5 CMP HANG 11111101B JE KEY6 CMP HANG 11111110B JE KEY7 MOV AL 0AH RET KEY0 MOV AL 0 RET KEY1 MOV AL 1 RET KEY2 MOV AL 2 RET KEY3 MOV AL 3 RET KEY4 MOV AL 4 RET KEY5 MOV AL 5 RET 10 KEY6 MOV AL 6 RET KEY7 MOV AL 7 RET GETINPUT ENDP CHANGE 函數(shù)用來(lái)改變 BUFFER 中保存的鍵值 將 BUFFER 中的鍵值移位 最后一位加 入 AL 中的新鍵值 CHANGE PROC NEAR PUSH AX PUSH SI MOV SI OFFSET BUFFER MOV AH SI 1 MOV SI AH MOV AH SI 2 MOV SI 1 AH MOV AH SI 3 MOV SI 2 AH MOV AH SI 4 MOV SI 3 AH MOV AH SI 5 MOV SI 4 AH MOV SI 5 AL POP SI POP AX RET CHANGE ENDP DISPLAY 函數(shù)用來(lái)將 BUFFER 中的鍵值顯示在數(shù)碼管上 DISPLAY PROC NEAR 11 PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI MOV BX OFFSET TABLE MOV SI OFFSET BUFFER MOV CL 1 XUNHUAN MOV AL SI XLAT MOV DX 201H OUT DX AL MOV DX 200H MOV AL CL OUT DX AL MOV DX 200H MOV AL 0 OUT DX AL INC SI SHL CL 1 CMP CL 40H JNE XUNHUAN POP SI POP DX POP CX POP BX POP AX RET DISPLAY ENDP 12 此函數(shù)用在退出程序時(shí)將數(shù)碼管關(guān)閉 CLOSEALL PROC NEAR PUSH AX PUSH CX PUSH DX MOV CL 1 XUNHUAN1 MOV DX 200H MOV AL CL OUT DX AL MOV AL 0 OUT DX AL SHL CL 1 CMP CL 20H JNE XUNHUAN1 POP DX POP CX POP AX RET CLOSEALL ENDP CSEG END END 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è)鍵不放 數(shù)碼管上就會(huì)一下子出來(lái)很多字符 調(diào)試時(shí)發(fā)現(xiàn) 13 了這個(gè)問(wèn)題 想到的解決方法有兩種 一種是每一次按鍵后檢測(cè)鍵是否松開(kāi) 直到松開(kāi)后 再繼續(xù)執(zhí)行下一次判斷 另一種是按鍵后延緩一個(gè)固定的時(shí)間 大約 0 2 秒 再判斷 計(jì) 算機(jī)的鍵盤就是采取這樣的方法 本程序采用的是第一種方法 3 編程序要養(yǎng)成好的習(xí)慣 我最初的程序結(jié)束時(shí)并沒(méi)有關(guān)掉數(shù)碼管 以致下次用時(shí)數(shù) 碼管顯示不正確 好的程序應(yīng)該各方面想得周到一些 例如我后來(lái)在開(kāi)始和結(jié)束時(shí)都加了 關(guān)閉數(shù)碼管程序 CLOSEALL 這就避免了上述問(wèn)題 4 我并沒(méi)有采用查表得方法來(lái)獲得鍵值 我覺(jué)得用跳轉(zhuǎn)的方法能使程序的可讀性強(qiáng)一 些 當(dāng)然 程序代碼會(huì)長(zhǎng)許多 但此法由于思路清楚 比較容易查錯(cuò)

注意事項(xiàng)

本文(小鍵盤按鍵識(shí)別(微機(jī)原理課程設(shè)計(jì)).doc)為本站會(huì)員(jian****018)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!