adc.asm

来自「ELAN eAM eDSP esL Serial an assembly ex」· 汇编 代码 · 共 60 行

ASM
60
字号

.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 + =
减小字号Ctrl + -
显示快捷键?