专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

XS128单片机实验:AD转换滤波后输出

作者:韩冰   来源:本站原创   点击数:  更新时间:2013年11月29日   【字体:


// #include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#include "WQ.h"
/***************************************************
// 功  能:读取A/D转化结果,送PORTB 口控制 LED灯显示
入口参数 ;无
// 出口参数:无
***************************************************/

 

/******************************************************
// 功  能:完成ATD模块的初始化
// 入口参数: 无
// 出口参数: 无
******************************************************/
void ATD0_Init(void){
    ATD0DIEN = 0x00; //禁止数字输入功能
    ATD0CTL1 = 0x00; //A/D 分辨率选择8位,且采样前不放电;
    ATD0CTL2 = 0x40; //A/D 模块快速清零,禁止外部触发,禁止中断;
    ATD0CTL3 = 0x88; //A/D 转换结果右对齐,每个序列1个通道,非FIFO模式
    ATD0CTL4 = 0x03; //采样时间4个周期,RES=3;
    ATD0CTL5 = 0x20; //对通道0单通道连续采样,同时启动A/D转换序列
   
}

 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){             //等待转化结果
      ;
   }
   sum=sum+ATD0DR0L;
  }
 PORTB =sum/251;
 N=0;
 sum=0;
 }
 }
 

关闭窗口

相关文章