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

📄 t6620.lst

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