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

📄 main.asm

📁 HT45R35在触控按键中的应用 - 使用C语言
💻 ASM
📖 第 1 页 / 共 3 页
字号:
CLR [02H]
#line 210 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L40
L37:
#pragma debug scope 10 9 ; 212 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 212 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
MOV A,[02H]
MOV b0_5,A
SZ b0_5
JMP L61
JMP L43
L61:
MOV A,b0_5
XOR A,01h
SZ [0ah].2
JMP L44
MOV A,b0_5
XOR A,02h
SZ [0ah].2
JMP L45
MOV A,b0_5
XOR A,03h
SZ [0ah].2
JMP L46
MOV A,b0_5
XOR A,04h
SZ [0ah].2
JMP L47
MOV A,b0_5
XOR A,05h
SZ [0ah].2
JMP L48
MOV A,b0_5
XOR A,06h
SZ [0ah].2
JMP L49
MOV A,b0_5
XOR A,07h
SZ [0ah].2
JMP L50
MOV A,b0_5
XOR A,08h
SZ [0ah].2
JMP L51
MOV A,b0_5
XOR A,09h
SZ [0ah].2
JMP L52
MOV A,b0_5
XOR A,0ah
SZ [0ah].2
JMP L53
MOV A,b0_5
XOR A,0bh
SZ [0ah].2
JMP L54
#line 212 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L41
L43:
#pragma debug scope 11 10 ; 215 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 215 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0feh
MOV __ascr0,A
#line 216 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 217 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L42
L44:
#line 219 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0fdh
MOV __ascr0,A
#line 220 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 221 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L42
L45:
#line 223 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0fbh
MOV __ascr0,A
#line 224 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 225 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L42
L46:
#line 227 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0f7h
MOV __ascr0,A
#line 228 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 229 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L42
L47:
#line 231 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0efh
MOV __ascr0,A
#line 232 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 233 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L42
L48:
#line 235 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0dfh
MOV __ascr0,A
#line 236 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 237 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L42
L49:
#line 239 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0bfh
MOV __ascr0,A
#line 240 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 241 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L42
L50:
#line 243 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,07fh
MOV __ascr0,A
#line 244 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 245 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L42
L51:
#line 247 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr0
#line 248 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0feh
MOV __ascr1,A
#line 249 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L42
L52:
#line 251 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr0
#line 252 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0fdh
MOV __ascr1,A
#line 253 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L42
L53:
#line 255 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr0
#line 256 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0fbh
MOV __ascr1,A
#line 257 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L42
L54:
#line 259 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr0
#line 260 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0f7h
MOV __ascr1,A
L41:
L42:
#line 263 "E:\HT45R35 with C\Touch Key with C\main.c"
#pragma debug scope 10 9 ; 263 "E:\HT45R35 with C\Touch Key with C\main.c"
CALL _wait_overflow
#line 264 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
MOV A,[02H]
MOV b0_5,A
CLR [0AH].0
RLC b0_5
MOV A,b0_5
ADD A,OFFSET _base_current
MOV b0_5,A
MOV A,BANK _base_current
MOV b0_5[1],A
MOV A,__tmrah
MOV b1_5,A
CLR b1_5[1]
MOV A,b0_5[1]
MOV [04H],A
MOV A,b0_5
MOV [03H],A
MOV A,b1_5
MOV [02H],A
INC [03H]
MOV A,b1_5[1]
MOV [02H],A
#line 265 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
MOV A,[02H]
MOV b0_5,A
CLR [0AH].0
RLC b0_5
MOV A,b0_5
ADD A,OFFSET _base_current
MOV b0_5,A
MOV A,BANK _base_current
MOV b0_5[1],A
MOV A,b0_5[1]
MOV [04H],A
MOV A,b0_5
MOV [03H],A
MOV A,[02H]
MOV b1_5,A
INC [03H]
MOV A,[02H]
MOV b1_5[1],A
MOV A,b1_5
MOV b1_5[1],A
CLR b1_5
MOV A,b0_5[1]
MOV [04H],A
MOV A,b0_5
MOV [03H],A
MOV A,b1_5
MOV [02H],A
INC [03H]
MOV A,b1_5[1]
MOV [02H],A
#line 266 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
MOV A,[02H]
MOV b0_5,A
CLR [0AH].0
RLC b0_5
MOV A,b0_5
ADD A,OFFSET _base_current
MOV b0_5,A
MOV A,BANK _base_current
MOV b0_5[1],A
MOV A,b0_5[1]
MOV [04H],A
MOV A,b0_5
MOV [03H],A
MOV A,[02H]
MOV b1_5,A
INC [03H]
MOV A,[02H]
MOV b1_5[1],A
MOV A,__tmral
MOV b2_5,A
CLR b2_5[1]
MOV A,b2_5
ADD A,b1_5
MOV b1_5,A
MOV A,b2_5[1]
ADC A,b1_5[1]
MOV b1_5[1],A
MOV A,b0_5[1]
MOV [04H],A
MOV A,b0_5
MOV [03H],A
MOV A,b1_5
MOV [02H],A
INC [03H]
MOV A,b1_5[1]
MOV [02H],A
L38:
#line 210 "E:\HT45R35 with C\Touch Key with C\main.c"
#pragma debug scope 9 1 ; 210 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
INC [02H]
L40:
#line 210 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
MOV A,[02H]
SUB A,0ch
SNZ [0AH].0
JMP L37
#line 269 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
CLR [02H]
#line 269 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L58
L55:
#pragma debug scope 12 9 ; 271 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 271 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
MOV A,[02H]
MOV b0_5,A
CLR [0AH].0
RLCA b0_5
MOV b1_5,A
MOV A,b1_5
ADD A,OFFSET _base_current
MOV b1_5,A
MOV A,BANK _base_current
MOV b1_5[1],A
MOV A,b1_5[1]
MOV [04H],A
MOV A,b1_5
MOV [03H],A
MOV A,[02H]
MOV b1_5,A
INC [03H]
MOV A,[02H]
MOV b1_5[1],A
CLR [0AH].0
RLCA b0_5
MOV b0_5,A
MOV A,b0_5
ADD A,OFFSET _base
MOV b0_5,A
MOV A,BANK _base
MOV b0_5[1],A
MOV A,b0_5[1]
MOV [04H],A
MOV A,b0_5
MOV [03H],A
MOV A,[02H]
MOV b0_5,A
INC [03H]
MOV A,[02H]
MOV b0_5[1],A
MOV A,b1_5
SUB A,b0_5
MOV b0_5,A
MOV A,b1_5[1]
SBC A,b0_5[1]
MOV b0_5[1],A
MOV A,BANK _data_temp
MOV [04H],A
MOV A,OFFSET _data_temp
MOV [03H],A
MOV A,b0_5
MOV [02H],A
MOV A,b0_5[1]
INC [03H]
MOV [02H],A
#line 272 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _data_temp
MOV [04H],A
MOV A,OFFSET _data_temp
MOV [03H],A
MOV A,[02H]
MOV b0_5,A
INC [03H]
MOV A,[02H]
MOV b0_5[1],A
MOV A,80h
XOR A,b0_5[1]
MOV RH,A
MOV A,080h
SUB A,RH
SNZ [0AH].0
JMP L59
SNZ [0AH].2
JMP L62
MOV A,b0_5
SUB A,028h
SZ [0AH].0
JMP L59
L62:
#line 273 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
MOV A,[02H]
MOV b0_5,A
CLR [0AH].0
RLCA b0_5
MOV b1_5,A
MOV A,b1_5
ADD A,OFFSET _base
MOV b1_5,A
MOV A,BANK _base
MOV b1_5[1],A
CLR [0AH].0
RLCA b0_5
MOV b0_5,A
MOV A,b0_5
ADD A,OFFSET _base_current
MOV b0_5,A
MOV A,BANK _base_current
MOV b0_5[1],A
MOV A,b0_5[1]
MOV [04H],A
MOV A,b0_5
MOV [03H],A
MOV A,[02H]
MOV b0_5,A
INC [03H]
MOV A,[02H]
MOV b0_5[1],A
MOV A,b1_5[1]
MOV [04H],A
MOV A,b1_5
MOV [03H],A
MOV A,b0_5
MOV [02H],A
INC [03H]
MOV A,b0_5[1]
MOV [02H],A
L59:
L56:
#line 269 "E:\HT45R35 with C\Touch Key with C\main.c"
#pragma debug scope 9 1 ; 269 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
INC [02H]
L58:
#line 269 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
MOV A,[02H]
SUB A,0ch
SNZ [0AH].0
JMP L55
#line 276 "E:\HT45R35 with C\Touch Key with C\main.c"
CLR _update_flag
#line 277 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
CLR [02H]
L36:
RET
LOCAL b0_5 DB 2 DUP(?)
LOCAL b1_5 DB 2 DUP(?)
LOCAL b2_5 DB 2 DUP(?)
_update_base ENDP
#line 284 "E:\HT45R35 with C\Touch Key with C\main.c"
@scan_key .SECTION 'CODE'
PUBLIC _scan_key
_scan_key PROC
#pragma debug scope 13 1 ; 285 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 285 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _rf_cx
MOV [04H],A
MOV A,OFFSET _rf_cx
MOV [03H],A
MOV A,[02H]
MOV b0_6,A
SZ b0_6
JMP L84
JMP L66
L84:
MOV A,b0_6
XOR A,01h
SZ [0ah].2
JMP L67
MOV A,b0_6
XOR A,02h
SZ [0ah].2
JMP L68
MOV A,b0_6
XOR A,03h
SZ [0ah].2
JMP L69
MOV A,b0_6
XOR A,04h
SZ [0ah].2
JMP L70
MOV A,b0_6
XOR A,05h
SZ [0ah].2
JMP L71
MOV A,b0_6
XOR A,06h
SZ [0ah].2
JMP L72
MOV A,b0_6
XOR A,07h
SZ [0ah].2
JMP L73
MOV A,b0_6
XOR A,08h
SZ [0ah].2
JMP L74
MOV A,b0_6
XOR A,09h
SZ [0ah].2
JMP L75
MOV A,b0_6
XOR A,0ah
SZ [0ah].2
JMP L76
MOV A,b0_6
XOR A,0bh
SZ [0ah].2
JMP L77
#line 285 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L65
L66:
#pragma debug scope 14 13 ; 288 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 288 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0feh
MOV __ascr0,A
#line 289 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 290 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L65
L67:
#line 292 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0fdh
MOV __ascr0,A
#line 293 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 294 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L65
L68:
#line 296 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0fbh
MOV __ascr0,A
#line 297 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 298 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L65
L69:
#line 300 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0f7h
MOV __ascr0,A
#line 301 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 302 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L65
L70:
#line 304 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0efh
MOV __ascr0,A
#line 305 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 306 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L65
L71:
#line 308 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0dfh
MOV __ascr0,A
#line 309 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 310 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L65
L72:
#line 312 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0bfh
MOV __ascr0,A
#line 313 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 314 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L65
L73:
#line 316 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,07fh
MOV __ascr0,A
#line 317 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr1
#line 318 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L65
L74:
#line 320 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr0
#line 321 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0feh
MOV __ascr1,A
#line 322 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L65
L75:
#line 324 "E:\HT45R35 with C\Touch Key with C\main.c"

⌨️ 快捷键说明

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