蓝桥杯单片机小蜜蜂学习笔记-PWM脉宽调制

本文详细介绍了如何通过C语言在8051单片机上实现PWM脉宽调制,包括基本原理、占空比设置以及使用定时器函数来控制高电平和低电平的交替,以实现不同档位的灯光调节。
摘要由CSDN通过智能技术生成

参考写前面

学习视频来自

【基础技能11】PWM脉宽调制信号的发生与控制

基本原理

PWM脉宽调制 主要是看占空比 

什么是占空比呢 

就是高电平占整个周期的比例就是占空比

我们通过调整占空比来实现PWM脉宽调制

我们要做的就是利用定时器 一会输出高电平一会输出低电平 生成一个矩形波 根据高低电平的持续时间 完成对占空比的设置

任务

首先这个100hz就是对应着0.01s的周期就是10ms的周期

一开始L1需要关闭 然后是1档-10%的占空比 2档-50%占空比 3档-90%占空比

代码

#include "reg52.h"
#include <intrins.h>

sbit l1=P0^0;
sbit s7=P3^0;
unsigned char count=0;
unsigned char duty=0;
unsigned char stat=0;
void selecthc573(){
	P2=(P2&0x1f)|0x80;
}

void delay(unsigned int n)
{
    unsigned int i,j;
    for(j=n;j>0;j--)
    for(i=112;i>0;i--);
}

//======timer function
void init_t(){
	TMOD=0X01;
	TH0=(65535-100)/256;
	TL0=(65535-100)%256;
	ET0=1;
	EA=1;
}

void ser_timer() interrupt 1{
	TH0=(65535-100)/256;
	TL0=(65535-100)%256;
	count++;
	if(count==duty){
		l1=1;
	}
	else if(count==100){
		l1=0;
		count=0;
	}
}
void key_scan(){
	if(s7==0){
		delay(100);
		if(s7==0){
			switch(stat){
				case 0:
					l1=0;
					TR0=1;
					duty=10;
					stat=1;
				break;
				case 1:
					duty=50;
					stat=2;
				break;
				case 2:
					duty=90;
					stat=3;
				break;
				case 3:
					TR0=0;
					stat=0;
					l1=1;
				break;
			}
			while(s7==0);
		}
	}

}
void main(){
	selecthc573();
	l1=1;
	init_t();
	while(1){
		key_scan();
	}
}

结果展示

单片机PWM调光效果演示

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蓝桥杯单片机定时器小蜜蜂是一个用于学习和实践单片机编程的教学项目。根据引用,在这个项目中,按键等待是一个关键操作,需要将显示时间的模块放在循环中,并且通过定时器中断来控制操作的时间。同时,引用提到LED和数码管的P0口端口被复用,用来记录串口发送的数据和判断按键是否按下。关于蓝桥杯单片机定时器小蜜蜂的具体内容,引用提供了一份目录,其中包括了一些进阶的案例和底层驱动代码的移植与应用。 总结来说,蓝桥杯单片机定时器小蜜蜂是一个教学项目,通过学习它可以了解和练习单片机编程的一些基础和高级操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [蓝桥杯单片机-小蜜蜂老师-工厂灯光控制系统(P15代码)](https://blog.csdn.net/m0_61804419/article/details/129488234)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [备战蓝桥杯单片机倒数第四天 小蜜蜂老师公众号更新内容](https://blog.csdn.net/silver321/article/details/123969400)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值