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

📄 main.asm

📁 HT45R35在触控按键中的应用 - 使用C语言
💻 ASM
📖 第 1 页 / 共 3 页
字号:
SET __ascr0
#line 325 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0fdh
MOV __ascr1,A
#line 326 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L65
L76:
#line 328 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr0
#line 329 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0fbh
MOV __ascr1,A
#line 330 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L65
L77:
#line 332 "E:\HT45R35 with C\Touch Key with C\main.c"
SET __ascr0
#line 333 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,0f7h
MOV __ascr1,A
L65:
#line 338 "E:\HT45R35 with C\Touch Key with C\main.c"
#pragma debug scope 13 1 ; 338 "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
CLR [0AH].0
RLC b0_6
MOV A,b0_6
ADD A,OFFSET _base
MOV b0_6,A
MOV A,BANK _base
MOV b0_6[1],A
MOV A,b0_6[1]
MOV [04H],A
MOV A,b0_6
MOV [03H],A
MOV A,[02H]
MOV b0_6,A
INC [03H]
MOV A,[02H]
MOV b0_6[1],A
MOV A,BANK _base_temp
MOV [04H],A
MOV A,OFFSET _base_temp
MOV [03H],A
MOV A,b0_6
MOV [02H],A
MOV A,b0_6[1]
INC [03H]
MOV [02H],A
#line 339 "E:\HT45R35 with C\Touch Key with C\main.c"
CALL _wait_overflow
#line 340 "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,__tmrah
MOV [02H],A
INC [03H]
CLR [02H]
#line 341 "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_6,A
INC [03H]
MOV A,[02H]
MOV b0_6[1],A
MOV A,b0_6
MOV b0_6[1],A
CLR b0_6
MOV A,BANK _data_temp
MOV [04H],A
MOV A,OFFSET _data_temp
MOV [03H],A
MOV A,b0_6
MOV [02H],A
MOV A,b0_6[1]
INC [03H]
MOV [02H],A
#line 342 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,__tmral
MOV b0_6,A
CLR b0_6[1]
MOV A,BANK _data_temp
MOV [04H],A
MOV A,OFFSET _data_temp
MOV [03H],A
MOV A,b0_6
ADDM A,[02H]
MOV A,b0_6[1]
INC [03H]
ADCM A,[02H]
#line 344 "E:\HT45R35 with C\Touch Key with C\main.c"
CLR _key_flag
#line 345 "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_6,A
INC [03H]
MOV A,[02H]
MOV b0_6[1],A
MOV A,BANK _base_temp
MOV [04H],A
MOV A,OFFSET _base_temp
MOV [03H],A
MOV A,[02H]
MOV b1_6,A
INC [03H]
MOV A,[02H]
MOV b1_6[1],A
MOV A,b0_6
SUB A,b1_6
MOV b0_6,A
MOV A,b0_6[1]
SBC A,b1_6[1]
MOV b0_6[1],A
MOV A,BANK _data_temp
MOV [04H],A
MOV A,OFFSET _data_temp
MOV [03H],A
MOV A,b0_6
MOV [02H],A
MOV A,b0_6[1]
INC [03H]
MOV [02H],A
#line 346 "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_6,A
INC [03H]
MOV A,[02H]
MOV b0_6[1],A
MOV A,80h
XOR A,b0_6[1]
SUB A,080h
SNZ [0AH].0
JMP L78
SNZ [0AH].2
JMP L85
MOV A,028h
SUB A,b0_6
SZ [0AH].0
JMP L78
L85:
MOV A,80h
XOR A,b0_6[1]
MOV RH,A
MOV A,080h
SUB A,RH
SNZ [0AH].0
JMP L78
SNZ [0AH].2
JMP L86
MOV A,b0_6
SUB A,0c8h
SZ [0AH].0
JMP L78
L86:
#line 347 "E:\HT45R35 with C\Touch Key with C\main.c"
SET _key_flag
L78:
#line 348 "E:\HT45R35 with C\Touch Key with C\main.c"
SNZ _key_flag
JMP L80
#pragma debug scope 15 13 ; 350 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 350 "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
MOV A,BANK _current_key
MOV [04H],A
MOV A,OFFSET _current_key
MOV [03H],A
MOV A,b0_6
MOV [02H],A
#line 351 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _total_key
MOV [04H],A
MOV A,OFFSET _total_key
MOV [03H],A
INC [02H]
#line 352 "E:\HT45R35 with C\Touch Key with C\main.c"
#pragma debug scope 13 1 ; 352 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L81
L80:
#line 354 "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
MOV A,b0_6
ADD A,OFFSET _press_on
MOV b0_6,A
MOV A,BANK _press_on
MOV b0_6[1],A
MOV A,b0_6[1]
MOV [04H],A
MOV A,b0_6
MOV [03H],A
MOV A,00h
MOV [02H],A
L81:
#line 356 "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]
#line 357 "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]
XOR A,0ch
SNZ [0AH].2
JMP L82
#pragma debug scope 16 13 ; 359 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 359 "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 360 "E:\HT45R35 with C\Touch Key with C\main.c"
SET _scan_flag
L82:
L63:
RET
LOCAL b0_6 DB 2 DUP(?)
LOCAL b1_6 DB 2 DUP(?)
_scan_key ENDP
#line 368 "E:\HT45R35 with C\Touch Key with C\main.c"
@key_check .SECTION 'CODE'
PUBLIC _key_check
_key_check PROC
#pragma debug scope 17 1 ; 369 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 369 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _total_key
MOV [04H],A
MOV A,OFFSET _total_key
MOV [03H],A
MOV A,[02H]
XOR A,01h
SNZ [0AH].2
JMP L88
#pragma debug scope 18 17 ; 371 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 371 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _last_key
MOV [04H],A
MOV A,OFFSET _last_key
MOV [03H],A
MOV A,[02H]
MOV b0_7,A
MOV A,BANK _current_key
MOV [04H],A
MOV A,OFFSET _current_key
MOV [03H],A
MOV A,[02H]
XOR A,b0_7
SNZ [0AH].2
JMP L89
#pragma debug scope 19 18 ; 373 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 373 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _sure_cnt
MOV [04H],A
MOV A,OFFSET _sure_cnt
MOV [03H],A
INC [02H]
#line 374 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _sure_cnt
MOV [04H],A
MOV A,OFFSET _sure_cnt
MOV [03H],A
MOV A,[02H]
SUB A,03h
SNZ [0AH].0
JMP L89
#pragma debug scope 20 19 ; 376 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 376 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _current_key
MOV [04H],A
MOV A,OFFSET _current_key
MOV [03H],A
MOV A,[02H]
MOV b0_7,A
MOV A,BANK _sure_key
MOV [04H],A
MOV A,OFFSET _sure_key
MOV [03H],A
MOV A,b0_7
MOV [02H],A
#line 377 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _sure_key
MOV [04H],A
MOV A,OFFSET _sure_key
MOV [03H],A
MOV A,[02H]
ADD A,1
ADD A,OFFSET l_table
CALL l_table
MOV __pb,A
#line 380 "E:\HT45R35 with C\Touch Key with C\main.c"
#pragma debug scope 17 1 ; 380 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L89
L88:
#line 382 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,07h
MOV __pb,A
L89:
#line 383 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _current_key
MOV [04H],A
MOV A,OFFSET _current_key
MOV [03H],A
MOV A,[02H]
MOV b0_7,A
MOV A,BANK _last_key
MOV [04H],A
MOV A,OFFSET _last_key
MOV [03H],A
MOV A,b0_7
MOV [02H],A
#line 384 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _total_key
MOV [04H],A
MOV A,OFFSET _total_key
MOV [03H],A
CLR [02H]
#line 385 "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 386 "E:\HT45R35 with C\Touch Key with C\main.c"
CLR _scan_flag
L87:
RET
LOCAL b0_7 DB 2 DUP(?)
_key_check ENDP
#line 393 "E:\HT45R35 with C\Touch Key with C\main.c"
@@isr_c .SECTION AT 0cH 'CODE'
JMP _isr_c
@isr_c .SECTION 'CODE'
_isr_c PROC
MOV VA,A
MOV A,[0AH]
MOV VS,A
MOV A,[03H]
MOV VMP1,A
MOV A,[04H]
MOV VBP,A
#pragma debug scope 21 1 ; 394 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 394 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _interrupt
MOV [04H],A
MOV A,OFFSET _interrupt
MOV [03H],A
MOV A,01h
ADDM A,[02H]
MOV A,00h
INC [03H]
ADCM A,[02H]
#line 395 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _interrupt
MOV [04H],A
MOV A,OFFSET _interrupt
MOV [03H],A
MOV A,[02H]
MOV b0_8,A
INC [03H]
MOV A,[02H]
MOV b0_8[1],A
MOV A,b0_8
XOR A,0d0h
SNZ [0AH].2
JMP L95
MOV A,b0_8[1]
XOR A,07h
SNZ [0AH].2
JMP L95
#pragma debug scope 22 21 ; 397 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 397 "E:\HT45R35 with C\Touch Key with C\main.c"
SET _update_flag
#line 398 "E:\HT45R35 with C\Touch Key with C\main.c"
MOV A,BANK _interrupt
MOV [04H],A
MOV A,OFFSET _interrupt
MOV [03H],A
CLR [02H]
INC [03H]
CLR [02H]
L95:
L94:
MOV A,VMP1
MOV [03H],A
MOV A,VBP
MOV [04H],A
MOV A,VS
MOV [0AH],A
MOV A,VA
RETI
_isr_c ENDP
RAMBANK 0 @isr_c
@isr_c .SECTION 'DATA'
b0_8 DB 2 DUP(?)
#line 406 "E:\HT45R35 with C\Touch Key with C\main.c"
@MAIN .SECTION 'CODE'
_main PROC
begin:
#pragma debug scope 23 1 ; 407 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 407 "E:\HT45R35 with C\Touch Key with C\main.c"
CALL _initial
#line 407 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L99
L98:
#pragma debug scope 24 23 ; 410 "E:\HT45R35 with C\Touch Key with C\main.c"
#line 410 "E:\HT45R35 with C\Touch Key with C\main.c"
SZ _scan_flag
JMP L101
#line 411 "E:\HT45R35 with C\Touch Key with C\main.c"
CALL _scan_key
#line 411 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L102
L101:
#line 413 "E:\HT45R35 with C\Touch Key with C\main.c"
CALL _key_check
L102:
#line 415 "E:\HT45R35 with C\Touch Key with C\main.c"
SNZ _update_flag
JMP L103
#line 416 "E:\HT45R35 with C\Touch Key with C\main.c"
CALL _update_base
L103:
L99:
#line 408 "E:\HT45R35 with C\Touch Key with C\main.c"
#pragma debug scope 23 1 ; 408 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP L98
L97:
#line 418 "E:\HT45R35 with C\Touch Key with C\main.c"
JMP $
_main ENDP
PUBLIC _base_current
@base_current .SECTION 'DATA'
#line 61 "E:\HT45R35 with C\Touch Key with C\main.c"
_base_current DB 24 DUP (?) ;base_current
#pragma debug variable  4 1 _base_current base_current
PUBLIC _base
@base .SECTION 'DATA'
#line 60 "E:\HT45R35 with C\Touch Key with C\main.c"
_base DB 24 DUP (?) ;base
#pragma debug variable  4 1 _base base
PUBLIC _press_on
@press_on .SECTION 'DATA'
#line 59 "E:\HT45R35 with C\Touch Key with C\main.c"
_press_on DB 12 DUP (?) ;press_on
#pragma debug variable  4 1 _press_on press_on
PUBLIC _interrupt
@interrupt .SECTION 'DATA'
#line 57 "E:\HT45R35 with C\Touch Key with C\main.c"
_interrupt DB 2 DUP (?) ;interrupt
#pragma debug variable  10 1 _interrupt interrupt
PUBLIC _base_temp
@base_temp .SECTION 'DATA'
#line 56 "E:\HT45R35 with C\Touch Key with C\main.c"
_base_temp DB 2 DUP (?) ;base_temp
#pragma debug variable  10 1 _base_temp base_temp
PUBLIC _data_temp
@data_temp .SECTION 'DATA'
#line 55 "E:\HT45R35 with C\Touch Key with C\main.c"
_data_temp DB 2 DUP (?) ;data_temp
#pragma debug variable  9 1 _data_temp data_temp
PUBLIC _total_key
@total_key .SECTION 'DATA'
#line 53 "E:\HT45R35 with C\Touch Key with C\main.c"
_total_key DB ? ; total_key
#pragma debug variable  8 1 _total_key total_key
PUBLIC _sure_cnt
@sure_cnt .SECTION 'DATA'
#line 52 "E:\HT45R35 with C\Touch Key with C\main.c"
_sure_cnt DB ? ; sure_cnt
#pragma debug variable  8 1 _sure_cnt sure_cnt
PUBLIC _last_key
@last_key .SECTION 'DATA'
#line 51 "E:\HT45R35 with C\Touch Key with C\main.c"
_last_key DB ? ; last_key
#pragma debug variable  8 1 _last_key last_key
PUBLIC _current_key
@current_key .SECTION 'DATA'
#line 50 "E:\HT45R35 with C\Touch Key with C\main.c"
_current_key DB ? ; current_key
#pragma debug variable  8 1 _current_key current_key
PUBLIC _sure_key
@sure_key .SECTION 'DATA'
#line 49 "E:\HT45R35 with C\Touch Key with C\main.c"
_sure_key DB ? ; sure_key
#pragma debug variable  8 1 _sure_key sure_key
PUBLIC _cnt4
@cnt4 .SECTION 'DATA'
#line 48 "E:\HT45R35 with C\Touch Key with C\main.c"
_cnt4 DB ? ; cnt4
#pragma debug variable  8 1 _cnt4 cnt4
PUBLIC _cnt3
@cnt3 .SECTION 'DATA'
#line 47 "E:\HT45R35 with C\Touch Key with C\main.c"
_cnt3 DB ? ; cnt3
#pragma debug variable  8 1 _cnt3 cnt3
PUBLIC _cnt2
@cnt2 .SECTION 'DATA'
#line 46 "E:\HT45R35 with C\Touch Key with C\main.c"
_cnt2 DB ? ; cnt2
#pragma debug variable  8 1 _cnt2 cnt2
PUBLIC _cnt1
@cnt1 .SECTION 'DATA'
#line 45 "E:\HT45R35 with C\Touch Key with C\main.c"
_cnt1 DB ? ; cnt1
#pragma debug variable  8 1 _cnt1 cnt1
PUBLIC _rf_cx
@rf_cx .SECTION 'DATA'
#line 44 "E:\HT45R35 with C\Touch Key with C\main.c"
_rf_cx DB ? ; rf_cx
#pragma debug variable  8 1 _rf_cx rf_cx
RAMBANK 0 BITDATASEC
BITDATASEC .SECTION 'DATA'
PUBLIC _update_flag
#line 41 "E:\HT45R35 with C\Touch Key with C\main.c"
_update_flag DBIT ; update_flag
#pragma debug variable  2 1 _update_flag update_flag
PUBLIC _scan_flag
#line 40 "E:\HT45R35 with C\Touch Key with C\main.c"
_scan_flag DBIT ; scan_flag
#pragma debug variable  2 1 _scan_flag scan_flag
PUBLIC _key_flag
#line 39 "E:\HT45R35 with C\Touch Key with C\main.c"
_key_flag DBIT ; key_flag
#pragma debug variable  2 1 _key_flag key_flag
#line 405 "E:\HT45R35 with C\Touch Key with C\main.c"
STARTSEC .SECTION 'CODE'
STARTUP:
RET
EXTERN RH:BYTE
EXTERN VA:BYTE
EXTERN VS:BYTE
EXTERN VMP1:BYTE
EXTERN VBP:BYTE
EXTERN __DELAYX0:NEAR
EXTERN __DELAYX1:NEAR
EXTERN __DELAYX2:NEAR
EXTERN __DELAYX3:NEAR
EXTERN __DELAYX4:NEAR
EXTERN __DELAYX5:NEAR
EXTERN __DELAYX6:NEAR
#line 405 "E:\HT45R35 with C\Touch Key with C\main.c"
@CODE .SECTION AT 0 'CODE'
JMP begin
@DUMMY PROC
CALL _main
@DUMMY ENDP
ROMBANK 0 @DUMMYNOP 
@DUMMYNOP .SECTION AT 07ffh 'CODE'
  nop

⌨️ 快捷键说明

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