📄 test1.lst
字号:
A51 MACRO ASSEMBLER TEST1 11/22/2007 14:48:31 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN test1.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE test1.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;摘机检测识别
0031 2 CR EQU 31H
0035 3 CR_BACK EQU 35H
0071 4 PAGE_ADD EQU 71H
0064 5 COL_MSB EQU 64H
006D 6 COL_LSB EQU 6dH
006E 7 DATA_COUNT EQU 6eH
006F 8 SUB_CHAR EQU 6fH
9
0000 10 org 0000h
0000 020100 11 ljmp start
12
0100 13 org 100h
0100 00 14 start: nop
0101 00 15 nop
0102 12025D 16 LCALL DELAY
0105 00 17 NOP
18
0106 00 19 init_lcd: NOP
0107 00 20 NOP
0108 75311B 21 MOV CR,#1BH ;096B01 #013h is currect
010B 74E2 22 MOV A,#0E2H ;initialize interal function
010D 120276 23 LCALL WCOM ;write interal reset
0110 12025D 24 LCALL DELAY
0113 742C 25 MOV A,#2CH;power control(VB,VR,VF=1,1,1)
0115 120276 26 LCALL WCOM
0118 12025D 27 LCALL DELAY
011B 742E 28 MOV A,#2EH;power control(VB,VR,VF=1,1,1)
011D 120276 29 LCALL WCOM
0120 12025D 30 LCALL DELAY
0123 742F 31 MOV A,#2FH;power control(VB,VR,VF=1,1,1)
0125 120276 32 LCALL WCOM
0128 12025D 33 LCALL DELAY
012B 7425 34 MOV A,#25H;096B01 23h is currect ;Regulator resistor select 110
012D 120276 35 LCALL WCOM
0130 12025D 36 LCALL DELAY
0133 7481 37 MOV A,#81H;set reference voltage mode
0135 120276 38 LCALL WCOM
0138 12025D 39 LCALL DELAY
013B E531 40 MOV A,CR ;set reference voltage
013D 12025D 41 LCALL DELAY
0140 120276 42 LCALL WCOM
0143 12025D 43 LCALL DELAY
0146 74C8 44 MOV A,#0C8H;set SHL COM1 to COM64 start page setup
0148 120276 45 LCALL WCOM
014B 12025D 46 LCALL DELAY
014E 74A0 47 MOV A,#0A0H;ADC select SEG1 to SEG132
0150 120276 48 LCALL WCOM
0153 12025D 49 LCALL DELAY
0156 7440 50 MOV A,#40H;Initial Display Line was first line
0158 120276 51 LCALL WCOM
015B 12025D 52 LCALL DELAY
015E 74A6 53 MOV A,#0A6H;set nomal display
0160 120276 54 LCALL WCOM
0163 12025D 55 LCALL DELAY
0166 74AF 56 MOV A,#0AFH ;set display ON
0168 120276 57 LCALL WCOM
016B 12025D 58 LCALL DELAY
A51 MACRO ASSEMBLER TEST1 11/22/2007 14:48:31 PAGE 2
59
60
61
62
63
64
65
66
67
016E 9002B3 68 ST1: MOV DPTR,#T1_LABLE;显示LOGO
0171 120227 69 LCALL display
70
0174 90FFF6 71 CHECK: MOV DPTR,#0FFF6H ;检测环路状态 ;U8的C口
0177 E0 72 MOVX A,@DPTR
0178 F4 73 CPL A
0179 541F 74 ANL A,#1FH
017B B2E4 75 CPL ACC.4
017D 540F 76 ANL A,#0FH
017F B40F02 77 CJNE A,#0FH,CHECK1
0182 216E 78 AJMP ST1
0184 20E01C 79 CHECK1: JB ACC.0,CHECK2
0187 9006B3 80 MOV DPTR,#CHAR ;显示摘机状态
018A 756414 81 MOV COL_MSB,#14H
018D 756D02 82 MOV COL_LSB,#02H
0190 756E04 83 MOV DATA_COUNT,#04H
0193 7401 84 MOV A,#01H
0195 75F004 85 MOV B,#04H
0198 A4 86 MUL AB
0199 F56F 87 MOV SUB_CHAR,A
019B 7571B6 88 MOV PAGE_ADD,#0B6H
019E 120202 89 LCALL write_lcd_data
01A1 2174 90 AJMP CHECK
01A3 20E11C 91 CHECK2: JB ACC.1,CHECK3
01A6 9006B3 92 MOV DPTR,#CHAR ;显示摘机状态
01A9 756414 93 MOV COL_MSB,#14H
01AC 756D02 94 MOV COL_LSB,#02H
01AF 756E04 95 MOV DATA_COUNT,#04H
01B2 7402 96 MOV A,#02H
01B4 75F004 97 MOV B,#04H
01B7 A4 98 MUL AB
01B8 F56F 99 MOV SUB_CHAR,A
01BA 7571B6 100 MOV PAGE_ADD,#0B6H
01BD 120202 101 LCALL write_lcd_data
01C0 2174 102 AJMP CHECK
01C2 20E21C 103 CHECK3: JB ACC.2,CHECK4
01C5 9006B3 104 MOV DPTR,#CHAR ;显示摘机状态
01C8 756414 105 MOV COL_MSB,#14H
01CB 756D02 106 MOV COL_LSB,#02H
01CE 756E04 107 MOV DATA_COUNT,#04H
01D1 7403 108 MOV A,#03H
01D3 75F004 109 MOV B,#04H
01D6 A4 110 MUL AB
01D7 F56F 111 MOV SUB_CHAR,A
01D9 7571B6 112 MOV PAGE_ADD,#0B6H
01DC 120202 113 LCALL write_lcd_data
01DF 2174 114 AJMP CHECK
01E1 20E31C 115 CHECK4: JB ACC.3,CHECK5
01E4 9006B3 116 MOV DPTR,#CHAR ;显示摘机状态
01E7 756414 117 MOV COL_MSB,#14H
01EA 756D02 118 MOV COL_LSB,#02H
01ED 756E04 119 MOV DATA_COUNT,#04H
01F0 7404 120 MOV A,#04H
01F2 75F004 121 MOV B,#04H
01F5 A4 122 MUL AB
01F6 F56F 123 MOV SUB_CHAR,A
01F8 7571B6 124 MOV PAGE_ADD,#0B6H
A51 MACRO ASSEMBLER TEST1 11/22/2007 14:48:31 PAGE 3
01FB 120202 125 LCALL write_lcd_data
01FE 2174 126 AJMP CHECK
0200 216E 127 CHECK5: AJMP ST1
128 ;===========================================
0202 C0E0 129 write_lcd_data: PUSH ACC
0204 E8 130 MOV A,R0
0205 C0E0 131 PUSH ACC
0207 E571 132 MOV A,PAGE_ADD
0209 120276 133 LCALL WCOM
020C E564 134 MOV A,COL_MSB
020E 120276 135 LCALL WCOM
0211 E56D 136 MOV A,COL_LSB
0213 120276 137 LCALL WCOM
0216 A86E 138 MOV R0,DATA_COUNT
0218 E56F 139 write_lcd_data1: MOV A,SUB_CHAR
021A 93 140 MOVC A,@A+DPTR
021B 12028A 141 LCALL WDATA
021E A3 142 INC DPTR
021F D8F7 143 DJNZ R0,write_lcd_data1
0221 D0E0 144 POP ACC
0223 F8 145 MOV R0,A
0224 D0E0 146 POP ACC
0226 22 147 RET
148 ;===========================================
0227 C0E0 149 display: PUSH ACC
0229 EA 150 MOV A,R2
022A C0E0 151 PUSH ACC
022C 7AB0 152 MOV R2,#0B0H
022E EA 153 DISPLAY1: MOV A,R2
022F 120276 154 LCALL WCOM
0232 12025D 155 LCALL DELAY
0235 7410 156 MOV A,#10H ;set column address MSB
0237 120276 157 LCALL WCOM
023A 12025D 158 LCALL DELAY
023D 7400 159 MOV A,#00H ;set column address LSB
023F 120276 160 LCALL WCOM
0242 12025D 161 LCALL DELAY
0245 7880 162 MOV R0,#80H
0247 12025D 163 LCALL DELAY
024A 7400 164 DISPLAY2: MOV A,#00H
024C 93 165 MOVC A,@A+DPTR
024D 12028A 166 LCALL WDATA
0250 A3 167 INC DPTR
0251 D8F7 168 DJNZ R0,DISPLAY2
0253 0A 169 INC R2
0254 BAB9D7 170 CJNE R2,#0B9H,DISPLAY1
0257 D0E0 171 POP ACC
0259 FA 172 MOV R2,A
025A D0E0 173 POP ACC
025C 22 174 RET
175 ;===========================================
025D C0E0 176 DELAY: PUSH ACC
025F E8 177 MOV A,R0
0260 C0E0 178 PUSH ACC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -