




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
JINGCHUJINGCHUUNIVERSITYOFTECHNOLOGY鍵盤掃描顯示試驗原理及分析報告學院計算機工程學院專業(yè)計算機科學與技術年級班別 09計算機科學與技術1班學 號 2023404010131學生姓名 李雅旖指導教師 李永202301名目一、內容提要二、試驗目的三、試驗要求四、試驗器材五、試驗電路六、試驗說明七、試驗框圖八、試驗程序九、試驗分析十、試驗心得十一、參考文獻一、內容提要到了舉足輕重的作用。單片機在人們的生活中得到廣泛的應用。本文介紹了基于單片機的鍵盤掃描顯示試驗,具體爭論了它從軟件上實現(xiàn)的過程,以及硬件接口的原理及其實現(xiàn),依據(jù)輸出的列碼和讀取的行碼來推斷按下的是什在么鍵,即有按鍵時向列掃描碼地址(0e101H)逐列輸出低電平,然后從行碼地址(0e103H)讀回,理解讀取鍵盤按鍵的原理,和最簡潔的單片機接口原理二、試驗目的:1、把握鍵盤和顯示器的接口方法和編程方法。2LED二、試驗要求:個掃描鍵盤和數(shù)碼顯示試驗,把按鍵輸入的鍵碼在六位數(shù)碼管上顯示出來。試驗程序可分成三個模塊:1、鍵輸入模塊:掃描鍵盤、讀取一次鍵盤并將鍵值存入鍵值緩沖單元。2、顯示模塊:將顯示單元的內容在顯示器上動態(tài)顯示。3、主程序:調用鍵輸入模塊和顯示模塊。三、試驗器材:1、超想-3000TC綜合試驗儀 1臺2、KEIL仿真器 1 臺3、計算機 1臺四、試驗電路:“8155”。行碼(0e103H)行碼(0e103H)列碼(0e101H)五、試驗說明:(0e101H)逐列輸出低電平,然后從行碼地址(0e103H)讀回,假設有鍵按下,則相應行的值應為低,假設無鍵按下,由于上拉的作用,行碼為高.這樣就可以通過輸出的列碼和讀取的行碼LED六、試驗框圖:顯示緩沖區(qū)初始化顯示緩沖區(qū)初始化LED否有鍵輸入?是讀取鍵值鍵值轉換為顯示數(shù)據(jù)主程序框圖主程序框圖開頭初始化地址參數(shù)輸出列掃描信號列掃描信號移位讀入行信號是該列有鍵輸入?依據(jù)行列計算鍵值否否查表得鍵碼6列掃描完?等待鍵盤釋放待按鍵釋放返回讀鍵輸入子程序框圖七、試驗程序如下:ST MOV 11H,R7鍵盤掃描試驗OUTBITequ0e101h;位把握口CLK164equ0e102h;164DAT164equ0e102h;164IN equ0e103h;鍵盤讀入口ORG0000HLJMPSTAR;==========================================================================KEY1:MOV13H,#06HMOV12H,#20HKEY2:MOVA,12HCPLAMOVR7,AMOVDPTR,#0E101HMOVA,R7MOVX@DPTR,AMOVA,12HCLRCRRCAMOV12H,AMOVDPTR,#0E103HMOVXA,@DPTRMOVR7,AMOVA,R7CPLAMOVR7,AMOVA,R7ANLA,#0FHMOV14H,ADEC13HMOVR7,13HMOVA,R7JZKEYDISMOVA,14HJZKEY2KEYDIS:MOVA,14HJZTESTKEY5MOVA,13HADDA,ACCADDA,ACCMOV13H,AMOVA,14HJNBACC.1,TESTKEYINC13HSJMPTESTKEY2;;=================================================;鍵盤掃描TESTKEY:MOVA,14HJNBACC.2,TESTKEY1INC13HINC13HSJMPTESTKEY2TESTKEY1:MOVA,14HJNBACC.3,TESTKEY2MOVA,#03HADDA,13HMOV13H,ATESTKEY2:MOVDPTR,#0E101HCLRAMOVX@DPTR,ATEKEY3:MOVR7,#0AHLCALLMLOOPLCALLMLOOP4MOVA,R7JNZTESTKEY3MOVR7,13HMOVA,R7MOVDPTR,#0134HMOVCA,@A+DPTRMOVR7,ARET;==========================================================================TESTKEY4: DB22H;“;==========================================================================TESTKEY5: MOV R7,#0FFHRET;==========================================================================GETKEY:MOV10H,#20HMOV0EH,#00HGETKEY1:MOVA,0EHCLRCSUBBA,#06HJNCGOON2MOVDPTR,#0E101HCLRAMOVX@DPTR,AMOVR7,0EHMOVA,#08HADDA,R7MOVR0,AMOVA,@R0MOVR7,AMOV0FH,#00HGETKEY2:MOVA,0FHCLRCSUBBA,#08HJNCGOON1MOVA,11HJNBACC.7,KLOOPMOVDPTR,#0E102HMOVA,#01HMOVX@DPTR,ASJMPKLOOP1;;==========================================KLOOP:MOVDPTR,#0E102HCLRAMOVX@DPTR,AKLOOP1:MOVDPTR,#0E102HMOVXA,@DPTRMOVR7,AMOVA,R7ORLA,#02HMOVR7,AMOVA,R7MOVX@DPTR,AMOVDPTR,#0E102HMOVXA,@DPTRMOVR7,AMOVA,R7ANLA,#0FDHMOVR7,AMOVA,R7MOVX@DPTR,AMOVA,11HADDA,ACCMOV11H,AINC0FHSJMPGETKEY2GOON1:MOVDPTR,#0E101HMOVA,10HMOVX@DPTR,AMOVR7,#01HLCALLMLOOPMOV A,10HCLR CRRC AMOV 10H,AINC 0EHSJMPGETKEY1GOON2: RET;==========================================================================WAIT:MOVDPTR,#0E100HMOVA,#03HMOVX@DPTR,AMOV08H,#0FFHMOV09H,#0FFHMOV0AH,#0FFHMOV0BH,#0FFHMOV0CH,#00HMOV0DH,#00HWAIT1:LCALLGETKEYLCALLMLOOP4MOVA,R7JZWAIT1LCALLKEY1MOVR6,#00HMOVR6,#00HMOVA,R7ANLA,#0FHMOVR7,AMOVA,#24HADDA,R7MOVDPL,AMOVA,#01HADDCA,R6MOVDPH,ACLRAMOVCA,@A+DPTRMOVR7,AMOV0DH,R7SJMPWAIT1RET;==========================================================================TAB:Q0124:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;?.[Ofm}.Q012C:DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;ow|9^yqQ0134:DB00H,01H,04H,07H,0FH,02H,05H,08H;........Q013C:DB0EH,03H,06H,09H,0DH,0CH,0BH,0AH;........Q0144:DB10H,11H,12H,13H,14H,15H,16H;.......;==========================================================================MLOOP:MOV15H,R7MLOOP1:MOVR7,15HDEC15HMOVA,R7JZMLOOP3MOV16H,#64HMLOOP2:MOVA,16HJZMLOOP1DEC16HSJMPMLOOP2SJMPMLOOP1MLOOP3:RET;==========================================================================MLOOP4: MOV DPTR,#0E101HCLR AMOVX@DPTR,AMOV DPTR,#0E103HMOVXA,@DPTRMOV R7,AMOV A,R7CPL AMOV R7,AMOV A,R7ANL A,#0FHMOV R7,ARET;==========================================================================STAR:MOVR0,#7FHCLRASTAR1:MOV@R0,ADJNZR0,STAR1MOVSP,#16HLJMPWAITEND;==================================================================八.試驗分析:一:主程序分析主程序執(zhí)行步:1:顯示緩沖區(qū)初始化2:LED3:推斷是否有鍵輸入。4:假設有鍵盤輸入讀取鍵值: 5:鍵值轉換為顯示數(shù)據(jù)二:子程序分析:子程序執(zhí)行步驟:1:初始化地址參數(shù)2:輸出列掃描信號列3:掃描信號移位4:讀入行信號56,7,89,2,3,4.依據(jù)行列計算鍵值查表得鍵碼9:6列掃描完?10:子程序主要代碼分析如下:鍵盤掃描子程序分析:程序段TESTKEY分析:14H放入運算器A中,推斷A的值是否不小于ACC.2的值假設是則跳轉到TESTKEY1假設不是則A13H13HTESTKEY2TESTKEY:MOVA,14HJNBACC.2,TESTKEY1INC13HINC13HSJMPTESTKEY2TESTKEY1分析:TESTKEY1:MOVA,14HJNBACC.3,TESTKEY2MOVA,#03HADDA,13HMOV13H,A14HAAACC.3TESTKEY2假設不是則將A03ATESTKEY1:MOVA,14HJNBACC.3,TESTKEY2MOVA,#03HADDA,13HMOV13H,A程序段TESTKEY2分析:本程序段主要功能是:輸出列掃描信號列掃描信號移位DPTR指向馬上數(shù)#0E101HA內存放的值的全部位都向左移動1A0E101H中TESTKEY2:MOVDPTR,#0E101HCLRAMOVX@DPTR,ATESTKEY3分析:將馬上數(shù)#OA放入R7中,程序長跳轉到MLOOP,長跳MLOOP4R7AA0TESTKEY3將13HR713HR7R7A0134H放入DPTR所指的地址空間,將運算器A的值加上DPTR所指地址的值相加取地址再放入運算器A中,將A中的值放入R7TESTKEY3: MOV R7,#0AHLCALLMLOOPLCALLMLOOP4MOV A,R7JNZ TESTKEY3MOV R7,13HMOV A,R7MOV DPTR,#0134HMOVCA,@A+DPTRMOV R7,ARETTESTKEY4: DB22H;“;==========================================================================TESTKEY5: MOV R7,#0FFHRET;==========================================================================本程序段主要作用時讀取鍵盤的值。程序段GETKEY分析:將馬上數(shù)20H放入地址為10H的存儲空間內,將馬上數(shù)00H0EHGETKEY: MOV 10H,#20HMOV 0EH,#00H程序段GETKEY1將地址段0EH的值放入運算器A中,將C中存儲的二進A06H放入運算器A中,0E101HDOTR0EHR708HA中,將R7AAR0R0AR700H址OFHGETKEY1:MOVA,0EHCLRCSUBBA,#06HJNCGOON2MOVDPTR,#0E101HCLRAMOVX@DPTR,AMOVR7,0EHMOVA,#08HADDA,R7MOVR0,AMOVA,@R0MOVR7,AMOV11H,R7MOV0FH,#00H程序段GETKEY2GETKEY2:MOVA,0FHCLRCSUBBA,#08HJNCGOON1將地址值為0FH的內容放入運算器A中,將C每位都向左移動一位,將A中的二進制數(shù)加上馬上數(shù)08H,將地址為11H內的值放入運算器A中,推斷A中的值是否不小于ACC.7假設是不下于條轉到標號KLOOP假設不是則將馬上數(shù)0E102放入指針DPTR所指的地址空間,將馬上數(shù)01HGETKEY2:MOVA,0FHCLRCSUBBA,#08HJNCGOON1MOV A,11HJNB ACC.7,KL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年三明市農(nóng)業(yè)農(nóng)村局直屬事業(yè)單位選聘真題
- 2024年青海省郵政管理局下屬事業(yè)單位真題
- 企業(yè)數(shù)字化轉型的戰(zhàn)略價值試題及答案
- 2024年西安市曲江第六小學招聘筆試真題
- 2024年四川省骨科醫(yī)院招聘筆試真題
- 2024年貴州省能源局下屬事業(yè)單位真題
- 2024年貴陽市觀山湖區(qū)第十一小學招聘教師真題
- 2024年民生銀行成都研發(fā)中心招聘筆試真題
- VB考試模擬沖刺試題及答案
- 網(wǎng)絡管理員考試問題匯聚試題及答案
- 計算機的基本工作原理初中七年級上冊信息技術課件
- 腸瘺 課件教學課件
- 加油站防雷制度檔案
- 2024年四川省巴中市中考文科綜合試卷(含答案解析)
- 欠款抵車的協(xié)議書范本
- 設備購買合同模板示例
- 基于JAVA的寵物管理系統(tǒng)實現(xiàn)畢業(yè)論文
- 2024年小區(qū)地下車位租賃合同
- 2022-2023學年上海市閔行區(qū)八年級(下)期末數(shù)學試卷
- 專題03 陜西?。ˋ卷)-2022-2023年各地中考英語聽力真題合集(含聽力原文及MP3)
- 諾如病毒校園防控知識
評論
0/150
提交評論