【蓝桥杯练习-PWM脉宽调制】
PWM脉宽调制
内容来自b站小蜜蜂老师
一、什么是脉宽调制
PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%高低电平在一个周期内各占一半
二、pwm实际运用 led调光
#include "reg52.h"/********************************************
Date:2022-1-11
Author:小殷同学
Learn From:B 站小蜜蜂老师
*********************************************/unsigned int count = 0; //计数
unsigned char pwm_duty = 0; //记录占空比
unsigned char status = 0; //状态记录sbit S7 = P3^0; //按键
sbit L1 = P0^1; //led//------------------------------简单延时函数-------------------------
void Delay(unsigned int t)
{while(t--);
}
//--------------------------------------------------------------------//--------------------------74HC138初始化---------------------------
void Init_74HC138(unsigned char n)
{switch(n){case 4: P2 = P2 | 0x1f; P2 = 0x80; break;case 5: P2 = P2 | 0x1f; P2 = 0xa0; break;case 6: P2 = P2 | 0x1f; P2 = 0xc0; break;case 7: P2 = P2 | 0x1f; P2 = 0xe0; break; }
}
//--------------------------------------------------------------------//-----------------------------系统初始化-----------------------------
void InitSystem(void)
{Init_74HC138(5); //Y5选通P0 = 0x00; //关闭继电器和蜂鸣器Init_74HC138(4); //Y4P0 = 0xff; //关闭LED}
//----------------------------------------------------------------------//-------------------------------定时器0初始化-------------------------
void Init_Timer0(void)
{TMOD = 0x01; //定时0 方式二16位//100usTH0 = (65535-100)/256; //高八位 TL0 = (65535-100)%256; //低八位ET0 = 1; //定时器0中断使能EA = 1; //总中断
}
//----------------------------------------------------------------------//--------------------------------按键处理函数----------------------------
void Key_Tackle(void)
{if(S7 == 0){Delay(50);if(S7 == 0){switch(status){case 0: L1 = 0; TR0 = 1; pwm_duty = 10;status = 1;break;case 1: pwm_duty = 50;status = 2;break;case 2: pwm_duty = 90;status = 3;break;case 3: L1 = 1; TR0= 0;status = 0;break;}while(S7 == 0);}}}void main(void)
{InitSystem();Init_Timer0();Init_74HC138(4);while(1){Key_Tackle();}}//--------------------------定时器0中断服务函数-------------------------
void Server_Timer0() interrupt 1
{//该方式没有自动重装载 需要手动重新配置TH0 = (65535-100)/256; //高八位TL0 = (65535-100)%256; //低八位count++;if(count == pwm_duty){L1 = 1;}else if(count == 100){L1 = 0;count = 0;}
}
//---------------------------------------------------------------------
【蓝桥杯练习-PWM脉宽调制】相关推荐
- STM32蓝桥杯嵌入式PWM输出
文章目录 前言 一.原理图 二.定时器输出PWM原理 三.cubemx的配置 四.代码编写 五.波形查看 总结 前言 本篇文章将为大家讲解定时器的PWM输出,PWM可以说是一个比较重要的考点希望大家能 ...
- 蓝桥杯单片机学习记录(8)(PWM脉宽调制)
PWM脉宽调制 PWM(Pluse Width Modulation)简称脉宽调制,是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从 ...
- 蓝桥杯单片机学习7——PWM脉宽调制控制LED的亮度
上期我们学习了定时器的相关内容,这次我们来学习PWM脉宽调制 什么是PWM PWM(Pulse Width Modulation)简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有 ...
- 【蓝桥杯单片机(14)】PWM波实现呼吸灯
PWM:Pulse-Width Modulation的缩写,中文意思为脉冲宽度调制,它是一种占空比可控制的脉冲波形 占空比:一个完整的脉冲周期,是由高电平和低电平组成的,而占空比表示在一个脉冲周期里, ...
- 蓝桥杯单片机比赛学习:8、PWM的基本原理之呼吸灯
经过7节的学习,我们已经掌握了基本的硬件的使用规则,从本节开始我们开始学习一些模块的使用PWM.PCF8591.AT24C02.DS18B20.DS1302.555频率测量.光敏电阻测量.超声波测距等 ...
- 【蓝桥杯单片机组模块】14、STC15定时器2的PWM使用
微信搜索:ReCclay,也可免费阅读博主蓝桥系列所有文章,后台回复"代码"即可获取蓝桥所有备赛代码!关注博主公众号,还可拥有加入博主粉丝群实时沟通技术难题.免费下载CSDN资源等 ...
- 蓝桥杯STM32G431RBT6学习——定时器PWM输出
蓝桥杯STM32G431RBT6学习--定时器PWM输出 前言 PWM波输出作为定时器的一个常用功能,也属于高频的考点.从数据手册的定时器解析可以了解到(上篇描述):除了基本定时器(TIM6.7)外, ...
- 【STM32G431RBTx】备战蓝桥杯嵌入式→基本模块→TIM→PWM
文章目录 前言 PWM 1.配置元素以及配置步骤 2.编写代码 3.演示效果 总结 前言 前面我们以及学完了按键的单,双,长击写法,这其实都是归功于定时器TIM的计时功能,这篇文章讲述的是TIM的输出 ...
- 蓝桥杯物联网例程下载
今年是蓝桥杯物联网的第一届 我也是赶快买了物联网的开发板 这是附带的例程和一些综合实验 仅供参考练习 里面所有的例程大概花了两周实现了大部分(有一些例如ADC和PWM的 手头没有示波器和电压表就没有做 ...
- 【Pre蓝桥杯嵌入式】【STM32】学习索引
写在前面 0.专栏链接 1.Unkown device 2.移植LCD程序+建立工程+LCD程序分析 3.如何直接使用LCD例程来作为赛场使用的工程 学习目录 ...
最新文章
- 平流式隔油池计算_当隔油池整改工作遇上“露天铁板烧”
- 详细介绍Java垃圾回收机制
- Python应用matplotlib绘图简介
- go map的定义和使用 键值对存储
- UVA10943简单递推
- beanutil 批量copy_Apache Commons Beanutils对象属性批量复制(pseudo-singleton)
- CTFshow php特性 web134
- Bootstrap 表格
- LeetCode77:Combinations
- Office Communication Server(OCS) 2007存档和CDR的部署
- html教程padding,HTML CSS——margin和padding的学习
- 数据绑定控件Reperter
- hbuilder能写php项目吗,如何在Android中使用HBuilder中的项目
- 全网最全AE中英文界面对照表分享
- 面试之MySQL调优问题
- 容器监控cadvisor
- 腾讯云海外音视频技术架构 — 挑战和优化
- 【考研】数据库知识点总结
- 0910期即将上市:优秀产品三部曲
- 杰理AC692X学习-BLE与APP端发送与接收