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

📄 8733_tp.lst

📁 Elan eKTP8733N 单片机Touch Pad驱动程序。可检测8个Touch Pad按键是否按下。在Elan公司开发环境中使用。
💻 LST
📖 第 1 页 / 共 5 页
字号:
    58       002B C        TP5_NPsd_VAH    ==      0x2B
    59            C        ;
    60       002C C        TP6_NPsd_VAL    ==      0x2C
    61       002D C        TP6_NPsd_VAH    ==      0x2D
    62            C        ;
    63       002E C        TP7_NPsd_VAL    ==      0x2E
    64       002F C        TP7_NPsd_VAH    ==      0x2F
    65            C        ;}
    66            C        ;{bank 2, timely key value(当前值)
    67       0020 C        TP0_RlTm_VAL    ==      0x20
    68       0021 C        TP0_RlTm_VAH    ==      0x21
    69            C        ;
    70       0022 C        TP1_RlTm_VAL    ==      0x22
    71       0023 C        TP1_RlTm_VAH    ==      0x23
    72            C        ;
    73       0024 C        TP2_RlTm_VAL    ==      0x24
    74       0025 C        TP2_RlTm_VAH    ==      0x25
    75            C        ;
    76       0026 C        TP3_RlTm_VAL    ==      0x26
    77       0027 C        TP3_RlTm_VAH    ==      0x27
    78            C        ;
    79       0028 C        TP4_RlTm_VAL    ==      0x28
    80       0029 C        TP4_RlTm_VAH    ==      0x29
    81            C        ;
    82       002A C        TP5_RlTm_VAL    ==      0x2A
    83       002B C        TP5_RlTm_VAH    ==      0x2B
    84            C        ;
    85       002C C        TP6_RlTm_VAL    ==      0x2C
    86       002D C        TP6_RlTm_VAH    ==      0x2D
    87            C        ;
    88       002E C        TP7_RlTm_VAL    ==      0x2E
    89       002F C        TP7_RlTm_VAH    ==      0x2F
    90            C        ;}
    91            C        ;{bank3, Key Value study store value
    92       0020 C        Key1VACHGSTOL   ==      0x20
    93       0021 C        Key1VACHGSTOH   ==      0x21
    94            C        ;
    95       0022 C        Key2VACHGSTOL   ==      0x22
    96       0023 C        Key2VACHGSTOH   ==      0x23
    97            C        ;
    98       0024 C        Key3VACHGSTOL   ==      0x24
    99       0025 C        Key3VACHGSTOH   ==      0x25
   100            C        ;
   101       0026 C        Key4VACHGSTOL   ==      0x26
   102       0027 C        Key4VACHGSTOH   ==      0x27
   103            C        ;
   104       0028 C        Key5VACHGSTOL   ==      0x28
   105       0029 C        Key5VACHGSTOH   ==      0x29
   106            C        ;
   107       002A C        Key6VACHGSTOL   ==      0x2A
   108       002B C        Key6VACHGSTOH   ==      0x2B
   109            C        ;
   110       002C C        Key7VACHGSTOL   ==      0x2C
   111       002D C        Key7VACHGSTOH   ==      0x2D
   112            C        ;
   113       002E C        Key8VACHGSTOL   ==      0x2E
   114       002F C        Key8VACHGSTOH   ==      0x2F
   115            C        ;}
   116            C        ;{bank4, 和保存区清零(bank 4的0x20~0x2F)
   117            C        
   118            C        ;}
   119       0004 C                times           ==  4           ; 检测4次
   120       0012 C                Key_Psd_Va      ==  0x12
   121       0006 C                DitheringTM     ==  6;10
   122       0005 C                LOOSDitheringTM ==  5;10
   123            C        ;-----------------------------------------------------------------
   124            C        
   125            C                
    14                     ;-----------------------------------------------------------------
    15                                 ORG     0x00
    16 00000 0000                      NOP
    17 00001 145B                      JMP     Main
    18                                 ORG     0x0F
    19 0000F 1EB0                      LJMP    TCC_INT
    19 00010 0050                      LJMP    TCC_INT
    20                                 ORG     0x3F
    21 0003F 1EB0                      LJMP    TPCV_INT
    21 00040 0055                      LJMP    TPCV_INT
    22                                 ORG     0x42
    23 00042 1EB0                      LJMP    TPOVF_INT
    23 00043 0058                      LJMP    TPOVF_INT
    24                                 ORG     0x50
    25                     ;-----------------------------------------------------------------
    26                     ; TCC interrupt: 4.096ms
    27 00050               TCC_INT:
    28 00050 1E90                      BANK    0
    29 00051 04C6                      com		0x06
    30 00052 0555                      INC     NOKeyPCNT
    31 00053 090E                      BC      ISR1, TCIF
    32 00054 0013                      RETI
    33                     ;-----------------------------------------------------------------
    34                     ; Touch pad convert interrupt
    35 00055               TPCV_INT:
    36                                 ; User code
    37                                 ; ...
    38 00055 1E94                      BANK    4
    39 00056 0987                      BC      TPCR3, TPIF
    40 00057 0013                      RETI
    41                     ;-------------------------------------------------------------------
    42                     ; Touch pad counter overflow interrupt
    43 00058               TPOVF_INT:
    44                                 ; User code
    45                                 ; ...
    46 00058 1E94                      BANK    4
    47 00059 09C7                      BC      TPCR3, TPOIF
    48 0005A 0013                      RETI
    49                     ;===================================================================
    50 0005B               Main:
    51 0005B 0011                      DISI
    52 0005C 1281                      CALL    CLEAR_SRAM
    53 0005D 1064                      CALL    INIT_DEVICE
    54                     
    55 0005E               main_loop:
    56 0005E 0000                      NOP
    57 0005F 0010                      ENI
    58 00060 0000                      NOP
    59 00061 1091                      CALL    MainReadTPVa
    60                                 ;CALL    MainStudyTP
    61 00062 110E                      CALL    MainScanKey
    62 00063 145E                      JMP     main_loop
    63                     ;===================================================================
    64 00064               INIT_DEVICE:
    65 00064 0000                      NOP
    66 00065 1E90                      BANK    0
    67 00066 1800                      MOV     A, @0x00
    68 00067 0045                      MOV     PORT5, A
    69 00068 0046                      MOV     PORT6, A
    70 00069 0047                      MOV     PORT7, A
    71 0006A 0048                      MOV     PORT8, A
    72 0006B 1E91                      BANK    1
    73 0006C 1800                      MOV     A, @0x00
    74 0006D 0045                      MOV     IOC5, A
    75 0006E 0046                      MOV     IOC6, A
    76 0006F 0047                      MOV     IOC7, A
    77 00070 0048                      MOV     IOC8, A
    78 00071 1810                      MOV     A, @0x10
    79 00072 004E                      MOV     IMR1, A         ; Enable TCC interrupt
    80 00073 1E92                      BANK    2
    81 00074 180D                      MOV     A, @0x0D        ; TCC P --> 64
    82 00075 0045                      MOV     TCCCR, A
    83 00076 1E93                      BANK    3
    84 00077 00C5                      CLR     TCC
    85 00078 181F                      MOV     A, @0x1F        ; Select ekt8733, irc: 1*F
    86 00079 0046                      MOV     COBS1, A
    87 0007A 1830                      MOV     A, @0x30        ; Select IRC 4MHz
    88 0007B 0047                      MOV     COBS2, A
    89                                 ;-------------------------------------------
    90                                 ; TP set
    91 0007C 1E94                      BANK    4
    92 0007D 1820                      MOV     A, @0X20        ; Enable TP function, TP0 on
    93 0007E 0045                      MOV     TPCR1, A
    94 0007F 1821                      MOV     A, @0x21        ; TP detect frequency select F/8, PLL output Fr: 48MHz
    95 00080 0046                      MOV     TPCR2, A        ; System frequency(Fm) is IRC 4MHz, PLL clock source select Fm/2
    96 00081 1808                      MOV     A, @0x08        ; Disable TPIF/TPOIF interrupt, Touch pad read time: 4
    97 00082 0047                      MOV     TPCR3, A
    98 00083 180F                      MOV     A, @0x0F        ; Touch pad current: 10uA
    99 00084 004A                      MOV     TPCC, A
   100 00085 1801                      MOV     A, @0X01        ; Select TPEP0, other pin as IO pin
   101 00086 004C                      MOV     TPEPCR0, A
   102 00087 1800                      MOV     A, @0X00        ; Other pin as IO pin
   103 00088 004D                      MOV     TPEPCR1, A
   104 00089 004E                      MOV     TPEPCR2, A
   105 0008A 004F                      MOV     TPEPCR3, A
   106                                 ;-------------------------------------------
   107 0008B 1E90                      BANK    0
   108 0008C 0BD3                      BS      Key_Tone, PWON_AD
   109 0008D 1812                      MOV     A, @Key_Psd_Va
   110 0008E 0062                      MOV     KeyPsdValue, A
   111 0008F 1292                      CALL    DelaySomeT
   112 00090 0012                      RET
   113                     ;-----------------------------------------------------------------
   114 00091               MainReadTPVa:
   115 00091 0000                      NOP
   116 00092 1E90                      BANK    0
   117 00093 0420                      MOV     A, DitheringR
   118 00094 0E83                      JBS     status, z
   119 00095 01E0                      DEC     DitheringR
   120 00096 0421                      MOV     A, LOOSDitheringR
   121 00097 0E83                      JBS     status, z
   122 00098 01E1                      DEC     LOOSDitheringR
   123 00099 00D2                      CLR     TP_Psd_Flag
   124                                 ;---------------------------------------
   125                                 ; Check TP0
   126 0009A               Main_Chk_TP0:
   127 0009A 1E94                      BANK    4
   128 0009B 1820                      MOV     A, @0X20            ; TP0 switch on
   129 0009C 0045                      MOV     TPCR1, A
   130 0009D 1801                      MOV     A, @0X01            ; Select TP0, other pin as IO pin
   131 0009E 004C                      MOV     TPEPCR0, A
   132 0009F 1297                      CALL    TPVaRoutine         ; 320us * 2
   133 000A0 1820                      MOV     A, @TP0_NPsd_VAL
   134 000A1 1254                      CALL    ReleaseOldKeyVa
   135 000A2 1820                      MOV     A, @TP0_RlTm_VAL
   136 000A3 125F                      CALL    StoreRLKeyVa        ; Store the tp value currently.
   137 000A4 11EA                      CALL    CMP_TWO_Value
   138                     ;
   139 000A5 0C03                      JBC     status, c
   140 000A6 0A12                      BS      TP_Psd_Flag, TP0
   141                                 ;---------------------------------------
   142                                 ; Check TP1
   143 000A7               Main_Chk_TP1:
   144 000A7 1E94                      BANK    4
   145 000A8 1821                      MOV     A, @0X21            ; TP1 switch on
   146 000A9 0045                      MOV     TPCR1, A
   147 000AA 1802                      MOV     A, @0X02            ; Select TP1, Other pin as IO pin
   148 000AB 004C                      MOV     TPEPCR0, A
   149 000AC 1297                      CALL    TPVaRoutine
   150 000AD 1822                      MOV     A, @TP1_NPsd_VAL
   151 000AE 1254                      CALL    ReleaseOldKeyVa
   152 000AF 1822                      MOV     A, @TP1_RlTm_VAL
   153 000B0 125F                      CALL    StoreRLKeyVa
   154 000B1 11EA                      CALL    CMP_TWO_Value
   155 000B2 0C03                      JBC     status, c
   156 000B3 0A52                      BS      TP_Psd_Flag, TP1
   157                                 ;---------------------------------------
   158                                 ; Check TP2
   159 000B4               Main_Chk_TP2:
   160 000B4 1E94                      BANK    4
   161 000B5 1822                      MOV     A, @0X22            ; TP2 switch on
   162 000B6 0045                      MOV     TPCR1, A
   163 000B7 1804                      MOV     A, @0X04            ; Select TP2, Other pin as IO pin
   164 000B8 004C                      MOV     TPEPCR0, A
   165 000B9 1297                      CALL    TPVaRoutine
   166 000BA 1824                      MOV     A, @TP2_NPsd_VAL

⌨️ 快捷键说明

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