?? key_led.lst
字號:
01EE 753902 180 MOV KEY_STATE,#02H
01F1 22 181 RET
182 ;
01F2 753900 183 KEY_02: MOV KEY_STATE,#00H
01F5 22 184 RET
01F6 B40215 185 KEY_03: CJNE A,#02H,KEY_05
01F9 E5F0 186 MOV A,B
01FB B53710 187 CJNE A,KEY_VALUE,KEY_05
01FE 0538 188 INC KEY_PUSH_COU
A51 MACRO ASSEMBLER KEY_LED 12/17/2007 17:27:03 PAGE 4
0200 E538 189 MOV A,KEY_PUSH_COU
0202 B42308 190 CJNE A,#KEY_TIM,KEY_04
0205 753800 191 MOV KEY_PUSH_COU,#00H
0208 D208 192 SETB KEYSUCCFLAG ;
020A 753900 193 MOV KEY_STATE,#00H
020D 22 194 KEY_04: RET
020E 753900 195 KEY_05: MOV KEY_STATE,#00H
0211 22 196 RET
197
198 ;***************************************************************
199 ;LED顯示輸出程序
200 ;***************************************************************
201 ;***************************************************************
202 ;流水燈執(zhí)行子程序1,2---拉屏程序
203 ;P1.0-P1.7以一定的時間間隔TIME_LED來逐個點亮
204 ;***************************************************************
0212 205 LED_DISPLAY1: ;LED逐個左移點亮
0212 C0E0 206 PUSH ACC
0214 C0D0 207 PUSH PSW
0216 854290 208 MOV P1,DISP_REG ;送P1顯示
0219 D3 209 SETB C
021A E542 210 MOV A,DISP_REG
021C 33 211 RLC A ;左移
021D 5542 212 ANL A,DISP_REG
021F F542 213 MOV DISP_REG,A
0221 4003 214 JC LED_DISP1
0223 7542FE 215 MOV DISP_REG,#0FEH
0226 216 LED_DISP1:
0226 D0D0 217 POP PSW
0228 D0E0 218 POP ACC
022A 22 219 RET
220 ;
022B 221 LED_DISPLAY2: ;LED逐個右移點亮
022B C0E0 222 PUSH ACC
022D C0D0 223 PUSH PSW
022F 854290 224 MOV P1,DISP_REG ;送P1顯示
0232 D3 225 SETB C
0233 E542 226 MOV A,DISP_REG
0235 13 227 RRC A ;右移
0236 5542 228 ANL A,DISP_REG
0238 F542 229 MOV DISP_REG,A
023A 4003 230 JC LED_DISP2
023C 75427F 231 MOV DISP_REG,#7FH
023F 232 LED_DISP2:
023F D0D0 233 POP PSW
0241 D0E0 234 POP ACC
0243 22 235 RET
236 ;***************************************************************
237
238 ;***************************************************************
239 ;流水燈執(zhí)行子程序3,4
240 ;P1.0-P1.7以一定的時間間隔TIME_LED來流水點亮
241 ;入口參數(shù)
242 ;流水燈正反流動顯示標志位:FOLLOW_BACK
243 ;LED狀態(tài):LED_STATE
244 ;***************************************************************
0244 245 LED_DISPLAY3: ;LED流水燈左移
0244 C0E0 246 PUSH ACC
0246 C0D0 247 PUSH PSW
0248 E542 248 MOV A,DISP_REG ;送上次顯示狀態(tài)
024A F590 249 MOV P1,A ;流水燈正向顯示輸出
024C 23 250 RL A
024D F542 251 MOV DISP_REG,A ;將狀態(tài)回送
024F D0D0 252 POP PSW
0251 D0E0 253 POP ACC
0253 22 254 RET
A51 MACRO ASSEMBLER KEY_LED 12/17/2007 17:27:03 PAGE 5
255 ;
0254 256 LED_DISPLAY4: ;LED流水燈右移
0254 C0E0 257 PUSH ACC
0256 C0D0 258 PUSH PSW
0258 E542 259 MOV A,DISP_REG ;送上次顯示狀態(tài)
025A F590 260 MOV P1,A ;流水燈正向顯示輸出
025C 03 261 RR A
025D F542 262 MOV DISP_REG,A ;將狀態(tài)回送
025F D0D0 263 POP PSW
0261 D0E0 264 POP ACC
0263 22 265 RET
266 ;***************************************************************
267 ;中斷定時器0的中斷子程序
268 ;***************************************************************
0264 269 TIMER0:
0264 C0E0 270 PUSH ACC
0266 C0D0 271 PUSH PSW
0268 758CD8 272 MOV TH0,#0D8H ;重裝記數(shù)初數(shù),定時時間為10mS
026B 758AF0 273 MOV TL0,#0F0H
026E D204 274 SETB T10MSflag ;置位10MS的定時時標位
0270 0545 275 INC TIME_COU
0272 E545 276 MOV A,TIME_COU
0274 B54605 277 CJNE A,TIME_CHUZHI,TIME01
0277 D200 278 SETB TIME_FLAG
0279 754500 279 MOV TIME_COU,#00H
027C D0D0 280 TIME01: POP PSW
027E D0E0 281 POP ACC
0280 32 282 RETI
283
284
285 END
A51 MACRO ASSEMBLER KEY_LED 12/17/2007 17:27:03 PAGE 6
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
B. . . . . . . . . D ADDR 00F0H A
DISLED_MODE_SEL. . C ADDR 016AH A
DISP_REG . . . . . N NUMB 0042H A
DISP_REG0. . . . . N NUMB 0030H A
DISP_REG1. . . . . N NUMB 0031H A
DISP_REG2. . . . . N NUMB 0032H A
DISP_REG3. . . . . N NUMB 0033H A
DISP_TABLE1. . . . C ADDR 015AH A
DISP_TABLE2. . . . C ADDR 0162H A
DIS_00 . . . . . . C ADDR 0177H A
DIS_001. . . . . . C ADDR 0197H A
DIS_01 . . . . . . C ADDR 0182H A
DIS_02 . . . . . . C ADDR 0198H A
DIS_RR . . . . . . C ADDR 01A0H A
EA . . . . . . . . B ADDR 00A8H.7 A
ET0. . . . . . . . B ADDR 00A8H.1 A
KEYSCAN. . . . . . C ADDR 01C9H A
KEYSUCCFLAG. . . . B ADDR 0021H.0 A
KEY_00 . . . . . . C ADDR 01D9H A
KEY_01 . . . . . . C ADDR 01E6H A
KEY_02 . . . . . . C ADDR 01F2H A
KEY_03 . . . . . . C ADDR 01F6H A
KEY_04 . . . . . . C ADDR 020DH A
KEY_05 . . . . . . C ADDR 020EH A
KEY_C0 . . . . . . C ADDR 01BBH A
KEY_C1 . . . . . . C ADDR 01B2H A
KEY_C2 . . . . . . C ADDR 01C8H A
KEY_CHECK. . . . . C ADDR 01A5H A
KEY_GET_REG. . . . N NUMB 0044H A
KEY_LED_FLAG . . . B ADDR 0020H.7 A
KEY_PUSH_COU . . . N NUMB 0038H A
KEY_STATE. . . . . N NUMB 0039H A
KEY_TIM. . . . . . N NUMB 0023H A
KEY_VALUE. . . . . N NUMB 0037H A
LED_DISP1. . . . . C ADDR 0226H A
LED_DISP2. . . . . C ADDR 023FH A
LED_DISPLAY1 . . . C ADDR 0212H A
LED_DISPLAY2 . . . C ADDR 022BH A
LED_DISPLAY3 . . . C ADDR 0244H A
LED_DISPLAY4 . . . C ADDR 0254H A
LED_MODE_SEL . . . N NUMB 0036H A
LED_STATE. . . . . N NUMB 0034H A
LED_TIME_SEL . . . N NUMB 0035H A
MAIN_LOOP. . . . . C ADDR 013FH A
MAIN_NEXT2 . . . . C ADDR 0147H A
MAIN_NEXT3 . . . . C ADDR 014FH A
P0_0 . . . . . . . B ADDR 0080H.0 A
P1 . . . . . . . . D ADDR 0090H A
P3 . . . . . . . . D ADDR 00B0H A
PSW. . . . . . . . D ADDR 00D0H A
S1 . . . . . . . . N NUMB 0004H A
S2 . . . . . . . . N NUMB 0008H A
SP . . . . . . . . D ADDR 0081H A
START. . . . . . . C ADDR 0100H A
T10MSFLAG. . . . . B ADDR 0020H.4 A
TH0. . . . . . . . D ADDR 008CH A
TIME01 . . . . . . C ADDR 027CH A
TIMER0 . . . . . . C ADDR 0264H A
TIME_CHUZHI. . . . N NUMB 0046H A
A51 MACRO ASSEMBLER KEY_LED 12/17/2007 17:27:03 PAGE 7
TIME_COU . . . . . N NUMB 0045H A
TIME_FLAG. . . . . B ADDR 0020H.0 A
TIME_TABLE . . . . C ADDR 01A1H A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -