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