新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > XS128單片機實驗:AD轉(zhuǎn)換濾波后輸出

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

作者: 時間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
// #include /* common defines and macros */

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

本文引用地址:http://m.butianyuan.cn/article/201612/324109.htm

/******************************************************
// 功 能:完成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;
}
}



評論


技術(shù)專區(qū)

關(guān)閉