;用开关和继电器选择电位器输出或DAC电路输出作为ADC的输入,在同一个
;应用程序中实现下述功能
;1.开关状态为0时选择电位器输出为ADC0809的模拟输入,将模/数转换结果用
;P1口输出到发光二极管显示(二进制)或用数码管以十进制显示。
;2.升关状态为1时选择DAC0832的输出为ADC0809的模拟输入,验证数模和
;模/数转换的正确性。写入到DAC0832的数据来自内部RAM 30H单元(可在程序暂
;停时改变该单元的数值),模/数转换结果的显示方式同任务1。
代码
;DAC_CS连接到CS0 8000H
;ADC_CS连接到CS1 9000H
;LED_CS
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: ;先DA转换
MOV A, #30H
MOV DPTR, #8000H
MOVX @DPTR, A;开始DA转换
MOV DPTR, #9000H
MOVX @DPTR, A;开始AD转换
LCALL DELAY
MOVX A, @DPTR;读取AD转换结果
MOV P1, A
SJMP MAIN
DELAY:
MOV R7, #60
DJNZ R7, $
RET
END