本篇博文最后修改时间:2017年08月14日 22:00。

一、简介

本文以STM8S103F3P6编程为例,介绍STM8S103F3P6采集AD采样

二、实验平台

电脑平台:Windows7 64位旗舰

编译软件:IAR

硬件平台:STM8S103F3P6

三、版权声明

博主:_懵懂

声明:此博客仅供参考不做任何商业用途,最终解释权归原博主所有。

原文地址:http://blog.csdn.NET/qq_18842031

懵懂之MCU交流群:136384801

单片机软件/硬件交流:127034610

四、实验前提

1、在进行本文步骤前,请先安装IAR  EWSTM8-EV-1311版本;准备好STM8S103F3P6硬件平台。

五、基础知识

暂无

六、源码地址

暂无

七、关联文章

链接:

八、实验内容

1.系统时钟初始化为内部16M

  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);    //时钟   初始化时钟为1分频 16M

2.初始化ADC1 通道2为AD采集脚  10位AD

void Init_ADC(void)
{GPIO_Init(GPIOD, GPIO_PIN_2, GPIO_MODE_IN_FL_NO_IT);      //引脚初始化  初始化ADC通道引脚ADC1_DeInit();ADC1_Init(ADC1_CONVERSIONMODE_SINGLE,      //单次转换ADC1_CHANNEL_3,                  //通道ADC1_PRESSEL_FCPU_D2,            //预定标器选择 分频器  fMASTER 可以被分频 2 到 18ADC1_EXTTRIG_TIM,                //从内部的TIM1 TRGO事件转换DISABLE,                         //是否使能该触发方式ADC1_ALIGN_RIGHT,                //对齐方式(可以左右对齐)ADC1_SCHMITTTRIG_CHANNEL3,       //指定触发通道ENABLE);                         //是否使能指定触发通道ADC1_Cmd(ENABLE);                          //使能ADC
}

3.获取AD值

uint16_t Get_Ad(void)
{ADC1_StartConversion();                      //启动AD转换while(RESET == ADC1_GetFlagStatus(ADC1_FLAG_EOC));   //等待转换完成ADC1_ClearFlag(ADC1_FLAG_EOC);               //清除标志uint16_t value = ADC1_GetConversionValue();            //读取AD值 return value;
}

4.编写主函数

void main(void)
{CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);    //内部时钟16MInit_UART1();Init_Timer4();Init_ADC();enableInterrupts();while(1){uint16_t value = Get_Ad();    Txd_buf[Txd_len++] = value / 10000 % 10 +'0';Txd_buf[Txd_len++] = value / 1000 % 10 +'0';Txd_buf[Txd_len++] = value / 100 % 10 +'0';Txd_buf[Txd_len++] = value / 10 % 10 +'0';Txd_buf[Txd_len++] = value % 10 +'0';Txd_buf[Txd_len++] = '\n';UART1_Send(Txd_buf,Txd_len);}
}

STM8S103之AD采样相关推荐

  1. 算术平均值滤波matlab程序,基于S7-1200 AD采样的高效数字滤波算法的设计与实践...

    在工业控制中,常常会伴随大量的模拟量数据采样.模拟量采样时,由于待采量本身.传感器和传输过程中的外界干扰,特别是非稳态干扰信号等因素的影响,采样值中通常含有各种周期性和非周期性的噪声和干扰.为得到稳定 ...

  2. c语言ad采样程序思路,单片机AD采样程序及其寄存器讲解

    描述 ad采样的步骤:首先将外部的信号,通过电路或者已有的AD芯片转换成 主CPU能接受的电压 信号.但是此电压信号必须转换成8.10 .12位或更高位数的数字才能进一步做计算.另外转换成位数多少表明 ...

  3. AD采样不准解决措施

    1:参考电压需要足够精确,推荐使用外部高精准参考电压.  2:如果PGA可调,增益系数一般是越小噪声越低.  3:一般最好用到满量程,此时AD精度不浪费.  4:如果有偏置,需要进行自校.  5:请注 ...

  4. ad采样做按键开关_电池应用中的电流采样电阻设计

    在电池充放电管理.电池管理保护以及电池电量计应用场合中,一般都会使用到电流采样电阻,进行电池充放电电流的检测.其原理是在电池充放电回路中放置一个采样电阻R, 电流流经采样电阻产生压差,采样电阻两端电压 ...

  5. AD采样的平均值滤波

    基本问题:单片机ad采样,连续采样十次,对这十次数据取平均值. 注意:最开始的一次就是用当次的数据,以后每更新一个数据就取当前数据加上前九个数据,取平均. 先看代码: static int _filt ...

  6. BLDC 120度方波控制方案 调制方式包含单极性和双极性,反电动势过零点AD采样

    BLDC 120度方波控制方案 调制方式包含单极性和双极性,反电动势过零点AD采样 :68300655567598504MCTianci

  7. ACQPS计算 AD采样保持电路 DSP2833x

    ACQPS计算 AD采样保持电路 DSP2833x AD采样窗口长ACQPS的最佳值需要进行计算.计算分为两种情况: high bandwidth,例如矢量闭环控制中的三相电流采样,实时性要求高,最小 ...

  8. 10种AD采样的软件滤波方法及算法

    AD采样点的电压多少有点起伏波动,经运放放大后电压的波动如果超过ADC的分辩率,则显示的值会出现波动.波动如果十分大的话, 建议在硬件上滤波,相反,如果波动较小,你可以用软件滤波方法解决这个问题. 1 ...

  9. 蓝桥杯嵌入式AD采样解析

    文章目录 前言 一.什么是AD采样 二.原理图查看及cubeMX配置 三.代码解析 总结 前言 本文将带大家学习AD采样. 一.什么是AD采样 原理部分这里就不多介绍了,给大家推荐一篇文章大家自己去了 ...

  10. 51单片机auxr寄存器_STC12C5A60S2单片机AD采样程序及其寄存器讲解

    /*************************************************************************************************** ...

最新文章

  1. 借鉴开源框架自研日志收集系统
  2. BZOJ 4326 NOIP2015 运输计划(树上差分+LCA+二分答案)
  3. xshell连接linux出现乱码
  4. React中添加注释
  5. html5游戏制作入门系列教程(三)
  6. PHP中复杂类型的一些探究。。。
  7. 过半中国人是工具类 App 活跃用户,为什么变现却这么难?
  8. H.248-Transcoding与Interception
  9. JavaScript(1)之——this指针
  10. (二). 细说Kalman滤波:The Kalman Filter
  11. bzoj4816[SDOI2017]数字表格
  12. OCR最佳实践项目汇总
  13. php半透明,php水印代码,php半透明水印支持png透明背景
  14. dos环境c语言写串口程序,DOS下串口通信程序来传送文件的源代码(转)
  15. 芯片IC失效分析测试
  16. VUE学习(七) 自定义列表鼠标移入变色,点击变色(仿el-table实现)
  17. wlan和wfi的区别
  18. Sql的行列(纵横表)转换
  19. 一道有趣的数学题(一)
  20. MAF: Synchronized Data Change Envent

热门文章

  1. XRD的检出限是多少?如何检测含量极低的物质?
  2. python改文件后缀名_python 批量修改文件后缀名(示例)
  3. 视频教程-SAP快速入门-其他
  4. cropperjs裁剪头像功能实现总结
  5. CS229 课程笔记一
  6. BeX5使用疑难总结
  7. java gui 计算器_Java实现GUI计算器(完整版)
  8. Windows电脑上有哪些好用的txt小说阅读器?
  9. FTP文件上传Java代码实操
  10. 互动媒体技术专题2——多视角认识十二个“一” 技术预演与方案设计