C51 单片机开发认识 PWM
共 1010字,需浏览 3分钟
·
2024-06-14 07:30
公众号文章同步阅读网址:www.netor0x86.com
闲话:前段时间感叹达梦要上市了,前天他真的敲钟了。发行价80多,首日的收盘价200多,的确厉害!在信创的环境中,国产的 IT 基础设施……希望不单单是数据库吧,操作系统、编译器……希望独立自主的技术能够越来越多。
本篇文章来整理 PWM 的概念。
0x01:PWM 简介
在单片机控制一些外设时,通过 I/O 口输出高电平或者低电平就可以完成控制,比如我们的 LED 或者是继电器,都是通过高电平或者低电平来完成控制。因为它们都比较简单,只有两种状态吧。但是对于有些外设是无法单纯的使用一个高电平或者一个低电平来完成。它们需要输出一段波形,对模拟信号电平进行数字编码来完成控制。
这样就有一个概念被称为 PWM,它的英文是 Pulse Width Modulation,是脉冲宽度调制的缩写。它是通过对一系列脉冲的宽度进行调制,等效输出所需要的波形,对模拟信号电平进行数字编码。也就是说通过调节占空比的变化来调节信号、能量等的变化。
0x02:占空比
占空比对于 PWM 是一个比较重要的概念。占空比是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比。比如一个周期需要 2ms 的高电平,需要 2ms 的低电平,那么占空比则是 50%,如果一个周期需要 3ms 的高电平,需要 2ms 的低电平,那么占空比则是 60%。
0x03:单片机对 PWM 的支持
PWM 可以通过芯片内部的模块进行输出,也可以通过 I/O 口进行模拟。普通的 STC89C52 是没有硬件支持 PWM 的,因此只能使 I/O 进行模拟,相对于硬件 PWM 来说精确度略差。
我是一个程序员,了解 C、PHP、Java、ASM、Python,有 信安、CISP 证书,写小白也能看得懂的文章,感谢关注!!!
我的网站:https://www.netor0x86.com
我录制的视频课程:
1. 入门级栈溢出分析
2. WEB端获取MAC地址真实项目案例
3. PHP扩展模块开发之DLL编写与调用
4. C语言零基础入门教程
5. PE 文件结构初识与二进制手写可执行程序