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

📄 8733_tp.lst

📁 Elan eKTP8733N 单片机Touch Pad驱动程序。可检测8个Touch Pad按键是否按下。在Elan公司开发环境中使用。
💻 LST
📖 第 1 页 / 共 5 页
字号:
   167 000BB 1254                      CALL    ReleaseOldKeyVa
   168 000BC 1824                      MOV     A, @TP2_RlTm_VAL
   169 000BD 125F                      CALL    StoreRLKeyVa
   170 000BE 11EA                      CALL    CMP_TWO_Value
   171 000BF 0C03                      JBC     status, c
   172 000C0 0A92                      BS      TP_Psd_Flag, TP2
   173                                 ;---------------------------------------
   174                                 ; Check TP3 
   175 000C1               Main_Chk_TP3:
   176 000C1 1E94                      BANK    4
   177 000C2 1823                      MOV     A, @0X23            ; TP3 switch on
   178 000C3 0045                      MOV     TPCR1, A
   179 000C4 1808                      MOV     A, @0X08            ; Select TP3, Other pin as IO pin
   180 000C5 004C                      MOV     TPEPCR0, A
   181 000C6 1297                      CALL    TPVaRoutine
   182 000C7 1826                      MOV     A, @TP3_NPsd_VAL
   183 000C8 1254                      CALL    ReleaseOldKeyVa
   184 000C9 1826                      MOV     A, @TP3_RlTm_VAL
   185 000CA 125F                      CALL    StoreRLKeyVa
   186 000CB 11EA                      CALL    CMP_TWO_Value
   187 000CC 0C03                      JBC     status, c
   188 000CD 0AD2                      BS      TP_Psd_Flag, TP3
   189                                 ;---------------------------------------
   190                                 ; Check TP4 
   191 000CE               Main_Chk_TP4:
   192 000CE 1E94                      BANK    4
   193 000CF 1824                      MOV     A, @0X24            ; TP4 switch on
   194 000D0 0045                      MOV     TPCR1, A
   195 000D1 1810                      MOV     A, @0X10            ; Select TP4, Other pin as IO pin
   196 000D2 004C                      MOV     TPEPCR0, A
   197 000D3 1297                      CALL    TPVaRoutine
   198 000D4 1828                      MOV     A, @TP4_NPsd_VAL
   199 000D5 1254                      CALL    ReleaseOldKeyVa
   200 000D6 1828                      MOV     A, @TP4_RlTm_VAL
   201 000D7 125F                      CALL    StoreRLKeyVa
   202 000D8 11EA                      CALL    CMP_TWO_Value
   203 000D9 0C03                      JBC     status, c
   204 000DA 0B12                      BS      TP_Psd_Flag, TP4
   205                                 ;---------------------------------------
   206                                 ; Check TP5 
   207 000DB               Main_Chk_TP5:
   208 000DB 1E94                      BANK    4
   209 000DC 1825                      MOV     A, @0X25            ; TP5 switch on
   210 000DD 0045                      MOV     TPCR1, A
   211 000DE 1820                      MOV     A, @0X20            ; Select TP5, Other pin as IO pin
   212 000DF 004C                      MOV     TPEPCR0, A
   213 000E0 1297                      CALL    TPVaRoutine
   214 000E1 182A                      MOV     A, @TP5_NPsd_VAL
   215 000E2 1254                      CALL    ReleaseOldKeyVa
   216 000E3 182A                      MOV     A, @TP5_RlTm_VAL
   217 000E4 125F                      CALL    StoreRLKeyVa
   218 000E5 11EA                      CALL    CMP_TWO_Value
   219 000E6 0C03                      JBC     status, c
   220 000E7 0B52                      BS      TP_Psd_Flag, TP5
   221                                 ;---------------------------------------
   222                                 ; Check TP6 
   223 000E8               Main_Chk_TP6:
   224 000E8 1E94                      BANK    4
   225 000E9 1826                      MOV     A, @0X26            ; TP6 switch on
   226 000EA 0045                      MOV     TPCR1, A
   227 000EB 1840                      MOV     A, @0X40            ; Select TP6, Other pin as IO pin
   228 000EC 004C                      MOV     TPEPCR0, A
   229 000ED 1297                      CALL    TPVaRoutine
   230 000EE 182C                      MOV     A, @TP6_NPsd_VAL
   231 000EF 1254                      CALL    ReleaseOldKeyVa
   232 000F0 182C                      MOV     A, @TP6_RlTm_VAL
   233 000F1 125F                      CALL    StoreRLKeyVa
   234 000F2 11EA                      CALL    CMP_TWO_Value
   235 000F3 0C03                      JBC     status, c
   236 000F4 0B92                      BS      TP_Psd_Flag, TP6
   237                                 ;---------------------------------------
   238                                 ; Check TP7 
   239 000F5               Main_Chk_TP7:
   240 000F5 1E94                      BANK    4
   241 000F6 1827                      MOV     A, @0X27            ; TP7 switch on
   242 000F7 0045                      MOV     TPCR1, A
   243 000F8 1880                      MOV     A, @0X80            ; Select TP7, Other pin as IO pin
   244 000F9 004C                      MOV     TPEPCR0, A
   245 000FA 1297                      CALL    TPVaRoutine
   246 000FB 182E                      MOV     A, @TP7_NPsd_VAL
   247 000FC 1254                      CALL    ReleaseOldKeyVa
   248 000FD 182E                      MOV     A, @TP7_RlTm_VAL
   249 000FE 125F                      CALL    StoreRLKeyVa
   250 000FF 11EA                      CALL    CMP_TWO_Value
   251 00100 0C03                      JBC     status, c
   252 00101 0BD2                      BS      TP_Psd_Flag, TP7
   253                     ;
   254                                 ;---------------------------------------
   255 00102 0FD3                      JBS     Key_Tone, PWON_AD
   256 00103 150D                      JMP     Main_Chk_Ret
   257 00104 0554                      INC     PWON_CNT
   258 00105 0414                      MOV     A, PWON_CNT
   259 00106 1FFA                      ADD     A, @255-5
   260 00107 0C03                      JBC     status, C
   261 00108 150D                      JMP     Main_Chk_Ret
   262 00109 1820                      MOV     A, @0x20
   263 0010A 1268                      CALL    SwapKeyValue
   264 0010B 00D4                      CLR     PWON_CNT
   265 0010C 09D3                      BC      Key_Tone, PWON_AD
   266 0010D               Main_Chk_Ret:
   267 0010D 0012                      RET
   268                     ;-----------------------------------------------------------------
   269 0010E               MainScanKey:
   270 0010E 0000                      NOP
   271 0010F 00E3                      CLR     KeyValue
   272 00110 00F0                      CLR     buffer
   273 00111 0412                      MOV     A, Tp_Psd_Flag
   274 00112 0C83                      JBC     status, z
   275 00113 153A                      JMP     CheckKeyLoos
   276 00114 0993                      BC      Key_Tone, SYSKEYLOOS
   277                                 ;---------------------------------------
   278                                 ; Check whether two key are Pressed.
   279 00115 0071                      MOV     buffer+1, A
   280 00116 1808                      MOV     A, @0x08
   281 00117 0072                      MOV     buffer+2, A
   282 00118               RRC_Lp:
   283 00118 0803                      BC      status, C
   284 00119 0671                      RRC     buffer+1
   285 0011A 0C03                      JBC     status, C
   286 0011B 0570                      INC     buffer
   287 0011C 05F2                      DJZ     BUFFER+2
   288 0011D 1518                      JMP     RRC_Lp
   289 0011E 18FE                      MOV     A, @255-1
   290 0011F 03B0                      ADD     A, buffer
   291 00120 0C03                      JBC     status, C
   292 00121 1554                      JMP     NoKey_Pressed2      ; Two key pressed, treat as no key pressed
   293                                 ;---------------------------------------
   294 00122               Key_Pressed:
   295 00122 0993                      BC      Key_Tone, SYSKEYLOOS
   296 00123 0412                      MOV     A, Tp_Psd_Flag
   297 00124 0124                      SUB     A, OldKey
   298 00125 0C83                      JBC     status, z
   299 00126 152C                      JMP     Check_Key_Up
   300 00127               SetNewKeyDithering:
   301                                 ; New key checked
   302 00127 0412                      MOV     A, Tp_Psd_Flag
   303 00128 0064                      MOV     OldKey, A
   304 00129 1806                      MOV     A, @DitheringTM     ; 10
   305 0012A 0060                      MOV     DitheringR, A       ; 5ms * 10 = 50ms
   306 0012B 1556                      JMP     ScanKey_Out
   307 0012C               Check_Key_Up:
   308 0012C 0420                      MOV     A, DitheringR
   309 0012D 0E83                      JBS     STATUS, Z
   310 0012E 1556                      JMP     ScanKey_Out
   311 0012F               NewKeyDown:
   312 0012F 0953                      BC      Key_Tone, STYKey
   313 00130 0AD3                      BS      Key_Tone, KeyPressed
   314 00131 00D5                      CLR     NOKeyPCNT
   315 00132 0424                      MOV     A, OldKey
   316 00133 0063                      MOV     KeyValue, A
   317 00134 0125                      SUB     A, OldKeyValue
   318 00135 0C83                      JBC     STATUS, Z           ; = 0 Skip
   319 00136 1554                      JMP     NoKey_Pressed2
   320                                 ; sure new key pressed
   321 00137               SetOldKeyValue:
   322 00137 0424                      MOV     A, OldKey
   323 00138 0065                      MOV     OldKeyValue, A
   324 00139 1556                      JMP     ScanKey_Out
   325 0013A               CheckKeyLoos:
   326 0013A 0425                      MOV     A, OldKeyValue
   327 0013B 0C83                      JBC     Status, z
   328 0013C 1547                      JMP     NoKey_Pressed
   329                     ;
   330 0013D 0D93                      JBC     Key_Tone, SYSKEYLOOS
   331 0013E 1543                      JMP     Check_Key_Loos_Up
   332 0013F 0B93                      BS      Key_Tone, SYSKEYLOOS
   333 00140 1805                      MOV     A, @LOOSDitheringTM ;10*5ms
   334 00141 0061                      MOV     LOOSDitheringR, A
   335 00142 1556                      JMP     ScanKey_Out
   336 00143               Check_Key_Loos_Up:
   337 00143 0421                      MOV     A, LOOSDitheringR
   338 00144 0E83                      JBS     STATUS, Z
   339 00145 1556                      JMP     ScanKey_Out
   340 00146 0993                      BC      Key_Tone, SYSKEYLOOS
   341 00147               NoKey_Pressed:
   342 00147 18F0                      MOV     A, @0xF0
   343 00148 02C5                      AND     Port5, A
   344 00149 02C8                      and		port8,a
   345 0014A 00E5                      CLR     OldKeyValue
   346 0014B 0415                      MOV     A, NOKeyPCNT
   347 0014C 1FEC                      ADD     A, @256-20
   348 0014D 0CD3                      JBC     Key_Tone, KeyPressed
   349 0014E 1FB5                      ADD     A, @256-75
   350 0014F 0E03                      JBS     status, C
   351 00150 1554                      JMP     NoKey_Pressed2
   352 00151 08D3                      BC      Key_Tone, KeyPressed
   353 00152 0B53                      BS      Key_Tone, STYKey
   354 00153 00D5                      CLR     NOKeyPCNT
   355 00154               NoKey_Pressed2:
   356 00154 00E4                      CLR     OldKey
   357 00155 00E3                      CLR     KeyValue
   358 00156               ScanKey_Out:
   359 00156 0423                      MOV     A, KeyValue
   360 00157 0C83                      JBC     STATUS, Z           ;
   361 00158 155A                      JMP     Key_Check_Ret       ; no key pressed
   362 00159 115C                      CALL   Main_Key_Do
   363 0015A               Key_Check_Ret:
   364 0015A 0000                      NOP
   365 0015B 0012                      RET
   366                     ;-----------------------------------------------------------------
   367 0015C               Main_Key_Do:
   368 0015C 1801                      MOV     A, @0x01
   369 0015D 0123                      SUB     A, KeyValue
   370 0015E 0C83                      JBC     status, Z
   371 0015F 157C                      JMP     main_key1_psd   ; key1
   372                                 ;
   373 00160 1802                      MOV     A, @0x02
   374 00161 0123                      SUB     A, KeyValue
   375 00162 0C83                      JBC     status, Z
   376 00163 157E                      JMP     main_key2_psd   ; key2
   377                                 ;
   378 00164 1804                      MOV     A, @0x04
   379 00165 0123                      SUB     A, KeyValue
   380 00166 0C83                      JBC     status, Z
   381 00167 1580                      JMP     main_key3_psd   ; key3
   382                                 ;
   383 00168 1808                      MOV     A, @0x08
   384 00169 0123                      SUB     A, KeyValue
   385 0016A 0C83                      JBC     status, Z
   386 0016B 1582                      JMP     main_key4_psd   ; key4
   387                                 ;
   388 0016C 1810                      MOV     A, @0x10
   389 0016D 0123                      SUB     A, KeyValue
   390 0016E 0C83                      JBC     status, Z

⌨️ 快捷键说明

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