📄 main.lst
字号:
A51 MACRO ASSEMBLER MAIN 07/20/2007 14:43:57 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN main.OBJ
ASSEMBLER INVOKED BY: D:\Keil\C51\BIN\A51.EXE main.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;PCON EQU 87H
2 ;***********LCD10-3V TEST **************************************
3 ;/CS=P1.5 /WR=P1.3 DATA=P1.2 ********************
4 ;RAM 20H:COMMAND CODE ********************
5 ;RAM 21H: LCD ADDR***
6 ;RAM 25H: LCD DATA***
0000 7 ORG 0000H
0000 2100 8 JMP START
0100 9 ORG 0100H
10
0100 7590FF 11 START: MOV P1,#0FFH
0103 D2B7 12 SETB P3.7
0105 7109 13 CALL DLY500
0107 752029 14 MOV 20H,#00101001B ;INITIALIZE
010A 5105 15 CALL WRCOM
010C 752018 16 MOV 20H,#00011000B ;32678HZ
010F 5105 17 CALL WRCOM
0111 752001 18 MOV 20H,#00000001B ;SYS EN
0114 5105 19 CALL WRCOM
0116 752003 20 MOV 20H,#00000011B ;LCD ON
0119 5105 21 CALL WRCOM
22
011B 80FE 23 jmp $
24 ; MOV 21H,#00000000B ;DISPLAY 8
25 ; MOV 23H,21H
26 ; MOV R6,#0
27 ; CALL WRDD
28 ; MOV 25H,#00001111B
29 ; MOV 27H,25H
30 ; CALL WRDA
31 ; CALL WALP
32 ; MOV P1,#0FFH
33 ; CALL DLY1S
34 ; CALL DLY1S
35
011D 7112 36 CALL WR123
011F 7590FF 37 MOV P1,#0FFH
0122 7100 38 CALL DLY1S
0124 7100 39 CALL DLY1S
0126 752100 40 MOV 21H,#00000000B ;DISPLAY COM1
0129 852123 41 MOV 23H,21H
012C 7E00 42 MOV R6,#0
012E 5174 43 CALL WRDD
0130 752501 44 MOV 25H,#00000001B
0133 852527 45 MOV 27H,25H
0136 51CB 46 CALL WRDA
0138 515D 47 CALL WALP
013A 7590FF 48 MOV P1,#0FFH
013D 7100 49 CALL DLY1S
013F 752100 50 MOV 21H,#00000000B ;DISPLAY COM2
0142 852123 51 MOV 23H,21H
0145 7E00 52 MOV R6,#0
0147 5174 53 CALL WRDD
0149 752502 54 MOV 25H,#00000010B
014C 852527 55 MOV 27H,25H
014F 51CB 56 CALL WRDA
0151 515D 57 CALL WALP
0153 7590FF 58 MOV P1,#0FFH
A51 MACRO ASSEMBLER MAIN 07/20/2007 14:43:57 PAGE 2
0156 7100 59 CALL DLY1S
0158 752100 60 MOV 21H,#00000000B ;DISPLAY COM3
015B 852123 61 MOV 23H,21H
015E 7E00 62 MOV R6,#0
0160 5174 63 CALL WRDD
0162 752504 64 MOV 25H,#00000100B
0165 852527 65 MOV 27H,25H
0168 51CB 66 CALL WRDA
016A 515D 67 CALL WALP
016C 7590FF 68 MOV P1,#0FFH
016F 7100 69 CALL DLY1S
0171 752100 70 MOV 21H,#00000000B ;DISPLAY COM4
0174 852123 71 MOV 23H,21H
0177 7E00 72 MOV R6,#0
0179 5174 73 CALL WRDD
017B 752508 74 MOV 25H,#00001000B
017E 852527 75 MOV 27H,25H
0181 51CB 76 CALL WRDA
0183 515D 77 CALL WALP
0185 7590FF 78 MOV P1,#0FFH
0188 7100 79 CALL DLY1S
80
018A 81 stop:
018A 752002 82 MOV 20H,#02H ;LCD OFF
018D 5105 83 CALL WRCOM
018F 7590FF 84 MOV P1,#0FFH
0192 752000 85 MOV 20H,#00H ;SYS DI
86
87
0195 75200D 88 MOV 20H,#00001101B ;ctc=0
0198 5105 89 CALL WRCOM
019A 752009 90 MOV 20H,#00001001B ;BZ ON
019D 5105 91 CALL WRCOM
019F 752060 92 MOV 20H,#01100000B ;BZ =2KZ
01A2 5105 93 CALL WRCOM
01A4 7100 94 CALL DLY1S
01A6 752008 95 MOV 20H,#00001000B ;BZ OFF
01A9 5105 96 CALL WRCOM
01AB 7109 97 CALL DLY500
98
01AD D2B7 99 setb p3.7 ;wdt led off
01AF D297 100 setb p1.7 ;test wdt
01B1 309704 101 jnb p1.7,se0
01B4 D220 102 setb 20h
01B6 8002 103 jmp ss1
01B8 C220 104 se0: clr 20h
01BA 00 105 ss1: nop
01BB 7520A6 106 MOV 20H,#10100110B ;WDT=1/16 S
01BE 5105 107 CALL WRCOM
01C0 75200D 108 MOV 20H,#00001101B ;ctc=0
01C3 5105 109 CALL WRCOM
01C5 75200E 110 MOV 20H,#00001110B ;wdt=0
01C8 5105 111 CALL WRCOM
01CA 752007 112 MOV 20H,#00000111B ;WDT ON
01CD 5105 113 CALL WRCOM
01CF 752088 114 MOV 20H,#10001000B ;WDT/CTC EN
01D2 5105 115 CALL WRCOM
01D4 7109 116 CALL DLY500 ;1S
01D6 7109 117 CALL DLY500 ;1S
01D8 309704 118 jnb p1.7,se00
01DB D221 119 setb 21h
01DD 8002 120 jmp ss2
01DF C221 121 se00: clr 21h
01E1 302009 122 ss2: jnb 20h,ss3
01E4 202106 123 jb 21h,ss3
01E7 C2B7 124 clr p3.7 ;wdt led ok
A51 MACRO ASSEMBLER MAIN 07/20/2007 14:43:57 PAGE 3
01E9 7100 125 CALL DLY1S
01EB 8002 126 jmp ss4
01ED D2B7 127 ss3: setb p3.7 ;wdt led off
01EF 128 ss4:
01EF 752005 129 MOV 20H,#00000101B ;WDT OFF
01F2 5105 130 CALL WRCOM
01F4 752080 131 MOV 20H,#10000000B ;WDT/CTC DIS
01F7 5105 132 CALL WRCOM
01F9 75200E 133 MOV 20H,#00001110B ;WDT=0
01FC 5105 134 CALL WRCOM
135
136
01FE 752003 137 MOV 20H,#03H ;LCD ON
0201 5105 138 CALL WRCOM
139
0203 2100 140 JMP START
141
142 ;**** LCD DRIVER MODE SUB. **************
143 ;WRITE COMMAND SUB. ***********
0205 D295 144 WRCOM: SETB P1.5 ;/CS=1
0207 00 145 NOP
0208 51F2 146 CALL DLY5
020A C295 147 CLR P1.5 ;/CS=0
020C 51F2 148 CALL DLY5
020E C293 149 CLR P1.3 ;/WR=0
0210 51F2 150 CALL DLY5
0212 00 151 NOP
0213 D292 152 SETB P1.2 ;D=1 (100)
0215 51F2 153 CALL DLY5
0217 00 154 NOP
0218 D293 155 SETB P1.3 ;/WR=1
021A 51F2 156 CALL DLY5
021C 00 157 NOP
021D C293 158 CLR P1.3 ;/WR=0
021F 51F2 159 CALL DLY5
0221 00 160 NOP
0222 C292 161 CLR P1.2 ;D=0
0224 51F2 162 CALL DLY5
0226 00 163 NOP
0227 D293 164 SETB P1.3 ;/WR=1
0229 51F2 165 CALL DLY5
022B 00 166 NOP
022C C293 167 CLR P1.3 ;/WR=0
022E 51F2 168 CALL DLY5
0230 00 169 NOP
0231 C292 170 CLR P1.2 ;D=0
0233 51F2 171 CALL DLY5
0235 00 172 NOP
0236 D293 173 SETB P1.3 ;/WR=1
0238 51F2 174 CALL DLY5
023A 00 175 NOP
176
023B 7F09 177 MOV R7,#9 ;LOOP=DATA 8 BIT +1X
023D C3 178 CLR C
023E 00 179 LOOPWR: NOP
023F 51F2 180 CALL DLY5
0241 C293 181 CLR P1.3
0243 51F2 182 CALL DLY5
0245 E520 183 MOV A,20H
0247 33 184 RLC A
0248 F520 185 MOV 20H,A
024A 4006 186 JC WR1
024C C292 187 CLR P1.2 ;DATA=0
024E 51F2 188 CALL DLY5
0250 8004 189 JMP WRR
0252 D292 190 WR1: SETB P1.2 ;DATA=1
A51 MACRO ASSEMBLER MAIN 07/20/2007 14:43:57 PAGE 4
0254 51F2 191 CALL DLY5
0256 D293 192 WRR: SETB P1.3
0258 51F2 193 CALL DLY5
025A DFE2 194 DJNZ R7,LOOPWR
025C 22 195 RET
196
197 ;************************************************************
198 ;LOOP WRDA SUB
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -