【电机控制器】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电压采集,评论区欢迎讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/8968.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot基础系列学习(三):日志

文章目录 一丶日志控制台介绍二丶日志的用法三丶日志级别四丶配置文件参数及介绍五丶slf4j 一丶日志控制台介绍 只要引用了spring-boot-starter依赖,就无需引入日志依赖,里面自带了logging依赖,默认情况下,springBoot使用Logback来记录日志,并用INFO级别输出到控制台 二丶日…

鸿蒙系统:安卓与iOS的强劲对手

随着科技的迅猛发展&#xff0c;“纯血鸿蒙”系统HarmonyOS Next 5.0系统的推出引起了业界的广泛关注。用户们对这一新系统充满好奇&#xff0c;急切地想要体验其带来的变革。鸿蒙系统以其创新的设计和技术支持&#xff0c;成为与安卓和iOS并列的第三大操作系统。 鸿蒙系统的独…

Redis - 哨兵(Sentinel)

Redis 的主从复制模式下&#xff0c;⼀旦主节点由于故障不能提供服务&#xff0c;需要⼈⼯进⾏主从切换&#xff0c;同时⼤量 的客⼾端需要被通知切换到新的主节点上&#xff0c;对于上了⼀定规模的应⽤来说&#xff0c;这种⽅案是⽆法接受的&#xff0c; 于是Redis从2.8开始提…

Golang | Leetcode Golang题解之第552题学生出勤记录II

题目&#xff1a; 题解&#xff1a; const mod int 1e9 7type matrix [6][6]intfunc (a matrix) mul(b matrix) matrix {c : matrix{}for i, row : range a {for j : range b[0] {for k, v : range row {c[i][j] (c[i][j] v*b[k][j]) % mod}}}return c }func (a matrix) p…

放电电阻是什么

放电电阻&#xff0c;顾名思义&#xff0c;就是用于放电的电阻。在电路中&#xff0c;当电流突然增大时&#xff0c;如果没有适当的电阻来限制电流&#xff0c;就可能导致电路损坏。因此&#xff0c;放电电阻的作用就是在电路中起到限制电流的作用&#xff0c;防止电路因电流过…

CelebV-Text——从文本生成人脸视频的数据集

概述 近年来&#xff0c;生成模型在根据文本生成和编辑视频方面受到了广泛关注。然而&#xff0c;由于缺乏合适的数据集&#xff0c;生成人脸视频领域仍然是一个挑战。特别是&#xff0c;生成的视频帧质量较低&#xff0c;与输入文本的相关性较弱。在本文中&#xff0c;我们通…

【51单片机数码管的控制开机时前四位数码管显示0000,每按下一次按键后松开数字加121,当数字大于等于8888时清零。】2022-3-18

缘由51单片机数码管的控制-嵌入式-CSDN问答 #include "REG52.h" sbit K1 P3^1; unsigned char code SmZiFu[]{63,6,91,79,102,109,125,7,127,111,128,119,124,57,94,121,113};//0-9. void smxs(unsigned char mz, unsigned char w) {unsigned char Xd0;P2255;P2255…

境内部署DIfy(中篇)

背景&#xff1a; 接 本文上篇中已经讲述了比较友好的一种境内安装Dify 的方式&#xff0c;这种方式可以拉取到最新的镜像源&#xff0c;最新的版本&#xff0c;最为推荐的方案。但由于各种原因或多或少会出现上述方式不成功的可能&#xff08;镜像源又被屏蔽&#xff09;&…

【人工智能】利用大语言模型(LLM)实现机器学习模型选择与实验的自动化

文章目录 引言环境准备数据集说明 项目结构主要文件说明 导入必要的软件包软件包功能简述 辅助函数定义加载配置文件加载数据集预处理数据集函数功能详解 集成LLM进行模型选择调用LLM的函数定义函数功能详解 清理和验证LLM的输出清理超参数建议提取模型名称验证超参数修正超参数…

我与Linux的爱恋:基础IO 软硬连接+动静态库

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:Linux的学习 文章目录 一、软硬链接使用对应的特征 内容 以及作用二、动态库静态库的制作打包与使用生成静态库库搜索路径动态库的打包以及使用生成动态库一、软硬链接 使用 软连接 硬链接​ ​ 通过观察我们可以发现: 1.l…

CCF ChinaOSC |「开源科学计算与系统建模openSCS专题分论坛」11月9日与您相约深圳

2024年11月9日至10日&#xff0c;以“湾区聚力 开源启智”为主题的2024年中国计算机学会中国开源大会&#xff08;CCF ChinaOSC&#xff09;将在深圳召开。大会将汇聚国内外学术界、顶尖科技企业、科研机构及开源社区的精英力量&#xff0c;共同探索人工智能技术和人类智慧的无…

stm8开发笔记--STVD开发软件的安装

文章目录 1 开发软件安装1.1 安装软件1.2 编译器下载安装1.2.1 下载编译器1.2.2 安装1.2.3 添加密钥 1.3 编译器地址配置 2 编程开发2.1 下载软件开发包2.2 解压&#xff0c;打开工程2.3 选择对应芯片2.4 点击重新编译&#xff0c;不要有错误2.5 如果提示你&#xff0c;需要加载…

RNN天气预测

本文为为&#x1f517;365天深度学习训练营内部文章 原作者&#xff1a;K同学啊 与上篇一样&#xff0c;依然是二维数据结构。这里通过构建基础的网络块来做天气类别的预测&#xff0c;网络如下&#xff1a; 预测是否下雨# 1.搭建神经网络 model Sequential() # 添加第一密集…

Elasticsearch如果集群出现节点故障,我应该如何快速定位问题?

当 Elasticsearch (ES) 集群发生故障时&#xff0c;快速定位问题源头非常重要。Elasticsearch 是一个分布式系统&#xff0c;故障可能由多种原因引起&#xff0c;涉及到硬件、配置、网络、集群本身的健康状况等多个层面。以下是一些定位问题的步骤和工具&#xff1a; 检查集群…

科研绘图系列:R语言热图和点图(heatmap dotplot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包准备画图主题数据链接导入数据热图1热图2其他图1其他图2系统信息介绍 热图(Heatmap)是一种数据可视化技术,用于通过颜色的变化来展示数据矩阵中的数值大小。它通常由行和…

【Leecode】Leecode刷题之路第44天之通配符匹配

题目出处 44-通配符匹配-题目出处 题目描述 个人解法 思路&#xff1a; todo代码示例&#xff1a;&#xff08;Java&#xff09; todo复杂度分析 todo官方解法 44-通配符匹配-官方解法 前言 本题与10. 正则表达式匹配非常类似&#xff0c;但相比较而言&#xff0c;本题稍…

智象未来(HiDream.ai):从科技创新启程,绘制智能未来新篇章

在人工智能领域飞速演进的当下&#xff0c;智象未来&#xff08;HiDream.ai&#xff09;作为全球领先的多模态生成式人工智能技术供应商&#xff0c;正以其独树一帜的视觉多模态大模型及创新应用&#xff0c;推动行业趋势的前进。智象未来&#xff08;HiDream.ai&#xff09;自…

用 Python搭建一个微型的HTTP服务器用于传输 2024/11/9

使用内置的 http.server 模块,来搭建微型服务器。 快速启动服务器http.server --- HTTP 服务器Python 3.13.0 文档 声明:文章代码部分 由 ai 生成 创建一个简单的文件共享服务器 进入 需要共享的目录 再打开cmd 输入以下代码 python -m http.server 8000 打开服务器 设置主…

【分布式事务】二、NET8分布式事务实践: DotNetCore.CAP 框架 、 消息队列(RabbitMQ)、 数据库(MySql、MongoDB)

介绍 [CAP]是一个用来解决微服务或者分布式系统中分布式事务问题的一个开源项目解决方案, 同样可以用来作为 EventBus 使用 github地址:https://github.com/dotnetcore/CAP官网地址: https://cap.dotnetcore.xyz/官网文档:https://cap.dotnetcore.xyz/userguide/zh/cap/id…

【Syncfusion系列】Diagram 杂谈第一篇

前言 我认为 Diagram 是 Syncfusion 中首屈一指的优秀控件&#xff01;最近在写一个工作流引擎&#xff0c;前端界面就用的是Diagram &#xff0c;接下来就来看一看。 Diagram的事件 查看 SfDiagram的属性&#xff0c;如果想实现什么事件&#xff0c;就看这些Command结尾的…