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

📄 t6620.lst

📁 基于NT69P20的遥控PS2键盘处理程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
0862  0225  78C7            LDI     PS2RET,01H
0863  0226          PS2OUTB_E:                ;返回值为0-正确发送,1-发送失败
0864  0226  7497            ANDIM   PBOUT,1001B
0865  0227  7F89            LDI     PORTB,0FH
0866                        ;LDI    IRQ,0000B
0867  0228  7880            LDI     IE,0001B
0868  0229  D400            RTNI
0869                
0870  022A          PS2HOOK:
0871  022A  7800            LDI     IE,0000B
0872  022B  7817            LDI     PBOUT,00H
0873  022C  7F89            LDI     PORTB,0FH
0874  022D  78C7            LDI     PS2RET,01H
0875  022E  7B20            LDI     ACCBUF,0110B
0876  022F  3009            AND     PORTB
0877  0230  823F            BNZ     PS2HOOK_E
0878  0231          PS2HOOK_1:
0879  0231  3809            LDA     PORTB
0880  0232  FFFF            NOP
0881  0233  AA35            BA1     PS2HOOK_2
0882  0234  E231            JMP     PS2HOOK_1
0883  0235          PS2HOOK_2:
0884  0235  FFFF            NOP
0885  0236  FFFF            NOP
0886  0237  FFFF            NOP
0887  0238  3809            LDA     PORTB
0888  0239  B23F            BA2     PS2HOOK_E
0889                
0890  023A          PS2HOOK_3:
0891  023A  FFFF            NOP
0892  023B  FFFF            NOP
0893  023C  3809            LDA     PORTB
0894  023D  B23F            BA2     PS2HOOK_S0
0895  023E  E23A            JMP     PS2HOOK_3
0896                
0897  023F          PS2HOOK_S0:
0898                                                
0899  023F          PS2HOOK_E:
0900  023F  D400            RTNI
0901                        
0902                
0903  0240          PS2INB:
0904  0240  7800            LDI     IE,00H
0905  0241  7847            LDI     PS2RET,00H
0906  0242  7848            LDI     PS2TEMP,00H
0907  0243  7841            LDI     PS2INL,00H
0908  0244  7840            LDI     PS2INH,00H
0909  0245  7817            LDI     PBOUT,0000B
0910  0246          PS2INB_0:
0911  0246  3809            LDA     PORTB
0912  0247  FFFF            NOP
0913  0248  3809            LDA     PORTB
0914  0249  FFFF            NOP
0915                        ;BA1    PS2INB_2_ERR
0916                        ;LDI    PARM,03H
0917                        ;CALL   DELAY_N_mS
0918                        ;LDA    PORTB
0919                        ;NOP
0920  024A  3809            LDA     PORTB
0921  024B  AA58            BA1     PS2INB_2_ERR
0922  024C          PS2INB_1:
0923  024C  3809            LDA     PORTB
0924  024D  FFFF            NOP     
0925  024E  3809            LDA     PORTB
0926  024F  FFFF            NOP
0927  0250  AA52            BA1     PS2INB_2
0928  0251  E24C            JMP     PS2INB_1;检查CLK是否为低
0929                
0930  0252          PS2INB_2:
0931  0252  3809            LDA     PORTB
0932  0253  FFFF            NOP
0933  0254  3809            LDA     PORTB
0934  0255  FFFF            NOP
0935  0256  B258            BA2     PS2INB_2_ERR;检查DATA是否为低,事实上是检查Host的起始位
0936  0257  E25A            JMP     PS2INB_S0_S
0937  0258          PS2INB_2_ERR
0938  0258  78C7            LDI     PS2RET,01H
0939  0259  E2B9            JMP     PS2INB_ERR
0940                        
0941  025A          PS2INB_S0_S:
0942                        ;LDI    PARM,03H
0943                        ;CALL   DELAY_N_mS
0944  025A  7917            LDI     PBOUT,0010B
0945  025B  79C2            LDI     PS2CNTL,03H
0946  025C          PS2INB_S0:
0947  025C  3841            LDA     PS2INL          
0948  025D  F000            SHR
0949  025E  3C41            STA     PS2INL
0950  025F  7924            LDI     PARM,2
0951  0260  C127            CALL    DELAY_N_10uS;延时50微秒
0952  0261  7689            ANDIM   PORTB,1101B;CLK -> 0
0953  0262  7A24            LDI     PARM,4
0954  0263  C127            CALL    DELAY_N_10uS;延时130微秒
0955  0264  6909            ORIM    PORTB,0010B;CLK -> 1
0956  0265  7924            LDI     PARM,2
0957  0266  C127            CALL    DELAY_N_10uS;延时50微秒
0958  0267  3809            LDA     PORTB
0959  0268  FFFF            NOP
0960  0269  3809            LDA     PORTB
0961  026A  FFFF            NOP
0962  026B  B26D            BA2     PS2INB_S0_1
0963  026C          PS2INB_S0_0:        
0964  026C  E26F            JMP     PS2INB_S0_E
0965  026D          PS2INB_S0_1:
0966  026D  6C41            ORIM    PS2INL,1000B
0967  026E  48C8            ADIM    PS2TEMP,01H
0968  026F          PS2INB_S0_E:
0969  026F  58C2            SBIM    PS2CNTL,01H
0970  0270  9A5C            BC      PS2INB_S0
0971                                        
0972                
0973  0271  79C2            LDI     PS2CNTL,03H
0974  0272          PS2INB_S1:
0975  0272  3840            LDA     PS2INH          
0976  0273  F000            SHR
0977  0274  3C40            STA     PS2INH
0978  0275  7924            LDI     PARM,2
0979  0276  C127            CALL    DELAY_N_10uS;延时50微秒
0980  0277  7689            ANDIM   PORTB,1101B;CLK -> 0
0981  0278  7A24            LDI     PARM,4
0982  0279  C127            CALL    DELAY_N_10uS;延时130微秒
0983  027A  6909            ORIM    PORTB,0010B;CLK -> 1
0984  027B  7924            LDI     PARM,2
0985  027C  C127            CALL    DELAY_N_10uS;延时50微秒
0986  027D  3809            LDA     PORTB
0987  027E  FFFF            NOP
0988  027F  3809            LDA     PORTB
0989  0280  FFFF            NOP
0990  0281  B283            BA2     PS2INB_S1_1
0991  0282          PS2INB_S1_0:        
0992  0282  E285            JMP     PS2INB_S1_E
0993  0283          PS2INB_S1_1:
0994  0283  6C40            ORIM    PS2INH,1000B
0995  0284  48C8            ADIM    PS2TEMP,01H
0996  0285          PS2INB_S1_E:
0997  0285  58C2            SBIM    PS2CNTL,01H
0998  0286  9A72            BC      PS2INB_S1        
0999                
1000  0287          PS2INB_P:                ;读取校验位
1001  0287  7924            LDI     PARM,2
1002  0288  C127            CALL    DELAY_N_10uS;延时50微秒
1003  0289  7689            ANDIM   PORTB,1101B;CLK -> 0
1004  028A  7A24            LDI     PARM,4
1005  028B  C127            CALL    DELAY_N_10uS;延时130微秒
1006  028C  6909            ORIM    PORTB,0010B;CLK -> 1
1007  028D  7924            LDI     PARM,2
1008  028E  C127            CALL    DELAY_N_10uS;延时50微秒
1009  028F  3809            LDA     PORTB
1010  0290  FFFF            NOP
1011  0291  3809            LDA     PORTB
1012  0292  FFFF            NOP
1013  0293  B295            BA2     PS2INB_P_1
1014  0294  E296            JMP     PS2INB_3
1015  0295          PS2INB_P_1:
1016  0295  48C8            ADIM    PS2TEMP,01H
1017                        
1018  0296          PS2INB_3:                ;读取停止位
1019  0296  7924            LDI     PARM,2
1020  0297  C127            CALL    DELAY_N_10uS;延时50微秒
1021  0298  7689            ANDIM   PORTB,1101B;CLK -> 0
1022  0299  7A24            LDI     PARM,4
1023  029A  C127            CALL    DELAY_N_10uS;延时130微秒
1024  029B  6909            ORIM    PORTB,0010B;CLK -> 1
1025  029C  7924            LDI     PARM,2
1026  029D  C127            CALL    DELAY_N_10uS;延时50微秒
1027  029E  3809            LDA     PORTB
1028  029F  FFFF            NOP
1029  02A0  3809            LDA     PORTB
1030  02A1  FFFF            NOP
1031  02A2  B2A5            BA2     PS2INB_4
1032                        
1033  02A3          PS2INB_3_ERR:                ;停止位接收出错,退出并生成出错信息
1034                        ;LDA    PORTB
1035                        ;NOP
1036                        ;LDA    PORTB
1037                        ;NOP
1038                        ;BA1    PS2INB_3_ERR
1039  02A3  7947            LDI     PS2RET,02H
1040  02A4  E2B9            JMP     PS2INB_ERR
1041                                        
1042  02A5          PS2INB_4:                ;发送应答位
1043  02A5  7B17            LDI     PBOUT,0110B
1044  02A6  FFFF            NOP
1045  02A7  FFFF            NOP
1046  02A8  7924            LDI     PARM,2
1047  02A9  C127            CALL    DELAY_N_10uS;延时20微秒
1048  02AA  7589            ANDIM   PORTB,1011B;Bring Data Line Low
1049                        
1050  02AB  78A4            LDI     PARM,1
1051  02AC  C127            CALL    DELAY_N_10uS;延时10微秒
1052  02AD  7689            ANDIM   PORTB,1101B;Bring CLK  Low
1053                        
1054  02AE  7A24            LDI     PARM,4
1055  02AF  C127            CALL    DELAY_N_10uS;
1056  02B0  6909            ORIM    PORTB,0010B;Release CLK
1057                        
1058  02B1  78A4            LDI     PARM,1
1059  02B2  C127            CALL    DELAY_N_10uS;延时10微秒                
1060  02B3  6A09            ORIM    PORTB,0100B;释放Data线
1061                        
1062  02B4  7A24            LDI     PARM,4
1063  02B5  C127            CALL    DELAY_N_10uS;额外延时40微秒,供主机进行处理
1064                        
1065  02B6          PS2INB_CHK:                ;处理校验位
1066  02B6  3848            LDA     PS2TEMP
1067  02B7  A2B9            BA0     PS2INB_E
1068  02B8  7A47            LDI     PS2RET,04H;PS2TEMP.0=0校验出错
1069  02B9          PS2INB_ERR:
1070                        ;LDI    PS2RET,0FH
1071  02B9          PS2INB_E:
1072  02B9  7817            LDI     PBOUT,0000B
1073  02BA  7F89            LDI     PORTB,0FH
1074  02BB  7800            LDI     IE,00H          
1075  02BC  D400            RTNI    
1076  02FF                  ORG     TABCH-1
1077  02FF  F7FF            TJMP
1078  0300  D041            RTNW    04H,01H         ;00
1079  0301  D05B            RTNW    05H,0BH         ;01
1080  0302  D05D            RTNW    05H,0DH         ;02
1081  0303  D049            RTNW    04H,09H         ;03
1082  0304  D04C            RTNW    04H,0CH         ;04
1083  0305  D000            RTNW    00H,00H         ;05
1084  0306  D005            RTNW    00H,05H         ;06
1085  0307  D000            RTNW    00H,00H         ;07
1086  0308  D0E0            RTNW    0EH,00H         ;08
1087  0309  D016            RTNW    01H,06H         ;09
1088  030A  D0E0            RTNW    0EH,00H         ;0A
1089  030B  D000            RTNW    00H,00H         ;0B
1090  030C  D000            RTNW    00H,00H         ;0C
1091  030D  D025            RTNW    02H,05H         ;0D
1092  030E  D0E0            RTNW    0EH,00H         ;0E
1093  030F  D03A            RTNW    03H,0AH         ;0F
1094                        
1095  0310  D01B            RTNW    01H,0BH         ;10
1096  0311  D03D            RTNW    03H,0DH         ;11
1097  0312  D000            RTNW    00H,00H         ;12
1098  0313  D000            RTNW    00H,00H         ;13
1099  0314  D021            RTNW    02H,01H         ;14
1100  0315  D03E            RTNW    03H,0EH         ;15
1101  0316  D045            RTNW    04H,05H         ;16
1102  0317  D046            RTNW    04H,06H         ;17
1103  0318  D000            RTNW    00H,00H         ;18
1104  0319  D02E            RTNW    02H,0EH         ;19
1105  031A  D0E0            RTNW    0EH,00H         ;1A
1106  031B  D036            RTNW    03H,06H         ;1B
1107  031C  D000            RTNW    00H,00H         ;1C
1108  031D  D01E            RTNW    01H,0EH         ;1D
1109  031E  D04B            RTNW    04H,0BH         ;1E
1110  031F  D026            RTNW    02H,06H         ;1F
1111                        
1112  0320  D000            RTNW    00H,00H         ;20
1113  0321  D000            RTNW    00H,00H         
1114  0322  D000            RTNW    00H,00H         
1115  0323  D000            RTNW    00H,00H
1116  0324  D000            RTNW    00H,00H
1117  0325  D000            RTNW    00H,00H
1118  0326  D000            RTNW    00H,00H
1119  0327  D000            RTNW    00H,00H
1120  0328  D000            RTNW    00H,00H
1121  0329  D000            RTNW    00H,00H
1122  032A  D000            RTNW    00H,00H
1123  032B  D000            RTNW    00H,00H
1124  032C  D000            RTNW    00H,00H
1125  032D  D000            RTNW    00H,00H
1126  032E  D000            RTNW    00H,00H
1127  032F  D000            RTNW    00H,00H
1128                        
1129  0330  D000            RTNW    00H,00H         ;30
1130  0331  D000            RTNW    00H,00H         
1131  0332  D000            RTNW    00H,00H         
1132  0333  D000            RTNW    00H,00H
1133  0334  D000            RTNW    00H,00H
1134  0335  D000            RTNW    00H,00H
1135  0336  D000            RTNW    00H,00H
1136  0337  D000            RTNW    00H,00H
1137  0338  D000            RTNW    00H,00H
1138  0339  D000            RTNW    00H,00H
1139  033A  D000            RTNW    00H,00H
1140  033B  D000            RTNW    00H,00H
1141  033C  D000            RTNW    00H,00H
1142  033D  D000            RTNW    00H,00H
1143  033E  D000            RTNW    00H,00H
1144  033F  D000            RTNW    00H,00H
1145                        
1146  0340  D0E0            RTNW    0EH,00H         ;40
1147  0341  D000            RTNW    00H,00H         ;41
1148  0342  D0E0            RTNW    0EH,00H         ;42

⌨️ 快捷键说明

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