logo
HomeAbout  |  Products  |  ApplicationsDownload  |  Contact Us  |  中文
 
Home-> Products-> 8-bit MCU
 
IC Induction
Develop & Tool
Application Project
Customer Service
 
Quick Coding
1 IO Ports 2 AD Converter
3 Timers 4 Capture
5 Compare 6 PWM 7 Interval Timer and Buzzer 8 External Interrupts
9 SPI 10 UART 11 LVR 12 Watch Dog Timer
13 STOP Mode 14 HALT Mode    

2 AD Converter

1. Enable ADC function in PA and perform AD conversion with PA1 by interrupt

lda #$FF
sta P_IOA_Attrib ;PA as float

lda #C_AD_CE ;Enable ADC power
sta P_AD_Ctrl2
lda #(C_AD_EN+C_AD_CS_8+C_AD_RDY)
sta P_AD_Ctrl0 ;Enable ADC function, ADC clock = Fsys(8MHz)/8 = 1MHz(max)
lda #(C_AD_Pin0+C_AD_Pin1+C_AD_Pin2+C_AD_Pin3+C_AD_Pin4+C_AD_Pin5+C_AD_Pin6+C_AD_Pin7)
;Set analog PIN, PA[7:0] as AN[7:0] sta P_AD_Ctrl1
lda #(C_AD_CE+C_AD_Ch1) ;select AN1
sta P_AD_Ctrl2
clr P_AD_Ctrl0, CB_AD_Start ;start convert
set P_INT_Flag0, CB_INT_ADIF
;clear INT request flag
set P_INT_Ctrl0, CB_INT_ADIE
;enable AD INT
cli ;enable INT
Loop:
jmp Loop

2. Enable ADC function in PA and perform AD conversion with PA1 by polling method

 

lda #$FF
sta P_IOA_Attrib ;PA as float

lda #C_AD_CE ;Enable ADC power
sta P_AD_Ctrl2
lda #(C_AD_EN+C_AD_CS_8+C_AD_RDY)
sta P_AD_Ctrl0 ;Enable ADC function, ADC clock = Fsys(8MHz)/8 = 1MHz(max)
lda #(C_AD_Pin0+C_AD_Pin1+C_AD_Pin2+C_AD_Pin3+C_AD_Pin4+C_AD_Pin5+C_AD_Pin6+C_AD_Pin7)
;Set analog PIN, PA[7:0] as AN[7:0] sta P_AD_Ctrl1
lda #(C_AD_CE+C_AD_Ch1) ;select AN1
sta P_AD_Ctrl2
clr P_AD_Ctrl0, CB_AD_Start ;start convert
set P_INT_Flag0, CB_INT_ADIF ;clear INT request flag
Loop:
tst P_INT_Flag0, CB_INT_ADIF
beq Loop
set P_INT_Flag0, CB_INT_ADIF
lda P_AD_DataHi ;read high 8 bit convert reasult
nop
clr P_AD_Ctrl0, CB_AD_Start ;start convert
jmp Loop


Copyright © BEIJING SUNNORTH TECHNOLOGY CO., LTD Web site:mcu.sunplusmcu.com online real name:凌阳单片机
Unauthorized copy or republish to the content of this website is forbidden. Any one cannot resume on ICP备05061966号