?? 1602key.lst
字號(hào):
A51 MACRO ASSEMBLER 1602KEY 10/02/2006 11:05:08 PAGE 1
MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN 1602key.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE 1602key.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;按壓矩陣鍵盤(pán)按鈕=液晶1602顯示預(yù)定字符
2
3 ;按鍵行列值表示如下:
4 ;----P1.7---P1.6---P1.5---P1.4-------
5 ;----03H----02H----01H----00H----P1.0
6 ;----07H----06H----05H----04H----P1.1
7 ;----0BH----0AH----09H----08H----P1.2
8 ;----0FH----0EH----0DH----0CH----P1.3
9 ;///////////////////////////////////////////
00A0 10 RS EQU P2.0 ;決定要傳送的是命令還是數(shù)據(jù)
00A1 11 RW EQU P2.1 ;決定要讀還是寫(xiě),一般寫(xiě)的時(shí)候多.
00A2 12 E EQU P2.2 ;時(shí)鐘信號(hào)
0080 13 SJ EQU P0 ;數(shù)據(jù)線
0000 14 org 00h
0000 0130 15 ajmp main
0030 16 org 030h
0030 17 main:
0030 758160 18 mov sp,#60h
0033 19 main1:
0033 1200A2 20 lcall delay ;延時(shí)一段時(shí)間
0036 758038 21 MOV SJ,#38H ;
0039 117F 22 ACALL ENABLE ;寫(xiě)指令38H
003B 758038 23 MOV SJ,#38H ;
003E 117F 24 ACALL ENABLE ;寫(xiě)指令38H
0040 758038 25 MOV SJ,#38H ;
0043 117F 26 ACALL ENABLE ;寫(xiě)指令38H
0045 758038 27 MOV SJ,#38H ;
0048 117F 28 ACALL ENABLE ;寫(xiě)指令38H
004A 758008 29 MOV SJ,#08H ;
004D 117F 30 ACALL ENABLE ;寫(xiě)指令08H
004F 758001 31 MOV SJ,#01H ;
0052 117F 32 ACALL ENABLE ;寫(xiě)指令01H
0054 758006 33 MOV SJ,#06H ;
0057 117F 34 ACALL ENABLE ;寫(xiě)指令06H
0059 75800C 35 MOV SJ,#0cH ;
005C 117F 36 ACALL ENABLE ;寫(xiě)指令0CH
37
005E 90010A 38 mov dptr,#table ;將表頭地址送入DPTR
39
0061 1200AB 40 lcall key ;調(diào)用鍵盤(pán)描程序
0064 75F002 41 mov b,#02h ;將立即數(shù)送入寄存器B
0067 A4 42 mul ab ;將鍵值與B中的數(shù)相乘
0068 F530 43 mov 30h,a ;將相乘后的結(jié)果送入30H暫存
006A 93 44 movc a,@a+dptr ;查表并將所查得結(jié)果送入ACC中
006B F531 45 mov 31h,a ;將ACC中的數(shù)送入31H
006D E530 46 mov a,30h ;送30H中的數(shù)至ACC
006F 04 47 inc a ;將ACC中的值加一
0070 93 48 movc a,@a+dptr ;查表并所查到的低半字節(jié)送入ACC中
0071 F582 49 mov dpl,a ;將ACC中的值送入數(shù)據(jù)指針的低8位
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -