STC89C52学习笔记(十一)

STC89C52学习笔记(十一

综述:本文讲述了直流电机以及PWM调速。

一、直流电机

1、特点

(1)直流电机能将电能转化位机械能。

(2)直流电机有两个电极,电极正接时,电机正转;电极反接时,电机反转。

(3)电机的功率比较大,不可以直接接在单片机的IO口上,需要在IO口和电机之间接驱动电路。

2、常见的两种驱动电路

(1)直接驱动电路:电机只能固定一个方向转动。

①三极管直接驱动

电路原理:如果IN输入低电平,三极管导通,电流从电源流向三极管流向电机。当IN输入高电平时,三极管截止,电流不导通,而由于电机是一个感性元件,电流不能突变,于是,电机会产生一个极大的电压,这时,电机和三极管产生对抗:当电机的感性很大时,三极管击穿或者IO击穿,对电路的稳定性和安全性造成影响。所以这里必须要有二极管,做续流二极管的作用,可以在三极管断开时,和电机形成回路,使电机的电流流向二极管,逐渐消耗电流,达到保护电路的作用。

(拓展:如果电路中有电感元件,由于电流不能突变,那么可能会产生一个高于电源的电压,产生巨大的危险。)

②ULN2003驱动电路

ULN2003驱动电路也是只能使电机往一个方向转动的电路。由于ULN2003内部相当于有达林顿管,也能够达到保护电路的作用,左移可以直接在芯片外部接电机(Vcc接电机正极,OUT1接电机负极),当P10为高电平时,OUT1输出为低电平,电机转动。

(2)H桥驱动电路:电机可以向两个方向转动。

IN1和IN4导通,IN2和IN3断开时,电机正转;IN2和IN3导通,IN1和IN4断开时,电机反转。这里由于电机既能正转,又能反转,所以不需要加续流二极管,也能具有很强的耐压性。

二、PWM

1、PWM调速原理

通过控制开关断开闭合来控制电机速度(脉冲宽度调制)。由于PWM在开关断开时不会立马停止,所以,当单片机快速断开开关,再打开开关时,电机还是转动的,而且,电机会以一个比一直闭合开关小的速度在转动。当电机断开的时间占比越大时,速度就会越小,因此,可以通过控制开关断开闭合时间来控制电机的速度。(类似于开关电源的原理,开关电源是控制开关断开闭合时间来控制输出电压。)

注意:需要在惯性系统里!

2、PWM相关参数

Ts是周期,Ton是高电平时间,Toff是低电平时间。频率f=1/Ts,占空比=Ton/Ts,精度=占空比变化布距(一般会保证调制时间一样的情况下来调整占空比,不同也行)

三、代码

1、LED不同亮度

(1)直接给LED赋值来实现
While(1){LED=0;LED=1;LED=1;LED=1;LED=1;LED=1;LED=1;}
(2)利用延时函数来实现
While(1){LED=0;Delay(5);LED=0;Delay(95);}
(3)利用定时器来实现

思路:利用定时器和计数器来实现计数,再通过计数的值和比较值相比来实现置1还是置0,实现LED占空比,最终实现改变比较值的大小就能控制LED亮度。

void Timer0 Routine (interrupt 1
{TL0=0x9C;TH0=0xFF;Counter++;Counter%=100;if (Counter<Compare){LED=0}else{LED=1;}
}

2、LED呼吸灯

(1)在while里运用for循环和延时函数

思路:

①使LED亮一小段时间,灭一小段时间,使LED达到一种亮度;

②延长①状态相应的时间,呈现维持LED亮度的现象;

③慢慢增加LED高电平的时间,呈现LED慢慢变亮的现象;

④再慢慢减少LED高电平的时间,呈现LED慢慢变暗的现象;

⑤循环增加LED高电平的时间与减少LED高电平的时间,呈现LED慢慢变暗后又慢慢变亮的,达到一种呼吸灯的效果。

while(1){for(Time=0;Time<100;Time++)		{for(i=0;i<20;i++)			{LED=0;					Delay(Time);			LED=1;					Delay(100-Time);		}}for(Time=100;Time>0;Time--)		{for(i=0;i<20;i++)			{LED=0;					Delay(Time);			LED=1;					Delay(100-Time);		}}}
}

(2)利用定时器

由于(1)需要不断进行for循环和Delay,占用太多CPU资源,于是可以利用定时器来实现减少CPU资源浪费。


参考视频:51单片机学习.视频

侵权联系删除!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【核心完整复现】基于目标级联法的微网群多主体分布式优化调度

1 主要内容 之前发布了华电学报的复现程序《基于目标级联法的微网群多主体分布式优化调度》&#xff0c;具体链接为【防骗版】基于目标级联法的微网群多主体分布式优化调度&#xff0c;虽然对模型及结果进行了复现&#xff0c;但是部分模型细节和参数并没有完全实现&#xff0…

【leetcode面试经典150题】47. 最长连续序列(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…

2024长三角快递物流高质量创新发展论坛

2024长三角快递物流供应链与技术装备展览会&#xff08;杭州&#xff09; 2024年7月8-10日 | 杭州国际博览中心 指导单位&#xff1a;浙江省邮政管理局 中国快递协会 主办单位&#xff1a;浙江省快递行业协会 联合主办&#xff1a;上海市快递协会 江苏省快递协会 安徽省快递…

Ajax跨域请求

解决 AJAX 跨域请求的方法有几种。跨域请求指的是通过 AJAX 在不同域名、端口或协议下进行的请求&#xff0c;由于浏览器的安全策略限制&#xff0c;这些请求可能会被阻止。以下是一些常见的解决方法&#xff1a; 1、使用服务器代理 在你的服务器上创建一个代理&#xff0c;将…

ubuntu22下使用vscode调试redis7源码环境搭建

ubuntu22下使用vscode调试redis7源码环境搭建 ##vscode launch.json配置文件 {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息&#xff0c;请访问: https://go.microsoft.com/fwlink/?linkid830387"version": "0.2.0&…

【DL水记】循环神经网络RNN的前世今生,Transformer的崛起,Mamba模型

文章目录 RNN网络简介传统RNN网络结构RNN的分类 长-短期记忆网络 (LSTM)GRU网络横空出世的Transformer网络Self-AttentionVisionTransformer Mamba模型Reference: RNN网络简介 “当人类接触新事物时&#xff0c;他们不会从头开始思考。就像你在阅读这篇文章时&#xff0c;你会根…

目标检测笔记

目标检测笔记 one-stage和two-stage目标检测算法Two-Stage 目标检测算法One-Stage 目标检测算法既然Faster R-CNN使得候选区域生成和目标检测可以在同一个网络中端到端训练&#xff0c;为什么它还是属于Two-stage算法&#xff1f; 目标检测模型&#xff0c;训练中的正负样本是什…

根据ELK官网指引部署ELK- ECK-Elastic-​ Kibana​-Learn-ELK-(一)

**Attention: 1、You need open the ELK official website and step by step to deploy . 2、If you copy my command ,you must check them if it not match your environment . 一、official website Elastic documentation | Elastic Check there. 二、 ECK简介…

常用接口测试工具/免费api

一 接口编辑文档 常用的接口文档编写apipost 二 免费接口测试 api 1. thecat 含有&#xff1a; The Cat API - Cat as a Service The Cat API 2. public-apis 进入页面往下拉 三 常用接口测试工具 postman 四 常用接口性能测试工具 Jmeter&#xff0c;loadrunner

FRDM-MCXN947开发板之RGB灯

一、背景 RGB LED&#xff1a;通过红、绿、蓝三种颜色组合发光的LED&#xff0c;可以理解由三个不同发光属性的LED组成&#xff0c;这个是LCD平板显示原理的基础&#xff0c;一个LED相当于屏幕上面的一个像素 FRDM-MCXN947集成了一块RGB LED&#xff0c;它由三个GPIO口驱动&am…

2024 Guitar Pro 8.1.2-27 (x64) win/mac中文激活版破解版

吉他爱好者必备神器&#xff1a;Guitar Pro v8.1.1 Build 17深度解析 随着数字音乐制作和学习的日益普及&#xff0c;越来越多的吉他爱好者开始寻找能够帮助他们提升技能、创作音乐的专业工具。在众多吉他制作软件中&#xff0c;Guitar Pro因其强大的功能和易用的界面备受推崇…

Docker Image (镜像) 常见命令

Docker Image (镜像) 常用命令 docker images 功能&#xff1a;列出本地所有的镜像。如果镜像 ID 相同&#xff0c;但是 Tag 标签不同&#xff0c;也会被当作不同的条目被列出来。 语法&#xff1a; docker images [options] [REPOSITORY[:TAG]] 别名&#xff1a; docker ima…

如何对图像进行聚类

文章来源&#xff1a;https://medium.com/voxel51/how-to-cluster-images-6e09bdff7361 2024 年 4 月 10 日 使用 FiftyOne、Scikit-learn和特征嵌入 在 2024 年深度学习的计算密集型环境中&#xff0c;集群一词最常出现在讨论 GPU 集群时--高度优化的矩阵乘法机器的大规模集…

Mac下安装NVM,NVM安装Node(附带NPM)

1、理解NVM、node、NPM 什么是NVM&#xff1f; NVM: Node.js Version Manager&#xff0c;用来管理 node 的版本。 什么是 Node.js? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js使用了一个事件驱动、非阻塞式I/O的模型&#xff08; Node.js的特性&…

海洋信息管理系统:守护蓝色星球,促进海洋经济新发展

海洋&#xff0c;覆盖地球表面超过七成的广阔水域&#xff0c;是生命之源&#xff0c;也是经济发展的重要空间。然而&#xff0c;随着人类活动的增加&#xff0c;海洋生态环境面临严峻挑战&#xff0c;海洋资源的可持续利用成为全球关注的焦点。在这样的背景下&#xff0c;构建…

数字IC/FPGA——亚稳态及跨时钟域

什么是亚稳态亚稳态会造成什么平均故障间隔时间如何解决亚稳态同步时钟和异步时钟单bit电平信号如何跨时钟域单bit脉冲信号如何跨时钟域多bit信号如何跨时钟域 目录 一、亚稳态1.基本概念2.危害3.平均故障时间4.解决亚稳态的方法 二、跨时钟域1.同步电路和异步电路&#xff08;…

Redis 是如何实现消息队列的?

队列的三个需求 消息队列在存取消息时&#xff0c;必须要满足三个需求&#xff0c;分别是消息保序、处理重复的消息和保证消息可靠性 需求一&#xff1a;消息保序。消费者仍然需要按照生产者发送消息的顺序来处理消息&#xff0c;避免后发送的消息被先处理了 需求二&#xf…

链表linked list: 将新节点链接到链表的末尾

// 在链表中插入新节点 // 这段代码定义了一个名为 insert 的函数&#xff0c;用于在链表中插入新节点。让我解释一下这段代码的逻辑&#xff1a; // 函数接受两个参数&#xff1a;指向链表头节点的引用 head 和要插入的新节点的值 value。 // 首先&#xff0c;它创建了一个新的…

RNN知识体系构筑:详尽阐述其理论基础、技术架构及其在处理序列数据挑战中的创新应用

一、为什么需要RNN 尽管神经网络被视为一种强大且理论上能够近似任何连续函数的模型&#xff0c;尤其当训练数据充足时&#xff0c;它们能够在输入空间中的某个点( x )映射到输出空间的特定值( y )&#xff0c;然而&#xff0c;这并不能完全解释为何在众多应用场景中&#xff…

牛客2024【牛客赛文X】春招冲刺ONT61 每日温度【hard 单调栈 Java、Go、PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/1f54e163e6944cc7b8759cc09e9c78d8 思路 单调栈最直接的应用就是获取数组中每个位置i,i的左边第一个比i大或者小的位置/数以及,i的右边第一个比i大或者小的位置/数不懂的同学看这里https://blog.csdn.net/Borsl…