22 / 71 page

宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商 www.MCU-Memory.com STC12C2052AD 系列 1T 8051 单片机中文指南
22
CLR A
MOV R7, A ;R7 用于检测 A/D 转换是否结束
MOV ADC_DATA, A ;清 A/D 转换结果寄存器
ORL ADC_CONTR, #08H ;0000,1000 令 ADCS = 1, 启动 A/D 转换,
wait_AD_finishe:
MOV A, #10H ;0001,0000 测试 A/D 转换结束否
ANL A, ADC_CONTR
JZ wait_AD_finishe
ANL ADC_CONTR, #0E7H ;1110,0111 清 ADC_FLAG 位, 停止 A/D 转换
MOV A, AD_channel_temp ;取回当前通道号
DEC A
ADD A, #AD_channel_1_result
MOV R0, A
MOV A, ADC_DATA ;保存、返回 A/D 转换结果
MOV @R0, A
RET
;---------------------------------------------------------------------
display:
MOV R2, display_AD_channel_ID ;用 P3.2 -- P3.5 显示第几通道
INC R2
SETB C
CLR A
display_loop:
RLC A
CLR C
DJNZ R2, display_loop
RL A
RL A
CPL A
ORL P3, #3CH ;0011,1100 使 P3.2 -- P3.5 LED 熄灭
ANL P3, A
MOV A, display_AD_channel_ID ;取相应通道的转换结果
ADD A, #AD_channel_1_result
MOV R0, A
MOV A, @R0
CPL A
MOV P1, A ;显示转换结果
RET
;---------------------------------------------------------------------
set_P1_ADC_channels: ;将 P1.2 -- P1.5 设置为适宜 A/D 转换的模式