版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
^♦♦^****************^*****ADCDriverSTCITSeriesMCU(c)Copyright2011,DengHaiAllRightsReservedFilename:ADC.CProgrammer:DengHai^♦♦^****************^********************************^***********************^*^♦♦^****************^******/^♦♦^****************^********************************************************^*^♦♦^****************^*****INCLUDES^♦♦^****************^********************************************************^*^♦♦^****************^******/#include"includes.h"^♦♦^****************^********************************************************^*^♦♦^****************^*****CONSTANTS^♦♦^****************^********************************************************^*^♦♦^****************^******/#defineADC_POWER0x80#defineADC_FLAG0x10#defineADC_START0x08#defineADC_SPEEDLL0x00#defineADC_SPEEDL0x20#defineADC_SPEEDH0x40#defineADCSPEEDHH0x60//ADCpowercontrolbit//ADCcompleteflag//ADCstartcontrolbit//540clocks//360clocks//180clocks//90clocks^♦♦^****************^********************************************************^*****穴****)«(*穴****穴*穴****穴*穴LOCALFUNCTIONPROTOTYPESLOCALFUNCTIONPROTOTYPES****穴**)«(*穴*穴**4(*穴*穴****穴***/staticvoidADCDummy(void);ADCINITIALIZATIONDescription:ADCinitializationfunction.ADCInit()mustbecalledbeforecallinganyotherof*theuseraccessiblefunctions.ArgumentsReturns:none:none****穴**)«(*穴*穴**4(*穴*穴****穴****)«(*穴******穴4(***4(*穴)«(*穴*穴****穴*穴4(***穴******穴**4(*穴*穴****///关闭ADC中断//关闭ADC中断//P1设置为输入模拟端//ADRJ=1:右对齐,高//清除之前的ADC转换//打开ADC电源,设//ADC上电延时10msEADC=0;P1M1=OxFF;P1M0=0x00;P1ASF=OxFF;AUXR1|=0x04;2位转换结果在ADC_RES中,低8位在ADC_RESL中ADC_RES=0;结果ADC_RESL=0;ADC_CONTR=ADC_POWER|ADC_SPEEDLL;置为540个时钟周期转换一次(约30us)Delay(ADC_POWERON_DLY);等待内部模拟电源稳定}/*$PAGE*//*READADCINPUTS
Description:ThisfunctioniscalledtoreadaphysicalADCchannel.Thefunctionisassumedto*alsocontrolamultiplexerifmorethanoneanaloginputisconnectedtotheADC.ArgumentsReturns:chistheADClogicalchannelnumber(O..ADC_MAX_CH-1).:TherawADCcountsfromthephysicalADCdevice・*/unsignedintADCRead(unsignedcharch){TOC\o"1-5"\h\zunsignedchari;unsignedintval;unsignedinttemp;unsignedintmax;unsignedintmin;////考虑到可靠性,每次ADC转换前都重新配置ADC相关的寄存器//关闭ADC中断//关闭ADC中断//P1设置为输入模拟端//ADRJ=1:右对齐,高//清除之前的ADC转换EADC=0;P1M1=OxFF;口P1M0=0x00;P1ASF=OxFF;AUXR1|=0x04;2位转换结果在ADC_RES中,低8位在ADC_RESL中ADC_RES=0;结果ADC_RESL=0;//〃多次AD采样数字滤波得到温度传感器电压值//《防脉冲干扰平均滤波法》//在脉冲干扰比较严重的情况下,如果采用一般平均值算法,则干扰将会“平均”到结果中,//因此一般平均值算法不易消除由于脉冲干扰引起的误差。〃为此,可以先去掉N个数据中的最大值和最小值,然后计算N-2个数据的平均值。//这种方法可以很好的去除脉冲干扰!//
val=0;max=0;min=1024;//选择//选择ADC转换通道,并启动转换ADC_CONTR=ADC_P0WER|ADC_SPEEDLL|ADC_START|(ch&0x07);ADCDummy();//延时至少4个时钟周期,才能读取转换完成标志while(!(ADC_CONTR&ADC_FLAG));//等待转换完成ADC_CONTR&=~ADC_FLAG;//软件清除转换结束标志位temp=ADC_RESL;temp+=(unsignedint)(ADC_RES&0x03)«8;if(temp>max){//找到最大值max=temp;}if(temp<min){//找到最小值min=temp;}val+=temp;}val=(val-min-max)/(ADC_SAMPLE_TIMES-2);//去除最人值和最小值后求平均值return(val);}^******************************************************************************^*************************DUMMYFUNCTIONDescription:Thisfunctiondoesn'tdoanything・Itisusedto
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国无甲醛板行业市场发展趋势与前景展望战略分析报告
- 2024-2030年中国无机陶瓷膜行业需求趋势及投资盈利分析研究报告
- 2024-2030年中国无叶风扇行业市场现状供需分析及投资评估规划分析研究报告
- 2024-2030年中国旋转模具行业应用趋势与投资盈利预测报告
- 2024-2030年中国方便榨菜行业市场深度调研及发展趋势与投资前景研究报告
- 2024-2030年中国文献数据库行业市场发展现状及发展前景及投资研究报告
- 2024-2030年中国整体橱柜市场需求调研及发展前景分析报告
- 2024-2030年中国改性塑料行业市场发展现状及发展趋势与投资风险研究报告
- 2024-2030年中国摩托车转身轴承行业深度调研及发展趋势预测分析报告
- 2024-2030年中国掩膜版市场竞争战略规划及投资前景调查研究报告
- 2024年蚂蚁云客服支付宝云客服工作证客户工作证培训试题及答案
- 学习贯彻中国工会十八大精神知识竞答试卷附答案
- SYT 0447-2014《 埋地钢制管道环氧煤沥青防腐层技术标准》
- 品质部品质月报表
- 《班会课件:树立正确的人生观》
- 音乐治疗学基础理论
- 2-1《感受我们的呼吸》课件
- (完整)企业所得税ppt
- 中小学教师家访记录表内容(18张)3
- 铝方通墙面施工方案
- 公司生产安全责任事故追究考核细则
评论
0/150
提交评论