博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ADC取样
阅读量:5340 次
发布时间:2019-06-15

本文共 1598 字,大约阅读时间需要 5 分钟。

#include
#include "adcproc.h"#include "utils.h"#include "globdefs.h"#define SKIP_SAMPLES 1//ADC采样时忽略样本数#define BYTE unsigned char#define ADC_MUX_I 0x00//MUX选择第0通道#define ADC_MUX_U 0x01#define ADC_MUX_T 0x02BYTE fADCFlag = 0;int iADCData = 0;void InitADCSystem(void){ PORTA_PORTA0 = PORTA_PORTA1 = PORTA_PORTA2 = 0; //内部上拉电阻无效,减少干扰 DDRA_DDA0 = DDRA_DDA1 = DDRA_DDA2 = 0; //输入 ADMUX_REFS1 = ADMUX_REFS0 = 1; //内部参考电压2.56V ADCSRA_ADATE = 0; //单次转换模式 ADMUX_ADLAR = 0; //结果右对齐}void OpenADCSystem(void){ ADCSRA_ADEN = 1; //允许ADC转换 ADCSRA_ADIE = 1; //中断使能}void CloseADCSystem(void){ ADCSRA_ADEN = 0; ADCSRA_ADIE = 0; //关闭ADC中断}void SetADCInput(TMEAS_CHAN channel){ switch(channel) { case TMEAS_I_SENSE: ADMUX = ADMUX & 0xF0 | ADC_MUX_I; //ADMUX_MUX3=ADMUX_2=ADMUX_1=ADMUX_0=0; break; case TMEAS_U_SENSE: ADMUX = ADMUX & 0xF0 | ADC_MUX_U; //ADMUX_MUX3=ADMUX_2=ADMUX_1=0;ADMUX_0=1; break; case TMEAS_T_SENSE: ADMUX = ADMUX & 0xF0 | ADC_MUX_T; //ADMUX_MUX3=ADMUX_2=ADMUX_0=0;ADMUX_1=1; break; }}int ADCGetData(BYTE aver){ int adccode = 0; BYTE repeats = (1 << aver) + SKIP_SAMPLES; BYTE i = 0; fADCFlag = 0; for(i = 0; i < repeats; i++) { ADCSRA_ADSC = 1; //开始转换 while(!fADCFlag)//等待ADC中断 { ; } if(i > (SKIP_SAMPLES - 1)) { SREG_I = 0;//M8C_DisableGInt; adccode += iADCData; SREG_I = 1;//M8C_EnableGInt; } fADCFlag = 0; } adccode >>= aver; return (adccode);}#pragma vector=ADC_vect__interrupt void ADCConverted(void){ iADCData = ADC; fADCFlag = 1;}

 

转载于:https://www.cnblogs.com/ppStudio/p/4209825.html

你可能感兴趣的文章
mysql中两表更新时产生的奇葩问题,产生死锁!
查看>>
Python正则表达式
查看>>
celery使用
查看>>
如何在win2003下安装sql2008[多次安装sql2008失败者必看]
查看>>
[C++]C++学习笔记(四)
查看>>
Vue 不睡觉教程1-从最土开始
查看>>
IT技术栈、JAVA技术栈、游戏开发技术栈
查看>>
浏览器百度点击第二页时仍然跳转到第一页
查看>>
EXTI—外部中断/事件控制器
查看>>
全本软件白名单 Quanben Software Whitelist
查看>>
Android4.4新的特性,在应用内开启透明状态栏和透明虚拟按钮。
查看>>
JS 书籍拓展内容
查看>>
WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
查看>>
用css3和javascript做的一个简单的计算器
查看>>
[转]AI+RPA 融合更智能
查看>>
Javascript拖拽&拖放系列文章1之offsetParent属性
查看>>
OWIN的理解和实践(二) – Host和Server的开发
查看>>
VS DLL 复制本地
查看>>
异常处理原则
查看>>
scrapy框架之递归解析和post请求
查看>>