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

📄 t6620.lst

📁 基于NT69P20的遥控PS2键盘处理程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
0877  0230  F000            SHR
0878  0231  3C49            STA     PS2BUF
0879  0232  9A3D            BC      PS2OUTB_S1_1
0880                
0881  0233          PS2OUTB_S1_0:        
0882  0233  7689            ANDIM   PORTB,1101B;DATA->0
0883  0234  7AA4            LDI     PARM,5
0884  0235  C163            CALL    DELAY_N_10uS;延时100微秒
0885  0236  7589            ANDIM   PORTB,1011B;CLK->0
0886  0237  7D24            LDI     PARM,10
0887  0238  C163            CALL    DELAY_N_10uS;延时130微秒
0888  0239  6A09            ORIM    PORTB,0100B;CLK->1
0889  023A  7AA4            LDI     PARM,5
0890  023B  C163            CALL    DELAY_N_10uS;延时20微秒
0891  023C  E247            JMP     PS2OUTB_S1_E
0892                                
0893  023D          PS2OUTB_S1_1:
0894  023D  6909            ORIM    PORTB,0010B;DATA->1
0895  023E  7AA4            LDI     PARM,5
0896  023F  C163            CALL    DELAY_N_10uS;延时100微秒
0897  0240  7589            ANDIM   PORTB,1011B;CLK->0
0898  0241  7D24            LDI     PARM,10
0899  0242  C163            CALL    DELAY_N_10uS;延时130微秒
0900  0243  6A09            ORIM    PORTB,0100B;CLK->1
0901  0244  7AA4            LDI     PARM,5
0902  0245  C163            CALL    DELAY_N_10uS;延时20微秒
0903  0246  48C8            ADIM    PS2TEMP,01H
0904                        
0905  0247          PS2OUTB_S1_E:
0906  0247  58C2            SBIM    PS2CNTL,01H
0907  0248  9A2F            BC      PS2OUTB_4
0908                
0909  0249          PS2OUTB_5:
0910  0249  3848            LDA     PS2TEMP
0911  024A  FFFF            NOP
0912                        ;比较PS2TEMP是否为1,若是校检位为0
0913  024B  A24E            BA0     PS2OUTB_5_1
0914  024C  6909            ORIM    PORTB,0010B;DATA->1
0915  024D  E24F            JMP     PS2OUTB_5_2
0916  024E          PS2OUTB_5_1:
0917  024E  7689            ANDIM   PORTB,1101B;DATA->0
0918  024F          PS2OUTB_5_2:
0919  024F  7AA4            LDI     PARM,5
0920  0250  C163            CALL    DELAY_N_10uS;延时100微秒
0921  0251  7589            ANDIM   PORTB,1011B;CLK->0
0922  0252  7D24            LDI     PARM,10
0923  0253  C163            CALL    DELAY_N_10uS;延时130微秒
0924  0254  6A09            ORIM    PORTB,0100B;CLK->1
0925  0255  7AA4            LDI     PARM,5
0926  0256  C163            CALL    DELAY_N_10uS;延时20微秒
0927                        
0928                                                
0929  0257          PS2OUTB_6:                ;发送停止位
0930  0257  6909            ORIM    PORTB,0010B;DATA->1
0931  0258  7AA4            LDI     PARM,5
0932  0259  C163            CALL    DELAY_N_10uS;延时100微秒
0933  025A  7589            ANDIM   PORTB,1011B;CLK->0
0934  025B  7AA4            LDI     PARM,5
0935  025C  C163            CALL    DELAY_N_10uS
0936  025D  7AA4            LDI     PARM,5
0937  025E  C163            CALL    DELAY_N_10uS;延时200微秒
0938  025F  6A09            ORIM    PORTB,0100B;CLK->1
0939  0260  7AA4            LDI     PARM,5
0940  0261  C163            CALL    DELAY_N_10uS;延时20微秒
0941                        
0942  0262  7847            LDI     PS2RET,00H
0943  0263  E265            JMP     PS2OUTB_E
0944                                
0945  0264          PS2OUTB_ERR:
0946  0264  78C7            LDI     PS2RET,01H
0947  0265          PS2OUTB_E:                ;返回值为0-正确发送,1-发送失败
0948  0265  7497            ANDIM   PBOUT,1001B
0949  0266  7F89            LDI     PORTB,0FH
0950                        ;LDI    IRQ,0000B
0951  0267  7880            LDI     IE,0001B
0952  0268  D400            RTNI
0953                        
0954                
0955  0269          PS2INB:
0956  0269  7800            LDI     IE,00H
0957  026A  7847            LDI     PS2RET,00H
0958  026B  7848            LDI     PS2TEMP,00H
0959  026C  7841            LDI     PS2INL,00H
0960  026D  7840            LDI     PS2INH,00H
0961  026E  7817            LDI     PBOUT,0000B
0962  026F          PS2INB_0:
0963  026F  3809            LDA     PORTB
0964  0270  FFFF            NOP
0965  0271  3809            LDA     PORTB
0966  0272  FFFF            NOP
0967                        ;BA1    PS2INB_2_ERR
0968                        ;LDI    PARM,03H
0969                        ;CALL   DELAY_N_mS
0970                        ;LDA    PORTB
0971                        ;NOP
0972  0273  3809            LDA     PORTB
0973  0274  AA81            BA1     PS2INB_2_ERR
0974  0275          PS2INB_1:
0975  0275  3809            LDA     PORTB
0976  0276  FFFF            NOP     
0977  0277  3809            LDA     PORTB
0978  0278  FFFF            NOP
0979  0279  AA7B            BA1     PS2INB_2
0980  027A  E275            JMP     PS2INB_1;检查CLK是否为低
0981                
0982  027B          PS2INB_2:
0983  027B  3809            LDA     PORTB
0984  027C  FFFF            NOP
0985  027D  3809            LDA     PORTB
0986  027E  FFFF            NOP
0987  027F  B281            BA2     PS2INB_2_ERR;检查DATA是否为低,事实上是检查Host的起始位
0988  0280  E283            JMP     PS2INB_S0_S
0989  0281          PS2INB_2_ERR
0990  0281  78C7            LDI     PS2RET,01H
0991  0282  E2E2            JMP     PS2INB_ERR
0992                        
0993  0283          PS2INB_S0_S:
0994                        ;LDI    PARM,03H
0995                        ;CALL   DELAY_N_mS
0996  0283  7917            LDI     PBOUT,0010B
0997  0284  79C2            LDI     PS2CNTL,03H
0998  0285          PS2INB_S0:
0999  0285  3841            LDA     PS2INL          
1000  0286  F000            SHR
1001  0287  3C41            STA     PS2INL
1002  0288  7924            LDI     PARM,2
1003  0289  C163            CALL    DELAY_N_10uS;延时50微秒
1004  028A  7689            ANDIM   PORTB,1101B;CLK -> 0
1005  028B  7A24            LDI     PARM,4
1006  028C  C163            CALL    DELAY_N_10uS;延时130微秒
1007  028D  6909            ORIM    PORTB,0010B;CLK -> 1
1008  028E  7924            LDI     PARM,2
1009  028F  C163            CALL    DELAY_N_10uS;延时50微秒
1010  0290  3809            LDA     PORTB
1011  0291  FFFF            NOP
1012  0292  3809            LDA     PORTB
1013  0293  FFFF            NOP
1014  0294  B296            BA2     PS2INB_S0_1
1015  0295          PS2INB_S0_0:        
1016  0295  E298            JMP     PS2INB_S0_E
1017  0296          PS2INB_S0_1:
1018  0296  6C41            ORIM    PS2INL,1000B
1019  0297  48C8            ADIM    PS2TEMP,01H
1020  0298          PS2INB_S0_E:
1021  0298  58C2            SBIM    PS2CNTL,01H
1022  0299  9A85            BC      PS2INB_S0
1023                                        
1024                
1025  029A  79C2            LDI     PS2CNTL,03H
1026  029B          PS2INB_S1:
1027  029B  3840            LDA     PS2INH          
1028  029C  F000            SHR
1029  029D  3C40            STA     PS2INH
1030  029E  7924            LDI     PARM,2
1031  029F  C163            CALL    DELAY_N_10uS;延时50微秒
1032  02A0  7689            ANDIM   PORTB,1101B;CLK -> 0
1033  02A1  7A24            LDI     PARM,4
1034  02A2  C163            CALL    DELAY_N_10uS;延时130微秒
1035  02A3  6909            ORIM    PORTB,0010B;CLK -> 1
1036  02A4  7924            LDI     PARM,2
1037  02A5  C163            CALL    DELAY_N_10uS;延时50微秒
1038  02A6  3809            LDA     PORTB
1039  02A7  FFFF            NOP
1040  02A8  3809            LDA     PORTB
1041  02A9  FFFF            NOP
1042  02AA  B2AC            BA2     PS2INB_S1_1
1043  02AB          PS2INB_S1_0:        
1044  02AB  E2AE            JMP     PS2INB_S1_E
1045  02AC          PS2INB_S1_1:
1046  02AC  6C40            ORIM    PS2INH,1000B
1047  02AD  48C8            ADIM    PS2TEMP,01H
1048  02AE          PS2INB_S1_E:
1049  02AE  58C2            SBIM    PS2CNTL,01H
1050  02AF  9A9B            BC      PS2INB_S1        
1051                
1052  02B0          PS2INB_P:                ;读取校验位
1053  02B0  7924            LDI     PARM,2
1054  02B1  C163            CALL    DELAY_N_10uS;延时50微秒
1055  02B2  7689            ANDIM   PORTB,1101B;CLK -> 0
1056  02B3  7A24            LDI     PARM,4
1057  02B4  C163            CALL    DELAY_N_10uS;延时130微秒
1058  02B5  6909            ORIM    PORTB,0010B;CLK -> 1
1059  02B6  7924            LDI     PARM,2
1060  02B7  C163            CALL    DELAY_N_10uS;延时50微秒
1061  02B8  3809            LDA     PORTB
1062  02B9  FFFF            NOP
1063  02BA  3809            LDA     PORTB
1064  02BB  FFFF            NOP
1065  02BC  B2BE            BA2     PS2INB_P_1
1066  02BD  E2BF            JMP     PS2INB_3
1067  02BE          PS2INB_P_1:
1068  02BE  48C8            ADIM    PS2TEMP,01H
1069                        
1070  02BF          PS2INB_3:                ;读取停止位
1071  02BF  7924            LDI     PARM,2
1072  02C0  C163            CALL    DELAY_N_10uS;延时50微秒
1073  02C1  7689            ANDIM   PORTB,1101B;CLK -> 0
1074  02C2  7A24            LDI     PARM,4
1075  02C3  C163            CALL    DELAY_N_10uS;延时130微秒
1076  02C4  6909            ORIM    PORTB,0010B;CLK -> 1
1077  02C5  7924            LDI     PARM,2
1078  02C6  C163            CALL    DELAY_N_10uS;延时50微秒
1079  02C7  3809            LDA     PORTB
1080  02C8  FFFF            NOP
1081  02C9  3809            LDA     PORTB
1082  02CA  FFFF            NOP
1083  02CB  B2CE            BA2     PS2INB_4
1084                        
1085  02CC          PS2INB_3_ERR:                ;停止位接收出错,退出并生成出错信息
1086                        ;LDA    PORTB
1087                        ;NOP
1088                        ;LDA    PORTB
1089                        ;NOP
1090                        ;BA1    PS2INB_3_ERR
1091  02CC  7947            LDI     PS2RET,02H
1092  02CD  E2E2            JMP     PS2INB_ERR
1093                                        
1094  02CE          PS2INB_4:                ;发送应答位
1095  02CE  7B17            LDI     PBOUT,0110B
1096  02CF  FFFF            NOP
1097  02D0  FFFF            NOP
1098  02D1  7924            LDI     PARM,2
1099  02D2  C163            CALL    DELAY_N_10uS;延时20微秒
1100  02D3  7589            ANDIM   PORTB,1011B;Bring Data Line Low
1101                        
1102  02D4  78A4            LDI     PARM,1
1103  02D5  C163            CALL    DELAY_N_10uS;延时10微秒
1104  02D6  7689            ANDIM   PORTB,1101B;Bring CLK  Low
1105                        
1106  02D7  7A24            LDI     PARM,4
1107  02D8  C163            CALL    DELAY_N_10uS;
1108  02D9  6909            ORIM    PORTB,0010B;Release CLK
1109                        
1110  02DA  78A4            LDI     PARM,1
1111  02DB  C163            CALL    DELAY_N_10uS;延时10微秒                
1112  02DC  6A09            ORIM    PORTB,0100B;释放Data线
1113                        
1114  02DD  7A24            LDI     PARM,4
1115  02DE  C163            CALL    DELAY_N_10uS;额外延时40微秒,供主机进行处理
1116                        
1117  02DF          PS2INB_CHK:                ;处理校验位
1118  02DF  3848            LDA     PS2TEMP
1119  02E0  A2E2            BA0     PS2INB_E
1120  02E1  7A47            LDI     PS2RET,04H;PS2TEMP.0=0校验出错
1121  02E2          PS2INB_ERR:
1122                        ;LDI    PS2RET,0FH
1123  02E2          PS2INB_E:
1124  02E2  7817            LDI     PBOUT,0000B
1125  02E3  7F89            LDI     PORTB,0FH
1126  02E4  7800            LDI     IE,00H          
1127  02E5  D400            RTNI    
1128  02FF                  ORG     TABCH-1
1129  02FF  F7FF            TJMP
1130  0300  D041            RTNW    04H,01H         ;00
1131  0301  D05B            RTNW    05H,0BH         ;01
1132  0302  D05D            RTNW    05H,0DH         ;02
1133  0303  D049            RTNW    04H,09H         ;03
1134  0304  D04C            RTNW    04H,0CH         ;04
1135  0305  D000            RTNW    00H,00H         ;05
1136  0306  D005            RTNW    00H,05H         ;06
1137  0307  D000            RTNW    00H,00H         ;07
1138  0308  D0E0            RTNW    0EH,00H         ;08
1139  0309  D016            RTNW    01H,06H         ;09
1140  030A  D0E0            RTNW    0EH,00H         ;0A
1141  030B  D000            RTNW    00H,00H         ;0B
1142  030C  D000            RTNW    00H,00H         ;0C
1143  030D  D025            RTNW    02H,05H         ;0D
1144  030E  D0E0            RTNW    0EH,00H         ;0E
1145  030F  D03A            RTNW    03H,0AH         ;0F
1146                        
1147  0310  D01B            RTNW    01H,0BH         ;10
1148  0311  D03D            RTNW    03H,0DH         ;11
1149  0312  D000            RTNW    00H,00H         ;12
1150  0313  D000            RTNW    00H,00H         ;13
1151  0314  D021            RTNW    02H,01H         ;14
1152  0315  D03E            RTNW    03H,0EH         ;15
1153  0316  D045            RTNW    04H,05H         ;16
1154  0317  D046            RTNW    04H,06H         ;17
1155  0318  D000            RTNW    00H,00H         ;18
1156  0319  D02E            RTNW    02H,0EH         ;19
1157  031A  D0E0            RTNW    0EH,00H         ;1A
1158  031B  D036            RTNW    03H,06H         ;1B
1159  031C  D000            RTNW    00H,00H         ;1C
1160  031D  D01E            RTNW    01H,0EH         ;1D
1161  031E  D04B            RTNW    04H,0BH         ;1E
1162  031F  D026            RTNW    02H,06H         ;1F
1163                        
1164  0320  D000            RTNW    00H,00H         ;20
1165  0321  D000            RTNW    00H,00H         
1166  0322  D000            RTNW    00H,00H         
1167  0323  D000            RTNW    00H,00H
1168  0324  D000            RTNW    00H,00H

⌨️ 快捷键说明

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