当前位置: 首页 > news >正文

【电机控制器】STC8H1K芯片——ADC电压采集

【电机控制器】STC8H1K芯片——ADC电压采集


文章目录

    • @[TOC](文章目录)
  • 前言
  • 一、ADC
    • 1.ADC初始化
      • 1.ADC_CONTR
      • 2.ADCCFG
      • 3.ADCTIM
      • 4.代码
    • 2.ADC读取
      • 1.ADC_RES、ADC_RESL
      • 2.代码
    • 3.VREF电压读取——MCU工作电压
      • 1.MCU工作电压计算公式
      • 2.代码
    • 4.ADC被转换通道的输入电压读取
      • 1.ADC被转换通道的输入电压计算公式
      • 2.代码
  • 二、实验——VREF——MCU工作电压
      • 1.原理图
      • 2.USB供电
      • 3.锂电池供电
  • 三、参考资料
  • 总结

前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、ADC

1.ADC初始化

1.ADC_CONTR

在这里插入图片描述
在这里插入图片描述

2.ADCCFG

在这里插入图片描述
在这里插入图片描述

3.ADCTIM

在这里插入图片描述
在这里插入图片描述

4.代码

void ADC_Init(void)
{ADCTIM=0X3F;ADCCFG=0X2F;ADC_CONTR=0X80;
}

2.ADC读取

1.ADC_RES、ADC_RESL

在这里插入图片描述

2.代码

unsigned int ADC_Read(int channel)
{ADC_RES=0;ADC_RESL=0;ADC_CONTR=(ADC_CONTR&0XF0)|0X40|channel;_nop_();_nop_();_nop_();_nop_();while((ADC_CONTR&0X20)==0);ADC_CONTR&=~0X20;return ((unsigned int)ADC_RES<<8|ADC_RESL);
}

3.VREF电压读取——MCU工作电压

1.MCU工作电压计算公式

在这里插入图片描述
在这里插入图片描述

2.代码

unsigned int VREF_GetValtage(void)
{unsigned int res;unsigned char i;float Valtage_VREF;ADC_Read(ADC_CHANEEL_15);ADC_Read(ADC_CHANEEL_15);res=0;Valtage_VREF=0.00;for(i=0;i<8;i++){res+=ADC_Read(ADC_CHANNEL_15);}res>>=3;Valtage_VREF=(ADC_10BIT*ADC_BGV/res);return (unsigned int)(Valtage_VREF*ADC_GAIN);
}

4.ADC被转换通道的输入电压读取

1.ADC被转换通道的输入电压计算公式

在这里插入图片描述

2.代码

unsigned int OverLoad_GetValtage(void)
{unsigned int res;unsigned char i;unsigned int adcvin;float Valtage_Overload;ADC_Read(ADC_CHANNEL_10);ADC_Read(ADC_CHANNEL_10);res=0;Valtage_Overload=0.00;for(i=0;i<8;i++){res+=ADC_Read(ADC_CHANNEL_10);}res>>=3;adcvin=VREF_GetValtage();Valtage_Overload=(adcvin*res/ADC_10BIT);return (unsigned int)(Valtage_Overload);
}

二、实验——VREF——MCU工作电压

1.原理图

在这里插入图片描述
在这里插入图片描述

2.USB供电

在这里插入图片描述
在这里插入图片描述

3.锂电池供电

在这里插入图片描述
在这里插入图片描述

三、参考资料

STC8H1K08-36I-TSSOP20-规格书.PDF
STC8H单片机利用 ADC 第 15 通道测量外部电压或电池电压
51单片机——串口通信(发送和接受数据)
STC单片机基于Keil平台在线调试仿真
printf函数在Keil 开发C51单片机当中的使用细节

总结

本文仅仅简单介绍了【电机控制器】STC8H1K芯片——ADC电压采集,评论区欢迎讨论。

相关文章:

【电机控制器】STC8H1K芯片——ADC电压采集

【电机控制器】STC8H1K芯片——ADC电压采集 文章目录 [TOC](文章目录) 前言一、ADC1.ADC初始化1.ADC_CONTR2.ADCCFG3.ADCTIM4.代码 2.ADC读取1.ADC_RES、ADC_RESL2.代码 3.VREF电压读取——MCU工作电压1.MCU工作电压计算公式2.代码 4.ADC被转换通道的输入电压读取1.ADC被转换通…...

图像格式中的 stride 和 pix stide

最近发现media codec 解码后 yuv 的拷贝时间很大&#xff0c;进一步分析后发现底层会一个像素一个像素拷贝&#xff0c;非常花时间。用过调整解码后图像的Stride&#xff08;步幅&#xff09;后直接进行内存块拷贝&#xff0c;可以大幅缩短拷贝时间 在YUV图像格式中&#xff0c…...

传统POE供电P1摄像头实现

首先&#xff0c;我们来了解一下什么是poe供电&#xff1f;poe供电是一种通过网络线&#xff08;通常为网线&#xff09;传输电能的技术。这种技术可以省去马达、插头等传统供电设备&#xff0c;以及不需要另外的电源延长线&#xff0c;从而实现方便的供电。 那么&#xff0c…...

云计算基础:AWS入门指南

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 云计算基础&#xff1a;AWS入门指南 云计算基础&#xff1a;AWS入门指南 云计算基础&#xff1a;AWS入门指南 引言 AWS概述 什么…...

pytorch torch.tile用法

指定各维度分别重复多少次 tile 是 PyTorch 中用于重复张量的函数。它可以沿指定的维度重复张量的元素。以下是一个示例代码&#xff0c;展示 tile 的用法&#xff1a; import torch# 创建一个张量 weight_hh torch.tensor([[1, 2], [3, 4]])# 假设批量大小为3 bs 3# 使用 …...

实战项目:通过自我学习让AI学习五子棋 - 1 - 项目定义

项目介绍 五子棋是一种博弈游戏。在棋盘上黑子和白子交替落子&#xff0c;先于在任何方向上将至少五个棋子连在一起的一方获胜。在我们这个项目中我们尝试使用自学习的方法训练出一套走五子棋的算法。 这个项目本身并无特别大的实用价值。我们的目的在于&#xff1a; 尝试自…...

统信UOS开发环境支持Electron

全面支持Electron开发环境,同时还提供了丰富的开发工具和开发资源,进一步提升工作效率。 文章目录 一、环境部署1. Electron应用开发介绍2. Electron开发环境安装安装Node.js和npm安装electron环境配置二、代码示例Electron开发案例三、常见问题一、环境部署 1. Electron应用…...

2024.11.09【BUG报错】| Fastuniq “Error in Reading pair-end FASTQ sequence!”解决方案

解决 Fastuniq 中“Error in Reading pair-end FASTQ sequence!”报错的指南 在使用 Fastuniq 进行高通量测序数据分析时&#xff0c;用户可能会遇到“Error in Reading pair-end FASTQ sequence!”的错误提示。这通常表明在读取配对的 FASTQ 序列时出现了问题。以下是一些可能…...

k8s组件原理

文章目录 1、kubernetes控制平面组件1、kube-apiserver2、etcd3、controller-manager4、schedule 2、node组件1、kubelet2、container runtime3、kube-proxy 3、附加组件1、kubedns2、dashboard 4、创建pod的原理 1、kubernetes控制平面组件 1、kube-apiserver 是公开kubernete…...

0基础跟德姆(dom)一起学AI 深度学习02-Pytorch基本使用

1 基本介绍 &#xff08;1&#xff09;什么是Pytorch? PyTorch是一个开源机器学习和深度学习框架。PyTorch 允许您使用 Python 代码操作和处理数据并编写深度学习算法&#xff0c;能够在强大的GPU加速基础上实现张量和动态神经网络。 PyTorch是一个基于 Python 的科学计算包…...

九州未来再度入选2024边缘计算TOP100

随着数智化转型的浪潮不断高涨&#xff0c;边缘计算作为推动各行业智能化升级的重要基石&#xff0c;正在成为支持万物智能化的关键点。近日&#xff0c;德本咨询(DBC)联合《互联网周刊》(CIW)与中国社会科学院信息化研究中心(CIS)&#xff0c;共同发布《2024边缘计算TOP100》榜…...

《物理化学学报》

《物理化学学报》主要刊载化学学科物理化学领域具有原创性实验和基础理论研究类文章。《物理化学学报》的办刊宗旨是引领物理化学前沿、服务国家战略需求&#xff0c;坚持正确的办刊方针&#xff0c;以促进学术交流及本学科发展为已任&#xff0c;为发现和培养科技人才服务&…...

【数据集】【YOLO】【目标检测】树木倒塌识别数据集 9957 张,YOLO道路树木断裂识别算法实战训练教程!

一、数据集介绍 【数据集】树木倒塌识别数据集 9957 张&#xff0c;目标检测&#xff0c;包含YOLO/VOC格式标注。 数据集中包含2种分类&#xff1a;{0: fallen_tree}&#xff0c;代表倒塌或者断裂的树木。 数据集来自国内外图片网站和视频截图&#xff1b; 可用于无人机树木…...

iOS 18.2 六大新功能外媒實測|ChatGPT進化版SIRI、自製Genmoji

iOS 18.2 測試版再次帶來備受矚目的功能&#xff0c;當中包括 Image Playground、Genmoji&#xff0c;以及很多果迷都期待已久的 Siri與ChatGPT 的整合。外媒實測這些新功能的實際效果和操作體驗&#xff0c;發現當中有不少令人滿意的地方。 1&#xff09;Image Playground-圖像…...

简单介绍一下mvvm mvc mvp以及区别、历史

MVC&#xff08;Model - View - Controller&#xff09; 因MVC架构的灵活性&#xff0c;架构图形式很多&#xff0c;仅供参考 历史&#xff1a; MVC 是最早出现的软件架构模式之一&#xff0c;其历史可以追溯到 20 世纪 70 年代&#xff0c;最初被用于 Smalltalk - 80 环境。…...

达梦8-达梦数据实时同步软件(DMHS)配置-Oracle-DM8

1、安装环境 源端目的端IP地址192.168.6.111192.168.6.110系统版本Red Hat 6.4Kylin v10数据库版本Oracle11g达梦 v8系统用户Oracledmdba字符集MERICAN_AMERICA.AL32UTF8UTF-8端口15215236实例名PRODDMSERVER数据库软件目录/u01/app/oracle/opt/dmdbmsDMHS安装目录/u01/dmhs/o…...

mysql常见死锁的分析

概念: 死锁是指两个或多个事务在数据库操作过程中相互等待对方释放资源&#xff0c;而导致无法继续执行的现象。在 MySQL 中&#xff0c;死锁是较为常见的问题&#xff0c;特别是在高并发环境中。 一、识别死锁 当 MySQL 检测到死锁时&#xff0c;会自动中止其中一个事务&am…...

Go Energy 跨平台(GUI)应用编译和安装包制作

构建打包 energy cli 平台介绍描述windowNSIS安装包制作工具可通过 energy cli 安装linuxdpkg 命令系统自带macosenergy 仅生成 xxx.app系统自带 安装包制作 config/energy_[os].json是初始化应用时自动生成的应用配置文件&#xff0c;在编译和制作应用安装包时使用 Windows…...

众测遇到的一些案列漏洞

文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行…...

大华乐橙设备私有平台EasyCVR视频设备轨迹回放平台支持哪些摄像机?摄像机如何选型?

在现代安全监控系统中&#xff0c;视频监控设备扮演着至关重要的角色。视频设备轨迹回放平台EasyCVR以其卓越的兼容性和灵活性&#xff0c;支持接入多种品牌和类型的摄像机。这不仅为用户提供了广泛的选择空间&#xff0c;也使得视频监控系统的构建和管理变得更加高效和便捷。本…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...