




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、KEYBUF EQU 40H ; 鍵號存放單元ORG 0000HLJMP MAINORG 0030HMAIN: MOV KEYBUF,#0 ; 初始鍵號設(shè)位0,也可以為任意值MOV R0,#30H ; 顯示首地址MOV R2,#0CH ; 計算數(shù)據(jù)存放單元個數(shù)CLR AQING: MOV R0,A ; 將數(shù)據(jù)存放單元清零INC R0DJNZ R2,QINGMOV P0,#8FH ; 關(guān)閉顯示MOV R1,#30H ; 將顯示首地址存放R1里;=; 五位無符號顯示子程序DIS1: MOV R0,#30H ; 把顯示數(shù)據(jù)第一位放在R0里MOV R2,#04H ; 把顯示的位碼放在R2里MOV R3
2、,#05H ; 把顯示的長度放在R3里DIS2: MOV A,R0ANL A,#0FH ; 屏蔽顯示數(shù)據(jù)的高四位MOV B,AMOV A,R2ANL A,#0FH ; 屏蔽位碼的高四位SW AP AORL A,BMOV P0,A ; 送總顯示數(shù)據(jù)到P0顯示 LCALL DELY4ms ; 調(diào)用延時4msINC R0 ; 取下一個顯示數(shù)據(jù)DEC R2DJNZ R3,DIS2 ; 四位顯示晚后重新開始顯示;=; 鍵盤掃描子程序WAIT: MOV P1,#0FFH ;P1口送高電平CLR P1.0 ; 第一行清零MOV A,P1 ; 讀P1口ANL A,#0F0H ; 低位屏蔽XRL A,#0F0H
3、 ; 判斷低位是否有低電平 , 即判斷是否有按鍵按下 JZ NOKEY1 ; 地位有低電平繼續(xù)掃描, 否者跳到第而行去掃描 LCALL DELY10ms ; 延時10ms 去抖在進行判斷是否有按鍵按下 MOV A,P1 ; 繼續(xù)讀P1口ANL A,#0F0H ; 判斷低位是否有低電平CJNE A,#0E0H,NK1 ; 如果掃描數(shù)據(jù)不為0E0H 就轉(zhuǎn)到NK1MOV KEYBUF,#0 ; 否者判斷為0號鍵AJMP DK ; 轉(zhuǎn)DK1查表程序NK1: CJNE A,#0D0H,NK2 ; 如果掃描數(shù)據(jù)不為0D0H 就轉(zhuǎn)到NK2MOV KEYBUF,#1 ; 否者判斷為1號鍵AJMP DK ; 轉(zhuǎn)
4、DK2查表程序NK2: CJNE A,#0B0H,NK3 ; 如果掃描數(shù)據(jù)不為0B0H 就轉(zhuǎn)到NK3MOV KEYBUF,#2 ; 否者判斷為2號鍵AJMP DK ; 轉(zhuǎn)DK3查表程序NK3: CJNE A,#70H,NK4 ; 如果掃描數(shù)據(jù)不為70H 就轉(zhuǎn)到NK4LJMP SAN_CHUNK4: NOPNOKEY1: MOV P1,#0FFH; 和上面相同 CLR P1.1MOV A,P1ANL A,#0F0HXRL A,#0F0HJZ NOKEY2LCALL DELY10MSMOV A,p1ANL A,#0F0HXRL A,#0F0HJZ NOKEY2MOV A,P1ANL A,#0F0H
5、CJNE A,#0E0H,NK5MOV KEYBUF,#3AJMP DKNK5: CJNE A,#0D0H,NK6MOV KEYBUF,#4AJMP DKNK6: CJNE A,#0B0H,NK7MOV KEYBUF,#5AJMP DKNK7: CJNE A,#70H,NK8MOV KEYBUF,#10; 否者判斷為3號鍵 AJMP DK; 轉(zhuǎn)DK4查表程序 NK8: NOPNOKEY2: MOV P1,#0FFHCLR P1.2MOV A,P1ANL A,#0F0HXRL A,#0F0HJZ NOKEY3LCALL DELY10MSANL A,#0F0HXRL A,#0F0HJZ NOKEY
6、3MOV A,P1ANL A,#0F0HCJNE A,#0E0H,NK9MOV KEYBUF,#6AJMP DKNK9: CJNE A,#0D0H,NK10MOV KEYBUF,#7AJMP DKNK10: CJNE A,#0B0H,NK11MOV KEYBUF,#8AJMP DKNK11: CJNE A,#70H,NK12LJMP DENG_HAONK12: NOPNOKEY3: MOV P1,#0FFHCLR P1.3MOV A,P1ANL A,#0F0HXRL A,#0F0HJZ NOKEY4LCALL DELY10MSMOV A,P1ANL A,#0F0HXRL A,#0F0HJZ N
7、OKEY4MOV A,P1ANL A,#0F0HCJNE A,#0E0H,NK13LJMP CHUNK13: CJNE A,#0D0H,NK14LJMP CHENGNK14: CJNE A,#0B0H,NK15LJMP JIANNK15: CJNE A,#70H,NK16LJMP JIANK16: NOP;=; 查表求鍵值程序MOV A,KEYBUF ; 查表程序 查對應(yīng)的鍵號數(shù)據(jù)MOV DPTR,#TABLE ; 把表頭地址放入DPTRMOVC A,A+DPTR ;A 里面存放的為鍵號, 利用A 和表頭地址找到對應(yīng)的鍵號數(shù)據(jù)MOV B,A ; 把查到的數(shù)據(jù)送往顯示單元INC R1 ; 取下一
8、個顯示單元MOV A,R1CJNE A,#36H,DKA1 ; 判斷顯示單元是否已滿MOV R1,#35H ;35H,36H 單元用于更好的控制五位顯示AJMP DKADKA1: MOV 34H,33H ; 按鍵代碼按左移顯示,先按先顯示MOV 33H,32HMOV 32H,31HMOV 31H,30HMOV 30H,BDKA: MOV A,P1 ; 讀P1口ANL A,#0F0H ; 屏蔽高四位XRL A,#0F0H ; 地位是有低電平JNZ DKA ; 如果有低電平繼續(xù)讀P1口, 否者向下執(zhí)行, 查找第二行 NOKEY4: LJMP DIS1;=; 功能按鍵功能設(shè)定DENG_HAO:MOV
9、 DPTR,#JI_SUAN ; 等號鍵功能通過加、減、乘、除設(shè)定的偏移量來調(diào)用子程序MOV A,3CH ;3CH 存放的為功能程序入口地址偏移量JMP A+DPTR ; 轉(zhuǎn)移到按鍵功能程序JI_SUAN: AJMP JIA1 ; 加計算子程序AJMP JIAN1 ; 減計算子程序AJMP CHENG1 ; 乘計算子程序AJMP CHU ; 除計算子程序;=刪除鍵功能SAN_CHU: ACALL QING_DISAJMP DKA;=加鍵功能JIA: MOV 3CH,#00HACALL CUN_SHUACALL QING_DISAJMP DKA;=減鍵功能JIAN: MOV 3CH,#02HAC
10、ALL CUN_SHUACALL QING_DISAJMP DKA;=乘鍵功能CHENG: MOV 3CH,#04HACALL CUN_SHUACALL QING_DISAJMP DKA;=除鍵功能CHU: MOV 3DH,#06HACALL CUN_SHUACALL QING_DISAJMP DKA;=; 存被加(減、乘、除)數(shù),存放在37H3BH里 CUN_SHU: MOV 37H,30H ;36H 存放的為最低位 MOV 38H,31HMOV 39H,32HMOV 3AH,33HMOV 3BH,34H ;3AH 存放的為最高位 RET;=; 清除顯示單元QING_DIS: MOV R1,
11、#30HQING1: MOV R1,#00HINC R1MOV A,R1CJNE A,#36H,QING1MOV R1,#30HLOP1: RET;=; 十進制加法子程序JIA1:MOV A,37H ; 個位被加數(shù)ADD A,30H ; 個位被加數(shù)+加數(shù)MOV B,#10 ; 十六進制除10轉(zhuǎn)換成BCD 碼 DIV ABMOV 30H,B ; 余數(shù)即個位存放在30H MOV 37H,A ; 商存放在37HMOV A,38H ; 十位被加數(shù)ADD A,31H ; 十位被加數(shù)+加數(shù)ADD A,37H ; 加上個位之和的進位MOV 37H,#00H MOV B,#10 DIV AB MOV 31H,
12、B MOV 38H,A MOV A,39H ADD A,32H ADD A,38H MOV 38H,#00H MOV B,#10 DIV AB MOV 32H,B MOV 39H,A MOV A,3AH ADD A,33H ADD A,39H MOV 39H,#00H MOV B,#10 DIV AB MOV 33H,B MOV 3AH,A ;清除 37H ;十六進制除 10 轉(zhuǎn)換成 BCD 碼 ;余數(shù)即十位存放在 31H ;商存放在 38H ;百位計算同十位 ;千位計算同十位 MOV A,3BH ;萬位計算同十位 ADD A,34H ADD A,3AH MOV 3AH,#00H MOV B,#10 DIV AB MOV 34H,B MOV 3BH,#00H AJMP DKA ;= JIAN1: AJMP DKA CHENG1: AJMP DKA CHU1: AJMP DKA ;= ;延時程序和查表表格 DELY4ms: MOV R6,#8 ;延時 4 毫秒 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET DEL
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度保密技術(shù)合作保密費及保密期限協(xié)議
- 二零二五年度養(yǎng)老服務(wù)業(yè)勞動合同違約賠償及服務(wù)質(zhì)量標準合同
- 2025年度購房合同簽訂及后續(xù)房產(chǎn)增值服務(wù)協(xié)議
- 2025年法拍房屋拍賣議價及成交保障合同
- 二零二五年度大型光伏發(fā)電站項目設(shè)備安裝合同
- 二零二五年度青少年輔導(dǎo)班退費條款及輔導(dǎo)效果承諾協(xié)議
- 二零二五年度智慧醫(yī)療合同-嚴格責任原則下的遠程醫(yī)療服務(wù)協(xié)議
- 2025年度離婚撫養(yǎng)協(xié)議書:子女撫養(yǎng)、教育支持與財產(chǎn)分割協(xié)議
- 2025年度特色飲品餐飲特許經(jīng)營協(xié)議
- 2025年景德鎮(zhèn)貨運從業(yè)資格證在哪里練題
- GB/T 3452.2-2007液壓氣動用O形橡膠密封圈第2部分:外觀質(zhì)量檢驗規(guī)范
- GB/T 30797-2014食品用洗滌劑試驗方法總砷的測定
- GB/T 20057-2012滾動軸承圓柱滾子軸承平擋圈和套圈無擋邊端倒角尺寸
- GB/T 19808-2005塑料管材和管件公稱外徑大于或等于90mm的聚乙烯電熔組件的拉伸剝離試驗
- GB/T 10051.1-2010起重吊鉤第1部分:力學(xué)性能、起重量、應(yīng)力及材料
- 2022年人民交通出版社股份有限公司招聘筆試試題及答案解析
- 班組建設(shè)工作體系課件
- 第章交通調(diào)查與數(shù)據(jù)分析課件
- 穆斯林太巴熱咳慶念詞文
- 軟硬結(jié)合板的設(shè)計制作與品質(zhì)要求課件
- 中醫(yī)院情志養(yǎng)生共64張課件
評論
0/150
提交評論