- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STM32f103AD程序.doc
#include adc.h #include delay.h //初始化ADC //这里我们仅以规则通道为例 //开启通道8,并开启内部温度传感器了。 void Adc_Init(void) { //先初始化IO口 RCC-APB2ENR|=13; //使能PORTB口时钟 GPIOB-CRL=0XFFFFFFF0;//PB0 anolog输入 //通道10/11设置 RCC-APB2ENR|=19; //ADC1时钟使能 RCC-APB2RSTR|=19; //ADC1复位 RCC-APB2RSTR=~(19);//复位结束 RCC-CFGR=~(314); //分频因子清零 //SYSCLK/DIV2=12M ADC时钟设置为12M,ADC最大时钟不能超过14M! //否则将导致ADC准确度下降! RCC-CFGR|=214; ADC1-CR1=0XF0FFFF; //工作模式清零 ADC1-CR1|=016; //独立工作模式 ADC1-CR1=~(18); //非扫描模式 ADC1-CR2=~(11); //单次转换模式 ADC1-CR2=~(717); ADC1-CR2|=717; //软件控制转换 ADC1-CR2|=120; //使用用外部触发(SWSTART)!!! 必须使用一个事件来触发 ADC1-CR2=~(111); //右对齐 ADC1-CR2|=123; //使能温度传感器 ADC1-SQR1=~(0XF20); ADC1-SQR1|=020; //1个转换在规则序列中 也就是只转换规则序列1 //设置通道8的采样时间 ADC1-SMPR2=~(724); //通道8采样时间清空 ADC1-SMPR2|=724; //通道8 239.5周期,提高采样时间可以提高精确度 ADC1-SMPR1=~(718); //清除通道16原来的设置 ADC1-SMPR1|=718; //通道16 239.5周期,提高采样时间可以提高精确度 ADC1-CR2|=10; //开启AD转换器 ADC1-CR2|=13; //使能复位校准 while(ADC1-CR213); //等待校准结束 //该位由软件设置并由硬件清除。在校准寄存器被初始化后该位将被清除。 ADC1-CR2|=12; //开启AD校准 while(ADC1-CR212); //等待校准结束 //该位由软件设置以开始校准,并在校准结束时由硬件清除 } //获得ADC值 //ch:通道值 0~16 //返回值:转??结果 u16 Get_Adc(u8 ch) { //设置转换序列 ADC1-SQR3=0XFFFFFFE0;//规则序列1 通道ch ADC1-SQR3|=ch; ADC1-CR2|=122; //启动规则转换通道 while(!(ADC1-SR11));//等待转换结束 return ADC1-DR; //返回adc值 } //获取通道ch的转换值,取times次,然后平均 //ch:通道编号 //times:获取次数 //返回值:通道ch的times次转换结果平均值 u16 Get_Adc_Average(u8 ch,u8 times) { u32 temp_val=0; u8 t; for(t=0;ttimes;t++) { temp_val+=Get_Adc(ch); delay_ms(5); } return temp_val/times; } #ifndef __ADC_H #define __ADC_H #include sys.h #define ADC_CH1 1 //通道1 #define ADC_CH_TEMP 16 //温度传感器通道 void Adc_Init(void); //ADC通道初始化 u16 Get_Adc(u8 ch); //获得某个通道值 u16 Get_Adc_Average(u8 ch,u8 times);//得到某个通道10次采样的平均值 #endif
您可能关注的文档
最近下载
- 药店医保人员管理制度范本(精选20篇).pdf VIP
- DB50T 1742-2024 家政服务 整理收纳服务规范.docx VIP
- 一种盐酸帕罗西汀片剂及其制备方法.pdf VIP
- 建筑学名词2014年版(建筑学名词审定委员会审定).pdf
- 北京市北京师范大学附属中学2024-2025学年八年级上学期期中考试物理试卷(word版,含答案).docx VIP
- 关注孕产妇心理健康.pptx VIP
- 天气闪卡_幼儿英语学习闪卡.pdf VIP
- 2021年国开电大《计算机绘图》(终结性考试)大作业(内附CAD打不开仅参考试题).pdf VIP
- 文法S→MH H→LSo εK→dML εL→eHfM→K bLM 求非.ppt VIP
- (新)(演练脚本)应急预案桌面推演方案(模板和现场案例).docx VIP
有哪些信誉好的足球投注网站
文档评论(0)