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

📄 t6620.lst

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