📄 adc.asm
字号:
.IFNDEF @_ADC_ASM
@_ADC_ASM .EQU 1
.include "registerext.def"
.CODE _ADC_MACRO_
;*******************AD MACRO*******************************
;**********************************************************
AD_SINGLE .MACRO P_AD_CHS,P_AD_CLK
PUSH IO[SR]
PUSH R0
R0 = IO[ADCON]
R0 = R0 AND #0x0F00 ;Reserve Touch panel bits!
R0 = #((1<<ADEN)+((7&P_AD_CLK)<<ADCLK0)+((7&P_AD_CHS)<<CHS0)+(0<<ADMOD)+(1<<ADST))
IO[ADCON] = R0
POP R0
POP IO[SR]
.ENDM
;**********************************************************
;**********************************************************
AD_FREERUN .MACRO P_AD_CHS, P_AD_CLK
PUSH IO[SR]
PUSH R0
R0 = IO[ADCON]
R0 = R0 AND #0x0F00 ;Reserve Touch panel bits!
R0 = #((1<<ADEN)+((7&P_AD_CLK)<<ADCLK0)+((7&P_AD_CHS)<<CHS0)+(1<<ADMOD)+(1<<ADST))
IO[ADCON] = R0
POP R0
POP IO[SR]
.ENDM
;**********************************************************
;**********************************************************
AD_OFF .MACRO
PUSH IO[SR]
PUSH R0
R0 = IO[ADCON]
BC R0.ADST
BC R0.ADMOD
BC R0.ADEN ;A/D circuit Disable!
IO[ADCON] = R0
POP R0
POP IO[SR]
.ENDM
;**********************************************************
;**********************************************************
AD_READ .MACRO
R0 = IO[ADCD]
.ENDM
;**********************************************************
;*******************AD MACRO*******************************
.ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -