宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商 www.MCU-Memory.com STC12C2052AD 系列 1T 8051 单片机中文指南
20
; ------------------------- 宏晶科技 2005/9/6 --------------------
; --------------------Mobile:0755-82948409,13922805190----------------
; ----------------------Email: support@mcu-memory.com-------------------
;ADC DEMO_2052_ASM.ASM 汇编程序演示 STC12C2052AD 系列 MCU 的 A/D 转换功能。
; 转换结果以 16 进制形式输出到串行口,可以用串行口调试程序观察输出结果。
;时钟 18.432MHz, 波特率 = 9600。
;各通道转换结果轮流在 P1 口用 LED 显示, 通道号同时在 P3.2 -- P3.5 LED 显示。
;---------------------------------------------------------------------
;定义与 ADC 有关的特殊功能寄存器
ADC_CONTR EQU 0C5H ;A/D 转换控制寄存器
ADC_DATA EQU 0C6H ;A/D 转换结果寄存器
P1M0 EQU 91H ;P1 口模式寄存器 0
P1M1 EQU 92H ;P1 口模式寄存器 1
;---------------------------------------------------------------------
;定义变量
counter EQU 30H
display_AD_channel_ID EQU 31H ;当前通道号
AD_channel_1_result EQU 32H ;各通道 A/D 转换结果
AD_channel_2_result EQU 33H
AD_channel_3_result EQU 34H
AD_channel_4_result EQU 35H
AD_channel_temp EQU 36H
;---------------------------------------------------------------------
main:
ACALL initiate_RS232
MOV display_AD_channel_ID, #0
MOV counter, #0
main_loop1:
ACALL set_P1_ADC_channels ;将 P1.1 -- P1.4 设置为适宜 A/D 转换的模式
MOV A, #01H ;P1.1 为 A/D 当前通道, 测量电压并发送结果
ACALL get_AD_result_and_send_it
MOV A, #02H ;P1.2 为 A/D 当前通道, 测量电压并发送结果
ACALL get_AD_result_and_send_it
MOV A, #03H ;P1.3 为 A/D 当前通道, 测量电压并发送结果
ACALL get_AD_result_and_send_it
MOV A, #04H ;P1.4 为 A/D 当前通道, 测量电压并发送结果
ACALL get_AD_result_and_send_it