專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

XS128單片機(jī)實驗:AD轉(zhuǎn)換濾波后輸出

作者:韓冰   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2013年11月29日   【字體:


// #include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#include "WQ.h"
/***************************************************
// 功  能:讀取A/D轉(zhuǎn)化結(jié)果,送PORTB 口控制 LED燈顯示
入口參數(shù) ;無
// 出口參數(shù):無
***************************************************/

 

/******************************************************
// 功  能:完成ATD模塊的初始化
// 入口參數(shù): 無
// 出口參數(shù): 無
******************************************************/
void ATD0_Init(void){
    ATD0DIEN = 0x00; //禁止數(shù)字輸入功能
    ATD0CTL1 = 0x00; //A/D 分辨率選擇8位,且采樣前不放電;
    ATD0CTL2 = 0x40; //A/D 模塊快速清零,禁止外部觸發(fā),禁止中斷;
    ATD0CTL3 = 0x88; //A/D 轉(zhuǎn)換結(jié)果右對齊,每個序列1個通道,非FIFO模式
    ATD0CTL4 = 0x03; //采樣時間4個周期,RES=3;
    ATD0CTL5 = 0x20; //對通道0單通道連續(xù)采樣,同時啟動A/D轉(zhuǎn)換序列
   
}

 void main(void) {
uint N;
uint sum;
sum=0;
DDRB = 0xff;
PORTB =0xff;
ATD0_Init();
for(;;){
for(N=0;N<=250;N++){
 
  while(!ATD0STAT2L_CCF0){             //等待轉(zhuǎn)化結(jié)果
      ;
   }
   sum=sum+ATD0DR0L;
  }
 PORTB =sum/251;
 N=0;
 sum=0;
 }
 }
 

關(guān)閉窗口

相關(guān)文章