版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機鍵盤掃描及數(shù)碼管顯示2010-08-19 09:32*;MCS-51單片機匯編程序語言基本模型*LED_D EQU 6ORG 0000H;顯示模塊數(shù)LJMP START;復(fù)位后程序計數(shù)器 PC=0000HORG 0003HLJMP MY INTO;夕卜部中斷0入口ORG 000BHLJMP MY T0;定時器中斷0入口ORG 0013HLJMP MY INT1;夕卜部中斷1入口ORG 001BHLJMP MY T1;定時器中斷1入口ORG 0023HLJMP MY TX;串行口中斷入口ORG 002BHLJMP MY T2;定時器中斷2入口( 8032/8052)START:ORG 00
2、30H;程序開始MOV SP,#50H;設(shè)置堆棧指針;MOV IE,#10000001B ;EA - ET2 ES ET1 EX1 ET0 EX0SETB EA ;總中斷允許SETB EX0 ;外部中斷0允許MOV P1,#0FH;鍵盤中斷條件MOV 30H,#0MOV 31H,#16 ;16= 空值MOV 32H,#16MOV 33H,#16MOV 34H,#16MOV 35H,#16LCALL LED_OUTLCALL DELAY;延時子程序MAIN:Icall keyIcall led_out;延時子程序;程序結(jié)束LJMP MAINMY INTO:;外部中斷0服務(wù)子程序LCALL KEY
3、LCALL DELAYLJMP GO TOINTO END:LCALL LED_OUT ;顯示輸出子程序RETI;中斷返回MY INT1:;外部中斷1服務(wù)子程序RETIMY TO:;定時器中斷0服務(wù)子程序;中斷返回RETIMY T1:;定時器中斷1服務(wù)子程序;中斷返回RETIMY TX:;串行口中斷服務(wù)子程序;中斷返回RETI;中斷返回MY T2:;定時器中斷2服務(wù)子程序(8032/8052 )RETI;中斷返回*;鍵盤掃描子程序;出口: A=鍵值;占用:A,P1,SP,R2,R3,R6,R7*KEY:LCALL KS1JZ KEYENDLCALL YS10MSLCALL KS1JZ KEYE
4、NDMOV R2,#0EFHMOV R3,#00H;是否有鍵按下;無鍵按下,返回;10MS延時;是否有鍵按下;無鍵按下,返回;賦首列掃描字;賦首列指針LK1:MOV P1,R2;掃描字=>P1MOV A,P1;讀 P1 口JB ACC.0, LONE ;0 行無鍵按下,轉(zhuǎn) 1行MOV A,#0;0行有鍵按下,賦行號=>ALJMP LKP;轉(zhuǎn)求鍵號LONE:JB ACC.1 ,L TW0 ;1行無鍵按下,轉(zhuǎn)2行MOV A,#4;1行有鍵按下,賦行號=>ALJMP LKP;轉(zhuǎn)求鍵號LTW0:JB ACC.2, LTHR ;2行無鍵按下,轉(zhuǎn)3行MOV A,#8;2行有鍵按下,賦行號
5、=>ALJMP LKP;轉(zhuǎn)求鍵號LTHR:JB ACC.3,NEXT ;3行無鍵按下,轉(zhuǎn)列加一MOV A,#12;3行有鍵按下,賦行號=>ALJMP LKP;轉(zhuǎn)求鍵號NEXT:INC R3;列加一,指向下一列MOV A,R2;掃描字=>ARL A;掃描字左移MOV R2,A;暫存掃描字LJMP LK1;轉(zhuǎn)下一列掃描LKP:ADD A,R3;求鍵值(當(dāng)前行+當(dāng)前列)PUSH A;鍵值-> 壓入堆棧LK2:LCALL KS1;是否有鍵按下JNZ LK2;A不等于0,再判斷POP A;鍵已經(jīng)釋放,A= 建值Icall YS10MS;10MS延時Icall YS10MS;10M
6、S延時KEYEND:;返回RET*5KS1:;是否有鍵按下,有 A=1,否則A=0MOV P1,#0FH ;列線全部有效MOV A,P1;CPL A;ANL A,#0FH ;RET*5YS10MS:;延時10毫秒,晶振頻率為12.00MHZMOV R6,#50LOOP:MOV R7,#98DJNZ R7,$NOPDJNZ R6,LOOPRET*delay:;延時mov r7,#1Ioop2:mov r6,#20;0loopl:mov r5,#50djnz r5,$djnz r6,loop1djnz r7,loop2ret*5LED_OUT:;顯示輸出子程序 (74IS164)MOV R0,#3
7、0H;顯示緩沖區(qū)首地址MOV R2,#LED_D ;顯示模塊長度MOV DPTR,#TABLED_O1:MOV A,R0INC ROMOVC A,A+DPTRMOV SBUF,AJNB TI,$CLR TIDJNZ R2,LED_O1CLR P3.4SETB P3.4;鎖存脈沖RET.*TAB:;段碼表 ABCDEFG.1DB00000011B ;0|DB10011111B ;1|DB00100101B ;2|DB00001101B ;3|DB10011001B ;4|DB01001001B ;5|DB01000001B ;6|DB00011111B ;7|DB00000001B ;8|DB0
8、0001001B ;9|DB00010001B ;A|DB11000001B ;B|DB01100011B ;C|DB10000101B ;D|DB01100001B ;E|DB01110001B ;F|DB11111111B ;空 |DB11111101B ;-|段碼表 ABCDEFG.1 *MY_R:;顯示緩沖區(qū)左移MOV 35H,34HMOV 34H,33HMOV 33H,32HMOV 32H,31HMOV 31H,30HRET*GO_TO:;散轉(zhuǎn)程序MOV DPTR,#TBJ ;散轉(zhuǎn)表首地址MOV 40H,A;鍵值A(chǔ)DD A,40H;乘 2JMP A+DPTRTBJ: SJMP MY_
9、K0;0 轉(zhuǎn)移SJMP MY_K1SJMP MY_K2SJMP MY_K3SJMP MY_K4SJMP MY_K5SJMP MY_K6SJMP MY_K7SJMP MY_K8SJMP MY_K9SJMP MY_K10SJMP MY_K11SJMP MY_K12SJMP MY_K13SJMP MY_K14SJMP MY_K15MY_K0:LJMP MY_KEY0MY_K1:LJMP MY_KEY1MY_K2:LJMP MY_KEY2MY_K3:LJMP MY_KEY3MY_K4:LJMP MY_KEY4MY_K5:LJMP MY_KEY5MY_K6:LJMP MY_KEY6MY_K7:LJMP
10、MY_KEY7MY_K8:LJMP MY_KEY8MY_K9:LJMP MY_KEY9MY_K10:LJMP MY_KEY10MY_K11:LJMP MY_KEY11MY_K12:LJMP MY_KEY12MY_K13:LJMP MY_KEY13MY_K14:LJMP MY_KEY14MY_K15:LJMP MYKEY15MY_KEYO:;此處添加0號鍵程序代碼LCALL MY_R ;緩沖區(qū)顯示值左移一位MOV 30H,#0LJMP INT0_ENDMY_KEY1:;此處添加1號鍵程序代碼LCALL MY_RMOV 30H,#1LJMP INT0_ENDMY_KEY2:;此處添加2號鍵程序代碼
11、LCALL MY_RMOV 30H,#2LJMP INT0_ENDMY_KEY3:;此處添加3號鍵程序代碼LCALL MY_RMOV 30H,#3LJMP INTO_ENDMY_KEY4:;此處添加4號鍵程序代碼LCALL MY_RMOV 30H,#4LJMP INT0_ENDMY_KEY5:;此處添加5號鍵程序代碼LCALL MY_RMOV 30H,#5LJMP INT0_ENDMY_KEY6:;此處添加6號鍵程序代碼LCALL MY_RMOV 30H,#6LJMP INT0_ENDMY_KEY7:;此處添加7號鍵程序代碼LCALL MY_RMOV 30H,#7LJMP INT0_ENDMY_KEY8:;此處添加8號鍵程序代碼LCALL MY_RMOV 30H,#8LJMP INT0_ENDMY_KEY9:;此處添加9號鍵程序代碼LCALL MY_RMOV 30H,#9LJMP INT0_ENDMY_KEY10:;此處添加A號鍵程序代碼LCALL MY_RMOV 30H,#10LJMP INT0_ENDMY_KEY11:;此處添加B號鍵程序代碼LCALL MY_RMOV 30H,#11LJMP INT0_ENDMY_KEY12:;此處添加C號鍵程序代碼LCALL MY_RMOV 30H,#1
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建師范大學(xué)《人力資源管理(雙語)》2023-2024學(xué)年第一學(xué)期期末試卷
- 全球與中國合成金屬納米線市場發(fā)展趨勢及投資潛力研究報告2024-2030年
- 基于民俗文化的幼兒園課程游戲化建設(shè)
- 2024屆新疆昌吉二中高考模擬考試試題(一)數(shù)學(xué)試題
- 2024屆上海市浦東新區(qū)高橋中學(xué)高三第一次模擬(期末)數(shù)學(xué)試題
- 2024年山西客運資格證必考題
- 招聘與錄用(第3版)第1章 概述
- 2024年昆明客運從業(yè)資格證考試考什么題型
- 漂亮的花邊有趣課件
- 2024年江蘇客運上崗證考什么內(nèi)容
- 可持續(xù)營銷技術(shù)和報告
- 朝鮮族風(fēng)俗服飾飲食少數(shù)民族蒙古族介紹課件
- 模擬法庭劇本贍養(yǎng)糾紛案
- 寵物買賣合同示例
- TD/T 1012-2016 土地整治項目規(guī)劃設(shè)計規(guī)范(正式版)
- 2024年共青團入團積極分子考試題庫(附答案)
- 2024年公務(wù)員(國考)之行政職業(yè)能力測驗真題及參考答案(完整版)
- MOOC 職場英語-西南交通大學(xué) 中國大學(xué)慕課答案
- 構(gòu)建水利安全生產(chǎn)風(fēng)險管控“六項機制”工作指導(dǎo)手冊(2023 年版)
- 2024年肝膽疾病用藥行業(yè)發(fā)展趨勢及前景展望分析報告
- 安全生產(chǎn)警示標志管理辦法(暫行)
評論
0/150
提交評論