久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

新唐M051 ADC模數轉換程序

作者:huqin   來源:本站原創   點擊數:  更新時間:2014年09月01日   【字體:

以下程序是基于新唐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);
  }
}
 
關閉窗口
主站蜘蛛池模板: 欧美国产视频 | 国产视频一区在线观看 | 国产精品国产馆在线真实露脸 | 国产欧美日韩综合精品一 | 亚洲精品视频在线看 | 亚洲午夜小视频 | 日韩一区二区三区在线观看 | 日韩伦理电影免费在线观看 | 久久亚洲综合 | 欧美国产日本一区 | 红桃成人在线 | 在线国产视频 | 在线观看成人 | 天天干夜夜操 | 三级av在线 | 国产一区二区在线播放 | 免费一区在线 | 国产成人99久久亚洲综合精品 | 中文字幕精品一区 | 精品视频一区二区在线观看 | 欧美在线视频观看 | 亚洲欧洲成人在线 | 日韩精品一区二区三区在线播放 | 国产精品日产欧美久久久久 | 黄色成人在线网站 | 免费在线视频a | 亚洲导航深夜福利涩涩屋 | 欧美午夜一区二区三区免费大片 | 91免费电影 | 欧美日韩免费一区二区三区 | 天天澡天天狠天天天做 | 日本精品一区二区三区在线观看视频 | www一级片| 欧美日韩精品中文字幕 | 秋霞电影一区二区 | 欧美aa在线 | 黄色国产在线播放 | 久久久久久久久久久久一区二区 | 国产精品99久久久久 | 99re热精品视频 | 日本中文在线 |