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