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

📄 ex_support.lis

📁 LCD1602键盘显示模块实例
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00C4 8695              lsr R24
 00C6 8695              lsr R24
 00C8 8695              lsr R24
 00CA 8170              andi R24,1
 00CC 09F4              brne L22
 00CE           X6:
 00CE                   .dbline 173
 00CE           ;     {
 00CE                   .dbline 174
 00CE           ;         cKeyScanValue = 0x03;
 00CE 03E0              ldi R16,3
 00D0                   .dbline 175
 00D0           ;     }
 00D0           L22:
 00D0                   .dbline 178
 00D0           ;     
 00D0           ;     //扫描第二行
 00D0           ;     SET_KEY_OUT_ALL_PORT_HIGH
 00D0 82B3              in R24,0x12
 00D2 8C67              ori R24,124
 00D4 82BB              out 0x12,R24
 00D6                   .dbline 179
 00D6           ;     KEY_OUT_Y_P2 = LOW;
 00D6 82B3              in R24,0x12
 00D8 877F              andi R24,247
 00DA 82BB              out 0x12,R24
 00DC                   .dbline 180
 00DC           ;     NOP();
 00DC 0000              nop
 00DE                   .dbline 181
 00DE           ;     if (!KEY_IN_X_P1)
 00DE 83B3              in R24,0x13
 00E0 8695              lsr R24
 00E2 8695              lsr R24
 00E4 8170              andi R24,1
 00E6 09F4              brne L24
 00E8           X7:
 00E8                   .dbline 182
 00E8           ;     {
 00E8                   .dbline 183
 00E8           ;         cKeyScanValue = 0x04;
 00E8 04E0              ldi R16,4
 00EA                   .dbline 184
 00EA           ;     }
 00EA           L24:
 00EA                   .dbline 185
 00EA           ;     if (!KEY_IN_X_P2)
 00EA 83B3              in R24,0x13
 00EC 8695              lsr R24
 00EE 8695              lsr R24
 00F0 8695              lsr R24
 00F2 8170              andi R24,1
 00F4 09F4              brne L26
 00F6           X8:
 00F6                   .dbline 186
 00F6           ;     {
 00F6                   .dbline 187
 00F6           ;         cKeyScanValue = 0x05;
 00F6 05E0              ldi R16,5
 00F8                   .dbline 188
 00F8           ;     }
 00F8           L26:
 00F8                   .dbline 189
 00F8           ;     if (!KEY_IN_X_P3)
 00F8 83B3              in R24,0x13
 00FA 8295              swap R24
 00FC 8F70              andi R24,#0x0F
 00FE 8170              andi R24,1
 0100 09F4              brne L28
 0102           X9:
 0102                   .dbline 190
 0102           ;     {
 0102                   .dbline 191
 0102           ;         cKeyScanValue = 0x06;
 0102 06E0              ldi R16,6
 0104                   .dbline 192
 0104           ;     }
 0104           L28:
 0104                   .dbline 193
 0104           ;     if (!KEY_IN_X_P4)
 0104 83B3              in R24,0x13
 0106 8695              lsr R24
 0108 8695              lsr R24
 010A 8695              lsr R24
 010C 8695              lsr R24
 010E 8695              lsr R24
 0110 8170              andi R24,1
 0112 09F4              brne L30
 0114           X10:
 0114                   .dbline 194
 0114           ;     {
 0114                   .dbline 195
 0114           ;         cKeyScanValue = 0x07;
 0114 07E0              ldi R16,7
 0116                   .dbline 196
 0116           ;     }
 0116           L30:
 0116                   .dbline 199
 0116           ;     
 0116           ;     //扫描第三行
 0116           ;     SET_KEY_OUT_ALL_PORT_HIGH
 0116 82B3              in R24,0x12
 0118 8C67              ori R24,124
 011A 82BB              out 0x12,R24
 011C                   .dbline 200
 011C           ;     KEY_OUT_Y_P3 = LOW;
 011C 82B3              in R24,0x12
 011E 8F7E              andi R24,239
 0120 82BB              out 0x12,R24
 0122                   .dbline 201
 0122           ;     NOP();
 0122 0000              nop
 0124                   .dbline 202
 0124           ;     if (!KEY_IN_X_P1)
 0124 83B3              in R24,0x13
 0126 8695              lsr R24
 0128 8695              lsr R24
 012A 8170              andi R24,1
 012C 09F4              brne L32
 012E           X11:
 012E                   .dbline 203
 012E           ;     {
 012E                   .dbline 204
 012E           ;         cKeyScanValue = 0x08;
 012E 08E0              ldi R16,8
 0130                   .dbline 205
 0130           ;     }
 0130           L32:
 0130                   .dbline 206
 0130           ;     if (!KEY_IN_X_P2)
 0130 83B3              in R24,0x13
 0132 8695              lsr R24
 0134 8695              lsr R24
 0136 8695              lsr R24
 0138 8170              andi R24,1
 013A 09F4              brne L34
 013C           X12:
 013C                   .dbline 207
 013C           ;     {
 013C                   .dbline 208
 013C           ;         cKeyScanValue = 0x09;
 013C 09E0              ldi R16,9
 013E                   .dbline 209
 013E           ;     }
 013E           L34:
 013E                   .dbline 210
 013E           ;     if (!KEY_IN_X_P3)
 013E 83B3              in R24,0x13
 0140 8295              swap R24
 0142 8F70              andi R24,#0x0F
 0144 8170              andi R24,1
 0146 09F4              brne L36
 0148           X13:
 0148                   .dbline 211
 0148           ;     {
 0148                   .dbline 212
 0148           ;         cKeyScanValue = 0x0a;
 0148 0AE0              ldi R16,10
 014A                   .dbline 213
 014A           ;     }
 014A           L36:
 014A                   .dbline 214
 014A           ;     if (!KEY_IN_X_P4)
 014A 83B3              in R24,0x13
 014C 8695              lsr R24
 014E 8695              lsr R24
 0150 8695              lsr R24
 0152 8695              lsr R24
 0154 8695              lsr R24
 0156 8170              andi R24,1
 0158 09F4              brne L38
 015A           X14:
 015A                   .dbline 215
 015A           ;     {
 015A                   .dbline 216
 015A           ;         cKeyScanValue = 0x0b;
 015A 0BE0              ldi R16,11
 015C                   .dbline 217
 015C           ;     }
 015C           L38:
 015C                   .dbline 220
 015C           ;     
 015C           ;     //扫描第四行
 015C           ;     SET_KEY_OUT_ALL_PORT_HIGH
 015C 82B3              in R24,0x12
 015E 8C67              ori R24,124
 0160 82BB              out 0x12,R24
 0162                   .dbline 221
 0162           ;     KEY_OUT_Y_P4 = LOW;
 0162 82B3              in R24,0x12
 0164 8F7D              andi R24,223
 0166 82BB              out 0x12,R24
 0168                   .dbline 222
 0168           ;     NOP();
 0168 0000              nop
 016A                   .dbline 223
 016A           ;     if (!KEY_IN_X_P1)
 016A 83B3              in R24,0x13
 016C 8695              lsr R24
 016E 8695              lsr R24
 0170 8170              andi R24,1
 0172 09F4              brne L40
 0174           X15:
 0174                   .dbline 224
 0174           ;     {
 0174                   .dbline 225
 0174           ;         cKeyScanValue = 0x0c;
 0174 0CE0              ldi R16,12
 0176                   .dbline 226
 0176           ;     }
 0176           L40:
 0176                   .dbline 227
 0176           ;     if (!KEY_IN_X_P2)
 0176 83B3              in R24,0x13
 0178 8695              lsr R24
 017A 8695              lsr R24
 017C 8695              lsr R24
 017E 8170              andi R24,1
 0180 09F4              brne L42
 0182           X16:
 0182                   .dbline 228
 0182           ;     {
 0182                   .dbline 229
 0182           ;         cKeyScanValue = 0x0d;
 0182 0DE0              ldi R16,13
 0184                   .dbline 230
 0184           ;     }
 0184           L42:
 0184                   .dbline 231
 0184           ;     if (!KEY_IN_X_P3)
 0184 83B3              in R24,0x13
 0186 8295              swap R24
 0188 8F70              andi R24,#0x0F
 018A 8170              andi R24,1
 018C 09F4              brne L44
 018E           X17:
 018E                   .dbline 232
 018E           ;     {
 018E                   .dbline 233
 018E           ;         cKeyScanValue = 0x0e;
 018E 0EE0              ldi R16,14
 0190                   .dbline 234
 0190           ;     }
 0190           L44:
 0190                   .dbline 235
 0190           ;     if (!KEY_IN_X_P4)
 0190 83B3              in R24,0x13
 0192 8695              lsr R24
 0194 8695              lsr R24
 0196 8695              lsr R24
 0198 8695              lsr R24
 019A 8695              lsr R24
 019C 8170              andi R24,1
 019E 09F4              brne L46
 01A0           X18:
 01A0                   .dbline 236
 01A0           ;     {
 01A0                   .dbline 237
 01A0           ;         cKeyScanValue = 0x0f;
 01A0 0FE0              ldi R16,15
 01A2                   .dbline 238
 01A2           ;     }
 01A2           L46:
 01A2                   .dbline 241
 01A2           ;     
 01A2           ;     //扫描第五行
 01A2           ;     SET_KEY_OUT_ALL_PORT_HIGH
 01A2 82B3              in R24,0x12
 01A4 8C67              ori R24,124
 01A6 82BB              out 0x12,R24
 01A8                   .dbline 242
 01A8           ;     KEY_OUT_Y_P5 = LOW;
 01A8 82B3              in R24,0x12
 01AA 8F7B              andi R24,191
 01AC 82BB              out 0x12,R24
 01AE                   .dbline 243
 01AE           ;     NOP();
 01AE 0000              nop
 01B0                   .dbline 244
 01B0           ;     if (!KEY_IN_X_P1)
 01B0 83B3              in R24,0x13
 01B2 8695              lsr R24
 01B4 8695              lsr R24
 01B6 8170              andi R24,1
 01B8 09F4              brne L48
 01BA           X19:
 01BA                   .dbline 245
 01BA           ;     {
 01BA                   .dbline 246
 01BA           ;         cKeyScanValue = 0x10;
 01BA 00E1              ldi R16,16
 01BC                   .dbline 247
 01BC           ;     }
 01BC           L48:
 01BC                   .dbline 248
 01BC           ;     if (!KEY_IN_X_P2)
 01BC 83B3              in R24,0x13
 01BE 8695              lsr R24
 01C0 8695              lsr R24
 01C2 8695              lsr R24
 01C4 8170              andi R24,1
 01C6 09F4              brne L50
 01C8           X20:
 01C8                   .dbline 249
 01C8           ;     {
 01C8                   .dbline 250
 01C8           ;         cKeyScanValue = 0x11;
 01C8 01E1              ldi R16,17
 01CA                   .dbline 251
 01CA           ;     }
 01CA           L50:
 01CA                   .dbline 252
 01CA           ;     if (!KEY_IN_X_P3)
 01CA 83B3              in R24,0x13
 01CC 8295              swap R24
 01CE 8F70              andi R24,#0x0F
 01D0 8170              andi R24,1
 01D2 09F4              brne L52
 01D4           X21:
 01D4                   .dbline 253
 01D4           ;     {
 01D4                   .dbline 254
 01D4           ;         cKeyScanValue = 0x12;
 01D4 02E1              ldi R16,18
 01D6                   .dbline 255
 01D6           ;     }
 01D6           L52:
 01D6                   .dbline 256
 01D6           ;     if (!KEY_IN_X_P4)
 01D6 83B3              in R24,0x13
 01D8 8695              lsr R24
 01DA 8695              lsr R24
 01DC 8695              lsr R24
 01DE 8695              lsr R24
 01E0 8695              lsr R24
 01E2 8170              andi R24,1
 01E4 09F4              brne L54
 01E6           X22:
 01E6                   .dbline 257
 01E6           ;     {
 01E6                   .dbline 258
 01E6           ;         cKeyScanValue = 0x13;
 01E6 03E1              ldi R16,19
 01E8                   .dbline 259
 01E8           ;     }
 01E8           L54:
 01E8                   .dbline 261
 01E8           ;     
 01E8           ;     return cKeyScanValue;
 01E8                   .dbline -2
 01E8           L15:
 01E8                   .dbline 0 ; func end
 01E8 0895              ret
 01EA                   .dbsym r cKeyScanValue0 16 c
 01EA                   .dbend
 01EA           ;     
 01EA           ; }

⌨️ 快捷键说明

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