新唐M051 ADC模数转换程序

发布者:csZhou最新更新时间:2014-12-12 来源: 51hei关键字:新唐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 ",unVoltageValue);
  Delayms(500);
  }
}
关键字:新唐M051  ADC  模数转换 引用地址:新唐M051 ADC模数转换程序

上一篇:新唐M051 ISP(LDROM、FMC,相当于8位机EEPROM操作)程序
下一篇:新唐M051 spi使用程序

推荐阅读最新更新时间:2024-03-16 13:48

数字接收机中高性能ADC和射频器件的动态性能要求
今天的 基站 系统不得不符合各种不同的标准,同时必须在各种信号链路中满足严格的指标要求。本文介绍了如何利用一些信号链路的器件(如高动态性能的ADC、可变增益的放大器、混频器和本振)来满足这些需求,此外还详细叙述了它们在典型的基站应用中的使用以及它们如何满足高动态性能、高截止性能和低噪声的需求。 大多 数字接收机 对其采用的高性能模数转换器(ADC)及模拟器件的要求都较高。例如,蜂窝基站数字接收机要求有足够的动态范围,以处理较大的干扰信号,从而把电平较低的有用信号解调出来。Maxim公司的15位65Msps模数转换器MAX1418或12位65Msps模数转换器MAX1211配以2GHz的MAX9993或900MHz的MAX9982集
[应用]
温度测量系统对模数转换器的要求
1 引言 测量温度的传感器有几种。为具体应用选择适当的温度传感器取决于待测温度范围以及所需的精度。系统精度取决于温度传感器的精度以及对传感器输出进行数字化的模数转换器的性能。在多数情况下,由于传感器信号非常微弱,因此需要高分辨率模数转换器。Σ-Δ模数转换器具有高分辨率,因而非常适合这种系统,而且这种转换器往往包含温度测量系统所需的内置电路,如激励电流源。本应用注释主要介绍可以利用的温度传感器(热电偶、电阻温度检测器(RTD)、热敏电阻器与热敏二极管)以及连接传感器与模数转换器所需的电路,并介绍对模数转换器的性能要求。 热电偶 热电偶由两种不同类型的金属组成。当温度高于零摄氏度时,在两种金属的连接处会产生温差电压,电压大小取决于
[测试测量]
怎样用STM32 ADC测量电压(中断方式)
ADC 概述 ADC是模数转换的缩写,是将连续的模拟信号转换为离散的数字信号,在通信,自动控制等多个领域有着广泛的应用,利用各种传感器,能将现实世界中的模拟量转换为机器能够识别的数字量,机器有了ADC,就像人有了各种感官,能够感知周围的世界并做出反应。 STM32F10x ADC特点 l 12位逐次逼近型的模拟数字转换器。 l 最多带3个ADC控制器 l 最多支持18个通道,可最多测量16个外部和2个内部信号源。 l 支持单次和连续转换模式 l 转换结束,注入转换结束,和发生模拟看门狗事件时产生中断。 l 通道0到通道n的自动扫描模式 l 自动校准 l 采样间隔可以按通道编程 l 规则通
[单片机]
怎样用STM32 <font color='red'>ADC</font>测量电压(中断方式)
N76E003 ADC使用方法
主要特点: 1、12位ADC。 2、8通道单端输入模式。(一次只能测一个通道电压,值都存在ACCRH、ACCRL) 3、内部带隙电压(band-gap voltage)为1.22V,可作为内部参考电压 4、启动方式:软件启动、硬件触发方式启动 ADC模块结构图 C模块结构图 实例 不多说了,直接贴代码,实现的功能为使用内部参考电压测VCC电压值。 void main(void) { uint16_t BandGap_H, BandGap_L, AIN3_H, AIN3_L; uint16_t BandGap_v; uint32_t AIN3_v = 0; uint16_t voltage
[单片机]
【STM32H7教程】第44章 STM32H7的ADC基础知识和HAL库API
44.1 初学者重要提示 STM32H7虽然支持差分,但不支持负压测量。 STM32H7的ADC采集通道体验快速通道Fast Channels和低速通道Slow Channels的区别,详情看本章2.12小节的电气特性。 STM32H7的ADC支持过采样,通过过采样技术可以做到26位分辨率。 ADC的专业术语诠释文档,推荐大家看看: http://www.armbbs.cn/forum.php?mod=viewthread&tid=89414 。 44.2 ADC基础知识 ADC的几个关键知识点放在开头说: STM32H7支持三路ADC,分别是ADC1,ADC2和ADC3。其中ADC1和ADC2可以组成双ADC
[单片机]
【STM32H7教程】第44章 STM32H7的<font color='red'>ADC</font>基础知识和HAL库API
51单片机的ADC0808数字电压表设计
摘要 近些年来,数字电压表逐渐进入人们的视线中,它主要采取数字化测量技术。与传统的指针式仪表相比,它的功能有了进一步的完善,并且精度也有了很大的提高。数字电压表主要采用单片机和模/数转换模块,这样不仅提高了测量速度,而且抗干扰能力强、使用便捷、可扩展性强、测量准确。 本文主要采用AT89C51单片机和ADC0808芯片制作的简易数字电压表,可以采集0~5V和5~10V的模拟直流电压进行测量,其测量结果在液晶LCD1602上显示。该设计硬件电路主要有三个模块组成:A/D转换模块、数据处理模块及输出显示模块。数据处理由单片机AT89C51来完成,它主要把ADC0808传送来的数值经一定的数据处理,然后送至显示模块进行显示,同时控制
[单片机]
51单片机的<font color='red'>ADC</font>0808数字电压表设计
合理选择高速ADC实现欠采样
欠采样或违反奈奎斯特(Nyquist)准则是 ADC 应用上经常使用的一种技术。射频(RF)通信和诸如示波器等高性能测试设备就是其中的一些实例。在这个“灰色”地带中经常出现一些困惑,如是否有必要服从 Nyquist 准则,以获取一个信号的内容。对于 Nyquist 和 Shannon 定理的检验将证明:ADC采样频率的选择与最大输入信号频率对输入信号带宽的比率有很强的相关性。   原理分析   Nyquist 定理被表达成各种各样的形式,它的原意是:如果要从相等时间间隔取得的采样点中,毫无失真地重建模拟信号波形,则采样频率必须大于或等于模拟信号中最高频率成份的两倍。因而对于一个最大信号频率为 fMAX的模拟信号 fa,其最小采
[模拟电子]
合理选择高速<font color='red'>ADC</font>实现欠采样
最小的 14 位、4.5Msps SAR ADC在 8mm2 TSOT-23 封装中集成了精确基准
加利福尼亚州米尔皮塔斯 (MILPITAS, CA) – 2013 年 3 月 11 日 – 凌力尔特公司 (Linear Technology Corporation) 推出 14 位 4.5Msps 逐次逼近寄存器 (SAR) ADC LTC2314-14,该器件采用纤巧 8 引线 TSOT-23 封装,与同类解决方案相比,尺寸减小多达 90%,适用于空间受限型应用。这个小型 SAR ADC 在 8mm2 占板面积中集成了一个精确的 2.048V / 4.096V 基准,具备 7ppm/ºC 的典型温度系数和保证的 20ppm/ºC 最大温度系数。LTC2314-14 在 3V 至 5V 电源电压范围内工作,与市场上的其他同类
[模拟电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved