1、51单片机PWM的控制呼吸灯51 单片机 PWM 的控制(呼吸灯)一、PWMPulse Width Modulation 脉冲宽度调制,简称 PWM。PWM(脉冲宽度调制)对模拟信号电平进行数字编码的方法,计算机只能输出 0 或 5V 的数字电压值而不能输出模拟电压,而我们如果想获得一个模拟电压值,则需通过使用高分辨率计数器,改变方波的占空比来对一个模拟信号的电平进行编码。仍输出数字信号,因为满幅值的直流供电只有 5V(1)和 0V(0)两种。电压是以一种连接(1)或断开(0)的重复脉冲序列被夹到模拟负载上去的,连接即是直流供电输出,断开即是直流供电断开。通过对连接和断开时间的控制,只要带宽足
2、够,可以输出任意不大于最大电压值的模拟电压。输出电压=(接通时间/脉冲时间)*最大电压值12二、51 单片机的 Timer作者用的单片机是 STC89C52,其内部有 3 个 16 位 Timer,分别为T/C0,T/C1,T/C2,通过配置相关寄存器即可实现 Timer 的功能控制。控制 PWM 需要用到定时器来生成不同占空比的波形,采用定时器中断的方式。相关寄存器:1.IE 寄存器 位 名称 功能 0 EX0 外部中断 0 的中断允许位 1 ET0 Timer0 的溢出中断允许位 2 EX1 外部中断 1 的中断允许位 3 ET1 Timer1 的溢出中断允许位 4 ES 串行口中断允许位 5 ET2 Timer 6 - - 7 EA 中断允许总控制位2. TCON 寄存器 位 名称 功能 0 IT0 外部中断 0 的触发方式选择位。功能和 IE1 类似 1 IE0 外部中断 0 的中断请求标志位。功能和 IE1 类似