一、pwm
pulse width modulation脉冲宽度调制,简称pwm。
pwm(脉冲宽度调制)对模拟信号电平进行数字编码的方法,计算机只能输出0或5v的数字电压值而不能输出模拟电压,而我们如果想获得一个模拟电压值,则需通过使用高分辨率计数器,改变方波的占空比来对一个模拟信号的电平进行编码。
仍输出数字信号,因为满幅值的直流供电只有5v(1)和0v(0)两种。电压是以一种连接(1)或断开(0)的重复脉冲序列被夹到模拟负载上去的,连接即是直流供电输出,断开即是直流供电断开。通过对连接和断开时间的控制,只要带宽足够,可以输出任意不大于最大电压值的模拟电压。
输出电压=(接通时间/脉冲时间)*最大电压值
12
二、51单片机的timer
作者用的单片机是stc89c52,其内部有3个16位timer,分别为t/c0,t/c1,t/c2,通过配置相关寄存器即可实现timer的功能控制。
控制pwm需要用到定时器来生成不同占空比的波形,采用定时器中断的方式。
相关寄存器:
1.ie寄存器
2. tcon寄存器
3. tmod寄存器
控制timer0/1的工作方式
4. timer0/1计数寄存器
tl0
tl1
th0
th1
当定时开启后,tl0(tl1)自动跟随机器周期加一。当tl0(tl1)满了后,自动清零同时向th0(th1)进一位,不需要手动操作.
而当tl0(tl1)和th0(th1)都满了以后,此时如果定时中断和总中断都已经打开,那么就会发生溢出中断,同时这两个寄存器清零
三、运用pwm完成呼吸灯
1. 硬件电路
2. 软件驱动
unsigned char pwm_count; //计数
unsigned int huxi_count; //占空比更新时间
unsigned char pwm_vlaue; //占空比比对值
bit direc_flag; //占空比更新方向
void timer0_init()
{
tmod=0x02; //模式设置,00010000,定时器0,工作于模式2(m1=1,m0=0)
th0=0x47; //定时器溢出值设置,每隔200us发起一次中断。
tl0=0x47;
tr0=1; //定时器0开始计时
et0=1; //开定时器0中断
ea=1; //开总中断
pwm_count =0;
}
void time0() interrupt 1
{
pwm_count++;
huxi_count++;
if(pwm_count == pwm_vlaue) //判断是否到了点亮led的时候
led = 1; //点亮led
if(pwm_count == 10) //当前周期结束
{
led = 0; //熄灭led
pwm_count = 0; //重新计时
}
if((huxi_count == 600) && (direc_flag == 0))
{ //占空比增加10%
huxi_count = 0;
pwm_vlaue++;
if(pwm_vlaue == 9) //占空比更改方向
direc_flag = 1;
}
if((huxi_count == 600) && (direc_flag == 1))
{ //占空比减少10%
huxi_count = 0;
pwm_vlaue--;
if(pwm_vlaue == 1) //占空比更改方向
direc_flag = 0;
}
}
void main()
{
huxi_count = 0;
pwm_count = 0;
pwm_vlaue = 5;
direc_flag = 0;
led = 1; //默认led熄灭
timer0_init(); //定时器0初始化
while(1);
}
荣耀V30手机曝光将搭载麒麟990处理器支持双模5G网络
比亚迪成大众电池供应商“种子选手”?
Eve推出采用IPS面板的240Hz刷新率27寸1440p显示器
中环半导体入选天津市制造业单项冠军企业名单
中国移动运营数据显示在有线宽带方面客户总数已达到1.5669亿户
STC89C52通过配置相关寄存器即可实现Timer的功能控制
TDK推出三款全新MEMS麦克风产品 突破了传统麦克风声学性能的界限
单片式降压型开关稳压器LT1938的性能特点及应用范围
基于MSP430和nRF905实现无线数传系统的设计
可学习编程的雪花状LED灯板设计
上海贝岭推出16通道16位1MS/s模数转换芯片BL1088
2023Q2全球WLAN市场:思科、HPE、华为位列前三
数控等离子切割机正确使用方法,帮你快速入门
中国率先实现无人机送快递,未来或可在战场收快递
如何使用51单片机进行带wifi APP查看功能的zigbee温湿度传输及控制
Java11GC 性能基准测试报告 Java8与Java11对比测试
基于电流源使LM324运算放大器的输出电流降到地电平之上
fCoder:2PDF 2.0发布
华为正在全力打造面向5G平滑演进的1+1站点
选择NB-IoT模块也有技巧?