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

📄 t6620.lst

📁 基于NT69P20的遥控PS2键盘处理程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
0575                ;       LDA     PORTB
0576                ;       NOP
0577                ;       BA0     YK_ST_2         ;当接收端为高电平时,继续9ms起始码高电平同步
0578                ;                               ;当接收端为低电平时,退出9ms起始码高电平同步
0579                
0580  014E          YK_REC_1:
0581  014E  C18F            CALL    YK4BIT
0582  014F  3827            LDA     IRTEMP
0583  0150  3C30            STA     IRC0
0584                        
0585  0151  C18F            CALL    YK4BIT
0586  0152  3827            LDA     IRTEMP
0587  0153  3C31            STA     IRC1
0588                        
0589  0154  C18F            CALL    YK4BIT
0590  0155  3827            LDA     IRTEMP
0591  0156  3C32            STA     IRC2
0592                        
0593  0157  C18F            CALL    YK4BIT
0594  0158  3827            LDA     IRTEMP
0595  0159  3C33            STA     IRC3
0596                        
0597  015A  C18F            CALL    YK4BIT
0598  015B  3827            LDA     IRTEMP
0599  015C  3C35            STA     IRD0L   
0600                        
0601  015D  C18F            CALL    YK4BIT
0602  015E  3827            LDA     IRTEMP
0603  015F  3C34            STA     IRD0H   
0604                        
0605  0160  C18F            CALL    YK4BIT
0606  0161  3827            LDA     IRTEMP
0607  0162  3C37            STA     IRD1L   
0608                        
0609  0163  C18F            CALL    YK4BIT
0610  0164  3827            LDA     IRTEMP
0611  0165  3C36            STA     IRD1H   
0612                
0613  0166          YK_CHK_1:
0614  0166  50B0            SBI     IRC0,01H
0615  0167  9979            BC      YK_CHK_2
0616  0168  50B1            SBI     IRC1,01H
0617  0169  9979            BC      YK_CHK_2
0618  016A  40B2            ADI     IRC2,01H
0619  016B  898B            BNC     YK_CHK_ERR
0620  016C  40B3            ADI     IRC3,01H
0621  016D  898B            BNC     YK_CHK_ERR
0622                                
0623  016E  78A0            LDI     ACCBUF,01H
0624  016F  3834            LDA     IRD0H
0625  0170  0836            ADD     IRD1H
0626  0171  0820            ADD     ACCBUF
0627  0172  898B            BNC     YK_CHK_ERR
0628                        
0629  0173  3835            LDA     IRD0L
0630  0174  0837            ADD     IRD1L
0631  0175  0820            ADD     ACCBUF
0632  0176  898B            BNC     YK_CHK_ERR
0633                        
0634  0177  78A8            LDI     IRRES,01H
0635  0178  E18D            JMP     YK_EX_1
0636                
0637  0179          YK_CHK_2:
0638  0179  57B0            SBI     IRC0,0FH
0639  017A  818B            BNZ     YK_CHK_ERR
0640  017B  57B1            SBI     IRC1,0FH
0641  017C  818B            BNZ     YK_CHK_ERR
0642  017D  57B2            SBI     IRC2,0FH
0643  017E  818B            BNZ     YK_CHK_ERR
0644  017F  57B3            SBI     IRC3,0FH
0645  0180  818B            BNZ     YK_CHK_ERR
0646  0181  57B5            SBI     IRD0L,0FH
0647  0182  818B            BNZ     YK_CHK_ERR
0648  0183  57B7            SBI     IRD1L,0FH
0649  0184  818B            BNZ     YK_CHK_ERR
0650  0185  57B4            SBI     IRD0H,0FH
0651  0186  818B            BNZ     YK_CHK_ERR
0652  0187  57B6            SBI     IRD1H,0FH
0653  0188  818B            BNZ     YK_CHK_ERR
0654                        
0655  0189  7928            LDI     IRRES,02H
0656  018A  E18D            JMP     YK_EX_1
0657                
0658  018B          YK_CHK_ERR:
0659  018B  7828            LDI     IRRES,00H;校检错
0660  018C  E18D            JMP     YK_EX_1
0661                                
0662                                
0663  018D          YK_EX_1:
0664  018D  7880            LDI     IE,0001B
0665  018E  D400            RTNI    
0666                        
0667  018F          YK4BIT:
0668  018F  7827            LDI     IRTEMP,00H
0669  0190  79A6            LDI     IRCNTL,03H
0670  0191          YK4BIT_1:
0671  0191  7FA1            LDI     CT0,0FH         ;配置计数器低位CT0=16
0672  0192  7FA2            LDI     CT1,0FH         ;配置计数器高位CT1=16
0673  0193  7A23            LDI     CT2,04H
0674  0194          YK4BIT_4:
0675  0194  3809            LDA     PORTB
0676  0195  FFFF            NOP
0677  0196  A198            BA0     YK4BIT_5
0678  0197  E19E            JMP     YK4BIT_6
0679  0198          YK4BIT_5:
0680  0198  58A1            SBIM    CT0,01H
0681  0199  9994            BC      YK4BIT_4
0682  019A  58A2            SBIM    CT1,01H
0683  019B  9994            BC      YK4BIT_4
0684  019C  58A3            SBIM    CT2,01H         
0685  019D  9994            BC      YK4BIT_4
0686                
0687  019E          YK4BIT_6:                ;等待低电平结束
0688  019E  3809            LDA     PORTB
0689  019F  FFFF            NOP
0690  01A0  A1A2            BA0     YK4BIT_2
0691  01A1  E19E            JMP     YK4BIT_6
0692                        
0693  01A2          YK4BIT_2:
0694  01A2  7C24            LDI     PARM,8
0695  01A3  C131            CALL    DELAY_N_100uS
0696  01A4  3827            LDA     IRTEMP
0697  01A5  F000            SHR
0698  01A6  3C27            STA     IRTEMP          ;IRTEMP右移
0699                        
0700  01A7  3809            LDA     PORTB
0701  01A8  FFFF            NOP
0702  01A9  FFFF            NOP
0703  01AA  3809            LDA     PORTB
0704  01AB  A1AD            BA0     YK4BIT_3
0705  01AC  E1AE            JMP     YK4BIT_7
0706  01AD          YK4BIT_3:
0707  01AD  6C27            ORIM    IRTEMP,1000B
0708  01AE          YK4BIT_7:                
0709  01AE  58A6            SBIM    IRCNTL,01H 
0710  01AF  9991            BC      YK4BIT_1
0711                        
0712  01B0  D400            RTNI    
0713                
0714                
0715  01B1          PS2OUTB:
0716  01B1  7800            LDI     IE,0000B
0717  01B2  6B17            ORIM    PBOUT,0110B
0718  01B3  FFFF            NOP
0719  01B4  FFFF            NOP
0720  01B5  7848            LDI     PS2TEMP,00H
0721  01B6  7920            LDI     ACCBUF,0010B
0722  01B7  3009            AND     PORTB           ;检查CLK是否为高电平
0723  01B8  91B1            BAZ     PS2OUTB
0724  01B9  7AA4            LDI     PARM,5
0725  01BA  C127            CALL    DELAY_N_10uS;延时50微秒
0726  01BB  7A20            LDI     ACCBUF,0100B
0727  01BC  3009            AND     PORTB
0728  01BD  91B1            BAZ     PS2OUTB         ;再次检查CLK是否为高电平
0729                        
0730  01BE  FFFF            NOP
0731  01BF  7920            LDI     ACCBUF,0010B
0732  01C0  3009            AND     PORTB
0733  01C1  FFFF            NOP
0734  01C2  9225            BAZ     PS2OUTB_ERR;若数据线为低,放弃
0735                        
0736  01C3  6B17            ORIM    PBOUT,0110B
0737  01C4  FFFF            NOP
0738  01C5  FFFF            NOP
0739  01C6  3817            LDA     PBOUT
0740  01C7          PS2OUTB_2:                ;发送起始位
0741  01C7  7589            ANDIM   PORTB,1011B
0742  01C8  7AA4            LDI     PARM,5
0743  01C9  C127            CALL    DELAY_N_10uS;延时100微秒
0744  01CA  7689            ANDIM   PORTB,1101B
0745  01CB  7D24            LDI     PARM,10
0746  01CC  C127            CALL    DELAY_N_10uS;延时130微秒
0747  01CD  6909            ORIM    PORTB,0010B
0748  01CE  7AA4            LDI     PARM,5
0749  01CF  C127            CALL    DELAY_N_10uS;延时20微秒
0750                        
0751  01D0  79C2            LDI     PS2CNTL,03H
0752  01D1  3844            LDA     PS2SNDL
0753  01D2  3C49            STA     PS2BUF
0754  01D3          PS2OUTB_3:
0755  01D3  3849            LDA     PS2BUF
0756  01D4  F000            SHR     
0757  01D5  3C49            STA     PS2BUF
0758  01D6  99E1            BC      PS2OUTB_S0_1
0759                
0760  01D7          PS2OUTB_S0_0:        
0761  01D7  7589            ANDIM   PORTB,1011B
0762  01D8  7AA4            LDI     PARM,5
0763  01D9  C127            CALL    DELAY_N_10uS;延时100微秒
0764  01DA  7689            ANDIM   PORTB,1101B
0765  01DB  7D24            LDI     PARM,10
0766  01DC  C127            CALL    DELAY_N_10uS;延时130微秒
0767  01DD  6909            ORIM    PORTB,0010B
0768  01DE  7AA4            LDI     PARM,5
0769  01DF  C127            CALL    DELAY_N_10uS;延时20微秒
0770  01E0  E1EB            JMP     PS2OUTB_S0_E
0771                                
0772  01E1          PS2OUTB_S0_1:
0773  01E1  6A09            ORIM    PORTB,0100B
0774  01E2  7AA4            LDI     PARM,5
0775  01E3  C127            CALL    DELAY_N_10uS;延时100微秒
0776  01E4  7689            ANDIM   PORTB,1101B
0777  01E5  7D24            LDI     PARM,10
0778  01E6  C127            CALL    DELAY_N_10uS;延时130微秒
0779  01E7  6909            ORIM    PORTB,0010B
0780  01E8  7AA4            LDI     PARM,5
0781  01E9  C127            CALL    DELAY_N_10uS;延时20微秒
0782  01EA  48C8            ADIM    PS2TEMP,01H
0783                        
0784  01EB          PS2OUTB_S0_E:
0785  01EB  58C2            SBIM    PS2CNTL,01H
0786  01EC  99D3            BC      PS2OUTB_3
0787                        
0788  01ED  79C2            LDI     PS2CNTL,03H
0789  01EE  3843            LDA     PS2SNDH
0790  01EF  3C49            STA     PS2BUF
0791  01F0          PS2OUTB_4:
0792  01F0  3849            LDA     PS2BUF
0793  01F1  F000            SHR
0794  01F2  3C49            STA     PS2BUF
0795  01F3  99FE            BC      PS2OUTB_S1_1
0796                
0797  01F4          PS2OUTB_S1_0:        
0798  01F4  7589            ANDIM   PORTB,1011B
0799  01F5  7AA4            LDI     PARM,5
0800  01F6  C127            CALL    DELAY_N_10uS;延时100微秒
0801  01F7  7689            ANDIM   PORTB,1101B
0802  01F8  7D24            LDI     PARM,10
0803  01F9  C127            CALL    DELAY_N_10uS;延时130微秒
0804  01FA  6909            ORIM    PORTB,0010B
0805  01FB  7AA4            LDI     PARM,5
0806  01FC  C127            CALL    DELAY_N_10uS;延时20微秒
0807  01FD  E208            JMP     PS2OUTB_S1_E
0808                                
0809  01FE          PS2OUTB_S1_1:
0810  01FE  6A09            ORIM    PORTB,0100B
0811  01FF  7AA4            LDI     PARM,5
0812  0200  C127            CALL    DELAY_N_10uS;延时100微秒
0813  0201  7689            ANDIM   PORTB,1101B
0814  0202  7D24            LDI     PARM,10
0815  0203  C127            CALL    DELAY_N_10uS;延时130微秒
0816  0204  6909            ORIM    PORTB,0010B
0817  0205  7AA4            LDI     PARM,5
0818  0206  C127            CALL    DELAY_N_10uS;延时20微秒
0819  0207  48C8            ADIM    PS2TEMP,01H
0820                        
0821  0208          PS2OUTB_S1_E:
0822  0208  58C2            SBIM    PS2CNTL,01H
0823  0209  99F0            BC      PS2OUTB_4
0824                
0825  020A          PS2OUTB_5:
0826  020A  3848            LDA     PS2TEMP
0827  020B  FFFF            NOP
0828                        ;比较PS2TEMP是否为1,若是校检位为0
0829  020C  A20F            BA0     PS2OUTB_5_1
0830  020D  6A09            ORIM    PORTB,0100B
0831  020E  E210            JMP     PS2OUTB_5_2
0832  020F          PS2OUTB_5_1:
0833  020F  7589            ANDIM   PORTB,1011B
0834  0210          PS2OUTB_5_2:
0835  0210  7AA4            LDI     PARM,5
0836  0211  C127            CALL    DELAY_N_10uS;延时100微秒
0837  0212  7689            ANDIM   PORTB,1101B
0838  0213  7D24            LDI     PARM,10
0839  0214  C127            CALL    DELAY_N_10uS;延时130微秒
0840  0215  6909            ORIM    PORTB,0010B
0841  0216  7AA4            LDI     PARM,5
0842  0217  C127            CALL    DELAY_N_10uS;延时20微秒
0843                        
0844                                                
0845  0218          PS2OUTB_6:                ;发送停止位
0846  0218  6A09            ORIM    PORTB,0100B
0847  0219  7AA4            LDI     PARM,5
0848  021A  C127            CALL    DELAY_N_10uS;延时100微秒
0849  021B  7689            ANDIM   PORTB,1101B
0850  021C  7AA4            LDI     PARM,5
0851  021D  C127            CALL    DELAY_N_10uS
0852  021E  7AA4            LDI     PARM,5
0853  021F  C127            CALL    DELAY_N_10uS;延时200微秒
0854  0220  6909            ORIM    PORTB,0010B
0855  0221  7AA4            LDI     PARM,5
0856  0222  C127            CALL    DELAY_N_10uS;延时20微秒
0857                        
0858  0223  7847            LDI     PS2RET,00H
0859  0224  E226            JMP     PS2OUTB_E
0860                                
0861  0225          PS2OUTB_ERR:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -