新唐M051 ADC模数转换程序

新唐M051 ADC模数转换程序

以下程序是基于新唐M051单片机运行:

/******************************************************************
*注 意:硬件上的AVDD一定要接上基准电压
******************************************************************/
#include "SmartM_M0.h"

#define DEBUGMSG printf
#define ADC_CLOCK_DIVIDER 0x00040000
#define ADC_CLK_Source 0x00000000 #define AREF_VOLTAGE 4480

STATIC VOID AdcInit(VOID)
{
if(ADC_CLK_Source==0x00000004)
{
PLLCON |= PLL_SEL;
PLL_Enable(); /* 等待PLL稳定 */
while((CLKSTATUS & PLL_STB) == 0);
} /* 复位ADC */
set_ADC_RST;
clr_ADC_RST; /* ADC时钟使能 */
set_ADEN_CLK;
if (ADC_CLK_Source==0x00000000 )
{
ADCClkSource_ex12MHZ;
}
else if(ADC_CLK_Source==0x00000004 )
{
ADCClkSource_PLL;
}
else if(ADC_CLK_Source==0x00000008 )
{
ADCClkSource_int22MHZ;
} /* 设置ADC分频器 */
CLKDIV=ADC_CLOCK_DIVIDER;

/* ADC使能 */
set_ADEN;
set_CALEN; while(!(ADCALR&CALDONE)); /* 单次转换模式 */
setAD_SIG;
clr_DIFFEN; /* 设置ADC通道 */
set_CHEN0;
/* 使能P1.0为模拟输入引脚 */
set_ADC0_channel;
/* 禁止P1.0数字输入通道 */
P1_OFFD |= OFFD0;
/* 设置P1.0引脚为输入模式Configure P1.0 as input mode */
P10_InputOnly;
/* 清除ADC中断标志位 */
set_ADF;
} /****************************************
*函数名称:main
*输 入:无
*输 出:无
*功 能:函数主体
******************************************/
INT32 main(VOID)
{
UINT32 unVoltageValue;
PROTECT_REG //ISP下载时保护FLASH存储器
(
PWRCON |= XTL12M_EN; //默认时钟源为外部晶振
while((CLKSTATUS & XTL12M_STB) == 0); //等待12MHz时钟稳定

CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M;//设置外部晶振为系统时钟
) UartInit(12000000,9600); //波特率设置为9600bps AdcInit(); while(1)
{
set_ADST; //启动ADC
while(ADSR&ADF==0); //等待ADC结束
set_ADF; //清空ADC结束标志位 unVoltageValue = AREF_VOLTAGE*(ADDR0&0xFFF)/4096;//将ADC值转换为电压值 DEBUGMSG("Voltage %d mv \r\n",unVoltageValue); Delayms(500);
}
}
唯样商城-电子元器件采购网(www.oneyac.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。唯样自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
本文由网络整理转载自单片机教程网,原文标题为:新唐M051 ADC模数转换程序,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

上一篇:新唐M051 IIC使用程序

下一篇:新唐M051 pwm使用程序

唯样头条公众号
最新最热
行业资讯
领先元件
技术方案
订阅栏目
效率阅读
品牌专区
相关文章
最新入库
编号 分类 库存
TPS65287RHAR
TI
DC-DC转换器 0
VZT151M1VTR-0607
LELON
未分类 0
VZT101M1ETR-0605
LELON
未分类 0
LBZT52MB24T1G
LRC
通用二极管 0
AF0201FR-0769K8L
Yageo
未分类 0
AB08000001
TXC
未分类 0