第17集:ADC 模数转换
STC32G系列单片机内部集成了一个12位高速A/D转换器。ADC的时钟频率为系统频率2分频再经用户设置的分频数进行再次分频。
ADC转换结果的数据格式有两种:左对齐和右对齐。
ADC的第15通道是专门测量内部1.19V参考信号源的通道。参考信号源出厂时校准为1.19V,大约有1%的误差。
如将ADC_VREF+短接到MCU-VCC,就可以反推MCU-VCC的电压。
如芯片有ADC的外部参考电源管脚ADC_VREF+,则一定不能浮空,必须接外部参考电源或者直接连到VCC。
ADC控制寄存器ADC_CONTR
ADC_POWER:ADC电源控制位,0:关闭ADC电源,1:打开ADC电源,建议进入空闲模式和掉电模式前将ADC电源关闭,以降低功耗。
特别注意:1、给MCU的内部ADC模块电源打开后,需等待约1ms,等MCU内部的ADC电源稳定后再让ADC工作。
2、适当加长对外部信号的采样时间,就是对ADC内部采样保持电容的充电或放电时间,时间够,内部才能和外部电势相等。
ADC_START:ADC转换控制位。写入1开始ADC转换,转换完成后硬件自动将此位清零。
0:无影响,即使ADC已开始转换工作,写0也不会停止AD转换。1:开始转换,转换完成后硬件自动将此位清零。
ADC_FLAG:转换结束标志位。当ADC完成一次转换后,硬件会自动将此位置1,并向CPU发出中断请求。此标志必须软件清零。
ADC_EPWMT:使能PWM实时触发ADC功能。
ADC_CHS[3,0]:ADC模拟通道选择位,被选择为ADC输入通道的IO口,必须设置PxM0/PxM1寄存器将IO口模式设置为高阻输入模式,另外,
如果MCU进入掉电模式/时钟停振模式后,仍需要使能ADC通道。则需要设置PxIE寄存器关闭数字输入通道。以防止外部模拟
输入信号忽高忽低面产生额外的功耗。
ADC配置寄存器ADCCFG
RESFMT:ADC转换结果格式控制位,0:结果左对齐,ADC_RES保存结果的高8位,ADC_RESL保存结果的低4位。
1:结果右对齐,ADC_RES保存结果的高4位,ADC_RESL保存结果的低8位。
SPEED[3:0]:设置ADC时钟。FADC=SYSclk/2/(SPEED+1)
ADC时序控制寄存器
|