⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t6620.lst

📁 基于NT69P20的遥控PS2键盘处理程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -