📄 液晶timeend555555.lst
字号:
025D 12027F 227 LCALL ENABLE
0260 7420 228 MOV A,#20H
0262 120158 229 LCALL DISP2
0265 22 230 RET
231
232
233
0266 75A080 234 DISP_INIT: MOV P2,#80H
0269 12027F 235 LCALL ENABLE
026C 90049F 236 MOV DPTR,#TABLE2
026F 12014C 237 LCALL DISP
0272 75A0C0 238 MOV P2,#0C0H
0275 12027F 239 LCALL ENABLE
0278 9004AF 240 MOV DPTR ,#TABLE3
027B 12014C 241 LCALL DISP
027E 22 242 RET
243
027F C281 244 ENABLE: CLR RW
0281 C282 245 CLR RS
0283 C280 246 CLR E
0285 518A 247 ACALL JUDGE
0287 D280 248 SETB E
0289 22 249 RET
250
251
028A 75A0FF 252 JUDGE: MOV P2,#0FFH
028D C282 253 CLR RS
028F D281 254 SETB RW
0291 C280 255 CLR E
0293 00 256 NOP
A51 MACRO ASSEMBLER 液綺TIMEEND555555 09/23/2007 15:17:42 PAGE 5
0294 D280 257 SETB E
0296 20A7F1 258 JB P2.7,JUDGE
0299 22 259 RET
260
261
262 ;------------------------------------------------------------------------------------------
--
263
029A 755007 264 INIT: MOV YEAR,#7
029D 755D02 265 MOV MON,#2
02A0 755100 266 MOV MON1,#0
02A3 755202 267 MOV MON2,#2
02A6 755C1C 268 MOV DAY,#28
02A9 755302 269 MOV DAY1,#2
02AC 755408 270 MOV DAY2,#8
02AF 755502 271 MOV HOUR1,#2
02B2 755603 272 MOV HOUR2,#3
02B5 755E01 273 MOV HOUR11,#1
02B8 755F01 274 MOV HOUR22,#1
02BB 755705 275 MOV MIN1,#5
02BE 755809 276 MOV MIN2,#9
02C1 755905 277 MOV SEC1,#5
02C4 755A00 278 MOV SEC2,#0
02C7 753000 279 MOV HOUR1_CLC,#0
02CA 753100 280 MOV HOUR2_CLC,#0
02CD 753200 281 MOV MIN1_CLC,#0
02D0 753300 282 MOV MIN2_CLC,#0
02D3 753400 283 MOV MIN1_SR ,#0
02D6 753500 284 MOV MIN2_SR ,#0
02D9 753600 285 MOV SEC1_SR ,#0
02DC 753700 286 MOV SEC2_SR ,#0
02DF 753800 287 MOV MSEC1_SR ,#0
02E2 753900 288 MOV MSEC2_SR ,#0
02E5 754700 289 MOV START_SR, #0
02E8 755B64 290 MOV TIMER0,#100
02EB 7543FF 291 MOV TIMER1,#0FFH
02EE 754601 292 MOV OPEN_CLC,#1
02F1 754500 293 MOV JHM_CLC,#0
294
02F4 754400 295 MOV JZHMA,#00H
02F7 75D000 296 MOV PSW,#00
02FA 758911 297 MOV TMOD,#11H
02FD 758AF0 298 MOV TL0,#0F0H
0300 758CD8 299 MOV TH0,#0D8H
300
0303 75B804 301 MOV IP,#04H ;中断优先级
0306 C28E 302 CLR TR1 ;关T1
0308 758B00 303 MOV TL1,#00H ;T1时间常数送初值
030B 758D00 304 MOV TH1,#00H
030E 75182A 305 MOV 18H,#2AH ;在INT1中断服务程序中使用工#3寄存器,R0=2AH=======================
0311 752506 306 MOV Da_num,#06H ;输入数据取6个字节
0314 752608 307 MOV Ch_num,#08H ;每个字节8位
0317 751EFF 308 MOV N0_jzh,#0FFH ;键值码先送FFH,以免在未送数时错当有数
031A 120369 309 LCALL WriteCGRAM
031D D2AF 310 SETB EA
031F D2A9 311 SETB ET0
0321 D28C 312 SETB TR0
0323 D2AA 313 SETB EX1 ;开中断1,INT1
0325 D28A 314 SETB IT1 ;INT1下降沿触发
0327 22 315 RET
316
317
0328 C0E0 318 CheckBusy:PUSH ACC
032A C282 319 LOOP22: CLR RS ;选择指令寄存器
032C D281 320 SETB RW ;选择读模式
032E 75A0FF 321 MOV P2,#0FFH ;P0口写1,准备写入
A51 MACRO ASSEMBLER 液綺TIMEEND555555 09/23/2007 15:17:42 PAGE 6
0331 D280 322 SETB E ;使能LCD
0333 E5A0 323 MOV A,P2 ;将LCD的D0-D7由P0口送A,以便查第7位BF是否为0
0335 C280 324 CLR E ;禁止LCD
0337 20E7F0 325 JB ACC.7,LOOP22 ;判断由LCD读入第7位BF是否为1,若为1表示LCD忙
033A 717E 326 ACALL DELAY2MS ;调延时子程序
033C D0E0 327 POP ACC
033E 22 328 RET
329 ; 写入IR寄存器子程序
033F C0E0 330 WriteIR:PUSH ACC
0341 7128 331 ACALL CheckBusy ;调检查忙子程序
0343 C280 332 CLR E ;禁止LCD
0345 C282 333 CLR RS ;选择指令寄存器
0347 C281 334 CLR RW ;选择写模式
0349 D280 335 SETB E ;使能LCD
034B F5A0 336 MOV P2,A ;将控制指令写入LCD
034D D280 337 SETB E ;使能LCD
034F C280 338 CLR E ;禁止LCD
0351 D0E0 339 POP ACC
0353 22 340 RET
341 ; 写入DR寄存器子程序
0354 C0E0 342 WriteDDR:PUSH ACC
0356 7128 343 ACALL CheckBusy ;调检查忙子程序
0358 C280 344 CLR E ;禁止LCD
035A D282 345 SETB RS ;选择数据寄存器
035C C281 346 CLR RW ;选择写模式
035E D280 347 SETB E ;使能LCD
0360 F5A0 348 MOV P2,A ;将数据写入LCD
0362 D280 349 SETB E ;使能LCD
0364 C280 350 CLR E ;禁止LCD
0366 D0E0 351 POP ACC
0368 22 352 RET
353 ;以下是自定义字体程序
0369 C0E0 354 WriteCGRAM : PUSH ACC
036B 7440 355 MOV A,#01000000B ;设置CGRAM的地址
036D 713F 356 ACALL WriteIR
036F 7818 357 MOV R0,#24
0371 900387 358 MOV DPTR,#CGRAMTAB ;指向FONTTAB表首
0374 E4 359 LOOP23: CLR A
0375 93 360 MOVC A,@A+DPTR
0376 7154 361 ACALL WriteDDR ;将自定义字符存入CGRAM中
0378 A3 362 INC DPTR
0379 D8F9 363 DJNZ R0,LOOP23
037B D0E0 364 POP ACC
037D 22 365 RET
366 ;以下是2.5ms延时子程序
037E 7D05 367 DELAY2MS:MOV R5,#5
0380 7CF8 368 D2: MOV R4,#248
0382 DCFE 369 D1: DJNZ R4,D1
0384 DDFA 370 DJNZ R5,D2
0386 22 371 RET
0387 372 CGRAMTAB:
0387 080F120F 373 DB 08H,0FH,12H,0FH,0AH,1FH,02H,02H ;年的字模
038B 0A1F0202
038F 0F090F09 374 DB 0FH,09H,0FH,09H,0FH,09H,13H,00H ;月的字模
0393 0F091300
0397 1F11111F 375 DB 1FH,11H,11H,1FH,11H,11H,1FH,00H ;日的字模
039B 11111F00
376
377
378
379 ;------------------------------------------------------------------------------------------
-------------
380
039F C0D0 381 INTT0: PUSH PSW
03A1 C0E0 382 PUSH ACC
03A3 43D008 383 ORL PSW,#08H
A51 MACRO ASSEMBLER 液綺TIMEEND555555 09/23/2007 15:17:42 PAGE 7
03A6 758AF0 384 MOV TL0,#0F0H
03A9 758CD8 385 MOV TH0,#0D8H
386
03AC D55B09 387 DJNZ TIMER0,INTT00
03AF 755B64 388 MOV TIMER0,#100
03B2 1203C5 389 LCALL ADSEC2
03B5 12097E 390 LCALL CLC_RUNNING
03B8 E547 391 INTT00:MOV A,START_SR
03BA B40103 392 CJNE A,#1,INTOUT
03BD 120D8B 393 LCALL SR_ADMSEC2
03C0 D0E0 394 INTOUT:POP ACC
03C2 D0D0 395 POP PSW
03C4 32 396 RETI
397
03C5 E55A 398 ADSEC2: MOV A,SEC2
03C7 B40907 399 CJNE A,#9,AD1
03CA 755A00 400 MOV SEC2,#0
03CD 71D4 401 ACALL ADSEC1
03CF 61D3 402 AJMP OUT1
03D1 055A 403 AD1: INC SEC2
03D3 22 404 OUT1: RET
405
406
03D4 E559 407 ADSEC1: MOV A,SEC1
03D6 B40507 408 CJNE A,#5,AD2
03D9 755900 409 MOV SEC1,#0
03DC 71E3 410 ACALL ADMIN2
03DE 61E2 411 AJMP OUT2
03E0 0559 412 AD2: INC SEC1
03E2 22 413 OUT2: RET
414
03E3 E558 415 ADMIN2: MOV A,MIN2
03E5 B40907 416 CJNE A,#9,AD3
03E8 755800 417 MOV MIN2,#0
03EB 71F2 418 ACALL ADMIN1
03ED 61F1 419 AJMP OUT3
03EF 0558 420 AD3: INC MIN2
03F1 22 421 OUT3: RET
422
03F2 E557 423 ADMIN1: MOV A,MIN1
03F4 B40507 424 CJNE A,#5,AD4
03F7 755700 425 MOV MIN1,#0
03FA 9101 426 ACALL ADHOUR2
03FC 8100 427 AJMP OUT4
03FE 0557 428 AD4: INC MIN1
0400 22 429 OUT4: RET
430
0401 E555 431 ADHOUR2: MOV A,HOUR1
0403 B4020F 432 CJNE A,#2,ADHOUR20
0406 E556 433 MOV A,HOUR2
0408 B40316 434 CJNE A,#3,AD5
040B 755500 435 MOV HOUR1,#0
040E 755600 436 MOV HOUR2,#0
0411 9124 437 ACALL ADDAY
0413 8123 438 AJMP OUT5
0415 E556 439 ADHOUR20: MOV A,HOUR2
0417 B40907 440 CJNE A,#9,AD5
041A 755600 441 MOV HOUR2,#0
041D 0555 442 INC HOUR1
041F 8123 443 AJMP OUT5
0421 0556 444 AD5: INC HOUR2
0423 22 445 OUT5: RET
446
0424 E55D 447 ADDAY: MOV A,MON
0426 B40204 448 CJNE A,#2,AD6
0429 9173 449 ACALL RUNNIAN
A51 MACRO ASSEMBLER 液綺TIMEEND555555 09/23/2007 15:17:42 PAGE 8
042B 8140 450 AJMP OUT6
042D E55D 451 AD6: MOV A,MON
042F 14 452 DEC A
0430 900493 453 MOV DPTR,#TABLE1
0433 93 454 MOVC A,@A+DPTR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -