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

📄 t6620.lst

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

⌨️ 快捷键说明

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