被选择使用ADC功能的IO口,必须先将其设置为高阻输入模式

ADC.H

#ifndef __ADC_H_
#define __ADC_H_//---头文件---//
#include <stc32g.h>
#include <intrins.h>//---宏定义---//
#define uchar unsigned char
#define uint unsigned int//---函数声明---//
void InitADC();
float AD_average();
uint GetADCResult();
void DisplayADCResult();//---全局变量声明---//
extern uchar bai,shi,ge;#endif

ADC.C

#include <ADC.h>uchar bai=0,shi=0,ge=0;void InitADC()        //adc初始化
{ADCTIM=0x3f;       //设置ADC内部时序ADCCFG=0x2f;       //设置ADC时钟为系统时钟/2/16ADC_CONTR=0x0c;    //设置ADC端口为P0.4ADC_POWER=1;       //打开ADC电源ADC_RES = 0;       //清空ADC数据
}uint GetADCResult()        //adc开始采样
{ADC_START=1;//启动AD转换_nop_();_nop_();while (!ADC_FLAG);//查询ADC完成标志ADC_FLAG=0;//清完成标志return (ADC_RES<<8)|ADC_RESL;
}float AD_average()     //平均滤波
{int i;float value=0;for(i=0;i<100;i++){value+=GetADCResult();   //100次采样}value/=100;        //求平均value=value*4.95/4096; //根据官方手册的公式,ADC端口电压=12位ADC结果*参考电压/4096return value;
}void DisplayADCResult()        //adc显示
{float ADResult;uint Result;ADResult=AD_average()*100;Result=(int)ADResult;bai=Result/100;    //数据分离shi=Result%100/10; //百位为小数点前一位,十位为小数点后一位,个位为小数点后两位ge=Result%10;      //单位为伏
}

STC32G12K128-Beta 普通 一般精度ADC相关推荐

  1. adc芯片资料——电子迷你秤芯片CS1180

    电子秤是我们不能再熟悉的东西了,之前也分享过关于电子秤方案的一些技术及参数功能资料.今天我们来说说电子迷你秤上面用的芯片-- CS1180 CS1180是一颗SOC集成芯片,它是将系统信息集成到一个芯 ...

  2. S32K144(14)ADC

    1.简介 开发板S32K144+S32DS+JLINK,裸机版的程序编写 S32K14x包含两个12位ADC模块,ADC0和ADC1 应用程序可能需要ADC的连续采样(4K采样/秒),这可能对CPU有 ...

  3. 【正点原子STM32连载】 第三十一章 ADC实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  4. 4D毫米波雷达Radar

    4D毫米波雷达Radar 概述 全球前四大的毫米波雷达供应商被称为"ABCD",即 Autoliv(美安).Bosch(博世).Continental(大陆)和 Delphi(德尔 ...

  5. 数学学习笔记--概率论

    2. 概率论 2.1 概率分布与随机变量 2.1.1 机器学习为什么要使用概率 事件的概率是衡量该事件发生的可能性的量度.虽然在一次随机试验中某个事件的发生是带有偶然性的,但那些可在相同条件下大量重复 ...

  6. ksps什么单位_采样频率Hz 采样率KSPS或MSPS,两种单位的换算关系

    Hz是周期的倒数,也就是每秒钟的运行周期次数,因此单位是1/s.(1代表周期个数的单位) Sps是采样率,是每秒钟采样点的数量,Sp代表采样点数.在采样时,1个Sample就是的采样的一个周期. 因此 ...

  7. 领芯微基于LCM32F037吹风筒方案

    本调试手册介绍了应用 LCM32F037 系列 MCU 的永磁同步电机(PMSM) 双电阻矢量控制(FOC)基本原理和调试方法.LCM32F037 是一款 32 位基于 ARM-Cortex-M0 内 ...

  8. ksps什么单位_[转载]采样频率Hz 采样率KSPS或MSPS,两种单位的换算关系

    Hz是周期的倒数,也就是每秒钟的运行周期次数,因此单位是1/s.(1代表周期个数的单位) Sps是采样率,是每秒钟采样点的数量,Sp代表采样点数.在采样时,1个Sample就是的采样的一个周期. 因此 ...

  9. 混合波束成形|进阶:深入浅出混合波束赋形

    系列前一篇文章 混合波束成形专栏|基础:深入浅出5G,毫米波,大规模MIMO与波束赋形, 帮助了许多需要帮助的人.这几个月一直偷懒,没有写文章.需要再次强调的是,写这一系列文章的主旨在于: 许多人以把 ...

最新文章

  1. cinema 4d完全学习手册_PBL 行动者手册 Vol.2(幼儿版)发布,快来领取一本神奇的故事集!...
  2. 【创业】创业公司股权架构设计注意事项
  3. 垃圾收集算法与垃圾收集器
  4. 从壹开始学习 NetCore 新篇章 ║ Blog.Core 开发社之招募计划书
  5. 【UDP协议头解析】
  6. go kegg_KEGG分析及可视化
  7. 异常的概念和Java异常体系结构
  8. 关于 SAXParseException Content is not allowed in Prolog (前言中不允许有内容)
  9. POJ 1321-棋盘问题-简单搜索DFS
  10. hadoop源码学习(-)
  11. Linux下的指令:tail
  12. hdu-1242 dfs+各种剪枝
  13. 转 .NET中的异步编程(四)- IO完成端口以及FileStream.BeginRead
  14. linux iconv 文件名,Linux_Linux系统下转换文件编码的方法小结,一、利用iconv命令进行文件内 - phpStudy...
  15. boost升压电路原理
  16. dos2unix 安装
  17. HBase(一):概述
  18. C++ 创建二维数组的几种方法
  19. uni-app 搜索栏
  20. 郑州大学计算机研究生毕业就业,21考研择校:郑州大学就业率和薪酬情况统计!...

热门文章

  1. java 形参和实参_Java——形参和实参的区别
  2. 【SeaTunnel】从一个数据集成组件演化成企业级的服务
  3. python实现微信机器人: 登录微信、消息接收、自动回复功能
  4. 【秋招之Java基础】
  5. Android下基于XML的Graphics shape的高级UI设计,定义圆角背景等
  6. 《数据之巅》读书笔记
  7. 前端需要总结的知识点(仅用于自己学习)
  8. 年轻人的第一部VR一体机是怎样炼成的?全志聚力VR梦想
  9. 在微信里打开网页,video视频出现问题,video.js插件解决
  10. 解决出国旅游语言障碍,安利三款实用的英文翻译软件