📄 t6620.lst
字号:
0289 0090 7F43 LDI PS2SNDH,0EH
0290 0091 7844 LDI PS2SNDL,00H
0291 0092 MAIN_LOOP_YK_4_1:
0292 0092 C1FC CALL PS2OUTB
0293 0093 3847 LDA PS2RET
0294 0094 8092 BNZ MAIN_LOOP_YK_4_1
0295
0296 0095 78A4 LDI PARM,01H
0297 0096 C142 CALL DELAY_N_mS
0298 0097 MAIN_LOOP_YK_5:
0299 0097 7FC3 LDI PS2SNDH,0FH
0300 0098 7844 LDI PS2SNDL,00H
0301 0099 MAIN_LOOP_YK_5_1:
0302 0099 C1FC CALL PS2OUTB
0303 009A 3847 LDA PS2RET
0304 009B 8099 BNZ MAIN_LOOP_YK_5_1
0305
0306 009C 78A4 LDI PARM,1
0307 009D C142 CALL DELAY_N_mS
0308
0309
0310 009E 3834 LDA IRD0H,00H
0311 009F 3C0E STA TBR,00H
0312 00A0 4B8E ADIM TBR,FNOFF
0313 00A1 3835 LDA IRD0L,00H
0314 00A2 C36F CALL TABFN-1
0315 00A3 3C44 STA PS2SNDL,00H
0316 00A4 380E LDA TBR,00H
0317 00A5 3C43 STA PS2SNDH,00H
0318
0319 00A6 MAIN_LOOP_YK_6:
0320 00A6 C1FC CALL PS2OUTB
0321 00A7 3847 LDA PS2RET
0322 00A8 80A6 BNZ MAIN_LOOP_YK_6
0323
0324 00A9 7D24 LDI PARM,0AH
0325 00AA C14F CALL DELAY_N_10mS
0326
0327 00AB E019 JMP MAIN_LOOP
0328
0329 00AC MAIN_LOOP_YK_7:
0330 00AC 7FC3 LDI PS2SNDH,0FH
0331 00AD 7844 LDI PS2SNDL,00H
0332 00AE MAIN_LOOP_YK_7_1:
0333 00AE C1FC CALL PS2OUTB
0334 00AF 3847 LDA PS2RET
0335 00B0 80AE BNZ MAIN_LOOP_YK_7_1
0336
0337 00B1 78A4 LDI PARM,1
0338 00B2 C142 CALL DELAY_N_mS
0339
0340 00B3 3834 LDA IRD0H,00H
0341 00B4 3C0E STA TBR,00H
0342 00B5 3835 LDA IRD0L,00H
0343 00B6 C2FF CALL TABCH-1
0344 00B7 3C44 STA PS2SNDL,00H
0345 00B8 380E LDA TBR,00H
0346 00B9 3C43 STA PS2SNDH,00H
0347
0348 00BA MAIN_LOOP_YK_8:
0349 00BA C1FC CALL PS2OUTB
0350 00BB 3847 LDA PS2RET
0351 00BC 80BA BNZ MAIN_LOOP_YK_8
0352
0353 00BD 78A4 LDI PARM,1
0354 00BE C142 CALL DELAY_N_mS
0355
0356 00BF 7D24 LDIPARM,0AH
0357 00C0 C14F CALL DELAY_N_10mS
0358 00C1 E019 JMP MAIN_LOOP
0359
0360 00C2 MAIN_LOOP_KEYPLAY:
0361 00C2 52C3 SBI PS2SNDH,05H
0362 00C3 8019 BNZ MAIN_LOOP
0363 00C4 5544 SBI PS2SNDL,0AH
0364 00C5 8019 BNZ MAIN_LOOP
0365 00C6 48BE ADIM KEYCNT,01H
0366 00C7 52BE SBI KEYCNT,KEYTHRS
0367 00C8 8019 BNZ MAIN_LOOP
0368 00C9 783E LDI KEYCNT,00H
0369
0370 00CA 78C3 LDI PS2SNDH,01H ;CTRL
0371 00CB 7A44 LDI PS2SNDL,04H
0372 00CC MAIN_LOOP_KEYPLAY_1:
0373 00CC C1FC CALL PS2OUTB
0374 00CD 3847 LDA PS2RET
0375 00CE 80CC BNZ MAIN_LOOP_KEYPLAY_1
0376
0377 00CF 7FA4 LDI PARM,0FH
0378 00D0 C142 CALL DELAY_N_mS
0379
0380 00D1 78C3 LDI PS2SNDH,01H ;ALT
0381 00D2 78C4 LDI PS2SNDL,01H
0382 00D3 MAIN_LOOP_KEYPLAY_2:
0383 00D3 C1FC CALL PS2OUTB
0384 00D4 3847 LDA PS2RET
0385 00D5 80D3 BNZ MAIN_LOOP_KEYPLAY_2
0386
0387 00D6 7FA4 LDI PARM,0FH
0388 00D7 C142 CALL DELAY_N_mS
0389
0390 00D8 7F43 LDI PS2SNDH,0EH ;DEL
0391 00D9 7844 LDI PS2SNDL,00H
0392 00DA MAIN_LOOP_KEYPLAY_3:
0393 00DA C1FC CALL PS2OUTB
0394 00DB 3847 LDA PS2RET
0395 00DC 80DA BNZ MAIN_LOOP_KEYPLAY_3
0396
0397 00DD 7924 LDI PARM,2
0398 00DE C142 CALL DELAY_N_mS
0399
0400 00DF 7BC3 LDI PS2SNDH,07H ;DEL
0401 00E0 78C4 LDI PS2SNDL,01H
0402 00E1 MAIN_LOOP_KEYPLAY_4:
0403 00E1 C1FC CALL PS2OUTB
0404 00E2 3847 LDA PS2RET
0405 00E3 80E1 BNZ MAIN_LOOP_KEYPLAY_4
0406
0407 00E4 7FA4 LDI PARM,0FH
0408 00E5 C142 CALL DELAY_N_mS
0409 00E6 7FA4 LDI PARM,0FH
0410 00E7 C142 CALL DELAY_N_mS
0411 00E8 7FA4 LDI PARM,0FH
0412 00E9 C142 CALL DELAY_N_mS
0413 00EA 7FA4 LDI PARM,0FH
0414 00EB C142 CALL DELAY_N_mS
0415 00EC 7FA4 LDI PARM,0FH
0416 00ED C142 CALL DELAY_N_mS
0417 00EE 7FA4 LDI PARM,0FH
0418 00EF C142 CALL DELAY_N_mS
0419 00F0 7FA4 LDI PARM,0FH
0420 00F1 C142 CALL DELAY_N_mS
0421 00F2 7FA4 LDI PARM,0FH
0422 00F3 C142 CALL DELAY_N_mS
0423
0424
0425 00F4 7FC3 LDI PS2SNDH,0FH ;RELEASE
0426 00F5 7844 LDI PS2SNDL,00H
0427 00F6 MAIN_LOOP_KEYPLAY_5:
0428 00F6 C1FC CALL PS2OUTB
0429 00F7 3847 LDA PS2RET
0430 00F8 80F6 BNZ MAIN_LOOP_KEYPLAY_5
0431
0432 00F9 7924 LDI PARM,2
0433 00FA C142 CALL DELAY_N_mS
0434
0435 00FB 78C3 LDI PS2SNDH,01H ;CTRL
0436 00FC 7A44 LDI PS2SNDL,04H
0437 00FD MAIN_LOOP_KEYPLAY_6:
0438 00FD C1FC CALL PS2OUTB
0439 00FE 3847 LDA PS2RET
0440 00FF 80FD BNZ MAIN_LOOP_KEYPLAY_6
0441
0442 0100 7FA4 LDI PARM,0FH
0443 0101 C142 CALL DELAY_N_mS
0444 0102 7FA4 LDI PARM,0FH
0445 0103 C142 CALL DELAY_N_mS
0446
0447 0104 7FC3 LDI PS2SNDH,0FH ;RELEASE
0448 0105 7844 LDI PS2SNDL,00H
0449 0106 MAIN_LOOP_KEYPLAY_7:
0450 0106 C1FC CALL PS2OUTB
0451 0107 3847 LDA PS2RET
0452 0108 8106 BNZ MAIN_LOOP_KEYPLAY_7
0453
0454 0109 7924 LDI PARM,2
0455 010A C142 CALL DELAY_N_mS
0456
0457 010B 78C3 LDI PS2SNDH,01H ;ALT
0458 010C 78C4 LDI PS2SNDL,01H
0459 010D MAIN_LOOP_KEYPLAY_8:
0460 010D C1FC CALL PS2OUTB
0461 010E 3847 LDA PS2RET
0462 010F 810D BNZ MAIN_LOOP_KEYPLAY_8
0463
0464 0110 7FA4 LDI PARM,0FH
0465 0111 C142 CALL DELAY_N_mS
0466 0112 7FA4 LDI PARM,0FH
0467 0113 C142 CALL DELAY_N_mS
0468
0469
0470 0114 7F43 LDI PS2SNDH,0EH ;DEL
0471 0115 7844 LDI PS2SNDL,00H
0472 0116 MAIN_LOOP_KEYPLAY_9:
0473 0116 C1FC CALL PS2OUTB
0474 0117 3847 LDA PS2RET
0475 0118 8116 BNZ MAIN_LOOP_KEYPLAY_9
0476
0477 0119 7924 LDI PARM,2
0478 011A C142 CALL DELAY_N_mS
0479
0480 011B 7FC3 LDI PS2SNDH,0FH ;RELEASE
0481 011C 7844 LDI PS2SNDL,00H
0482 011D MAIN_LOOP_KEYPLAY_10:
0483 011D C1FC CALL PS2OUTB
0484 011E 3847 LDA PS2RET
0485 011F 811D BNZ MAIN_LOOP_KEYPLAY_10
0486
0487 0120 7924 LDI PARM,2
0488 0121 C142 CALL DELAY_N_mS
0489
0490 0122 7BC3 LDI PS2SNDH,07H ;DEL
0491 0123 78C4 LDI PS2SNDL,01H
0492 0124 MAIN_LOOP_KEYPLAY_11:
0493 0124 C1FC CALL PS2OUTB
0494 0125 3847 LDA PS2RET
0495 0126 8124 BNZ MAIN_LOOP_KEYPLAY_11
0496
0497 0127 E019 JMP MAIN_LOOP
0498 0128 D400 RTNI
0499
0500
0501 0129 INITMCU:
0502 0129 7F96 LDI PAOUT,0FH;配置PORTB为输出端口
0503 012A 7F97 LDI PBOUT,0FH
0504 012B 7F88 LDI PORTA,0FH
0505 012C 7F89 LDI PORTB,0FH
0506 012D 7F8A LDI PORTC,0FH
0507 012E FFFF NOP
0508 012F 7A19 LDI PLCTL,0100B
0509 0130 7817 LDI PBOUT,00H
0510 0131 7801 LDI IRQ,0
0511 0132 7802 LDI TM0MOD,0
0512 0133 7800 LDI IE,0000B;开启PORT中断
0513
0514 0134 D400 RTNI
0515
0516 0135 INITWDT:
0517 0135 7882 LDI TM0MOD,01H
0518 0136 7C1E LDI WDT,1000B
0519 0137 D400 RTNI
0520 0138 RSTWDT:
0521 0138 7C1E LDI WDT,1000B
0522 0139 FFFF NOP
0523 013A FFFF NOP
0524 013B D400 RTNI
0525
0526 013C BYTECMP:
0527 013C 383A LDA CMP0H
0528 013D 183C SUB CMP1H,00H
0529 013E 8141 BNZ BYTECMP_E
0530 013F 383B LDA CMP0L
0531 0140 183D SUB CMP1L,00H
0532 0141 BYTECMP_E
0533 0141 D400 RTNI
0534
0535 ;*************************************************************************
0536 ;File name: DELAY.ASM
0537 ;Description: This program is to delay a long time ,you can use parmeter to
0538 ; decide how long to delay.
0539 ;Input Arguments: CT1,CT0,PARM
0540 ;Instruction Time : ITime = 1 / (OSC / 4)
0541 ;MainDelayTime = CT1*(CT0(ITime*4)+2*ITime)+4*ITime=994uS
0542 ;I assume to use 4MHz Clock , so ITime=1uS
0543 ;*************************************************************************
0544 ; DELAY 1 x PARM ms
0545 ;*************************************************************************
0546 0142 DELAY_N_mS:
0547 0142 7EA1 LDI CT0,0DH ;配置计数器低位CT0=16
0548 0143 7F22 LDI CT1,0EH ;配置计数器高位CT1=15
0549 0144 58A4 SBIM PARM,01H ;judge parmater is >0
0550 0145 9947 BC DELAY_N_mS_1
0551 0146 E14E JMP DELAY_N_mS_E
0552 0147 DELAY_N_mS_1:
0553 0147 FFFF NOP
0554 0148 FFFF NOP ;2 ITIME
0555 0149 58A1 SBIM CT0,01H ;1 ITIME
0556 014A 9947 BC DELAY_N_mS_1;1 ITIME
0557 014B 58A2 SBIM CT1,01H
0558 014C 9947 BC DELAY_N_mS_1;2 ITIME
0559 014D E142 JMP DELAY_N_mS
0560 014E DELAY_N_mS_E:
0561 014E D400 RTNI
0562
0563
0564 ;*************************************************************************
0565 ;File name: DELAY.ASM
0566 ;Description: This program is to delay a long time ,you can use parmeter to
0567 ; decide how long to delay.
0568 ;Input Arguments: CT1,CT0,PARM
0569 ;Instruction Time : ITime = 1 / (OSC / 4)
0570 ;MainDelayTime = CT2*((CT1*(CT0(ITime*4)+2*ITime)+9ITIME)+4*ITime=9994uS
0571 ;I assume to use 4MHz Clock , so ITime=1uS
0572 ;*************************************************************************
0573 ; DELAY PARM * 10ms
0574 ;*************************************************************************
0575 014F DELAY_N_10mS:
0576 014F 7FA1 LDI CT0,0FH ;配置计数器低位CT0=16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -