ADC0832的简单应用
图1
上图中说明了,ADC0832的封装以及工作模式的选取...
图2
此图说明了ADC0832的工作时序..时钟与DI,DO输入,输出的关系..
下面是测试程序,选择CH1,单片机晶振为,18.432MHz
;ADC0832简单测试(改)
A_0832_CS EQU P1.0 ;CS
A_0832_CLK EQU P1.1 ;CLK
A_0832_DI EQU P1.2 ;DI
A_0832_D EQU P1.3 ;DO
A_0832_T EQU 40H ;读取时的脉冲计数
A_0832_DA EQU 41H ;数据所存位置
ORG 0
LJMP MAIN
ORG 30H
MAIN: LCALL ADC_RD
MOV A,A_0832_DA
AJMP $
ADC_RD:
MOV A_0832_T,#8
CLR A_0832_CLK
CLR A_0832_CS
SETB A_0832_DI ;START
SETB A_0832_CLK ;第一个上升沿
NOP
NOP
NOP
CLR A_0832_CLK
NOP
NOP
SETB A_0832_DI ;选择CH1,通过组合选取通道(SGL/DIF)
NOP
SETB A_0832_CLK ;第二个上升沿
NOP
NOP
NOP
CLR A_0832_CLK
NOP
NOP
SETB A_0832_DI ;选择CH1,通过组合选取通道(ODD/SIGN)
NOP
SETB A_0832_CLK ;第三个上升沿
NOP
NOP
NOP
CLR A_0832_CLK ;首个下降沿
NOP
NOP
NOP
SETB A_0832_CLK
NOP
NOP
A_0832_RD: ;读取前,8位
CLR A_0832_CLK
NOP
NOP
NOP
SETB A_0832_CLK
MOV C,A_0832_D
RLC A
DJNZ A_0832_T,A_0832_RD
MOV A_0832_DA,A
RR A
MOV A_0832_T,#7
A_0832_RD1: ;读后7位,+前1位
CLR A_0832_CLK
NOP
NOP
NOP
SETB A_0832_CLK
MOV C,A_0832_D
RRC A
DJNZ A_0832_T,A_0832_RD1
CJNE A,A_0832_DA,ADC_RD
SETB A_0832_CS
RET
END