/**************************************************************************/ //----------------- 直流电机 PWM 调速实验程序----------------// // 测试单片机: STC89C52RC // 晶振: (外部) // 复位方式:内部复位// 调试环境: KEIL4 // 硬件测试环境:使用“清翔电子”单片机开发板测试通过// 程序功能: PWM 也就是脉宽调制, 是指在周期脉冲信号频率不变的情况下, 改变高电平// // 和低电平的比例,也就是改变占空比。 PWM 在灯具调光,直流电机调速方面// // 有着广泛的应用。程序使用定时器 0 中断模拟 PWM 定时, S2、 S3 两个独立按// // 键控制电机速度,为使演示结果明显, PWM 输出// // 到整个 P1 接口,通过板上的 LED 灯可以看到亮度的变化。// /****************************************************************************/ #include <> typedef unsigned char uint8; typedef unsigned int uint16; sbit down = P3^0; sbit up= P3^1; uint8 t= 0; uint8 PWM_T = 0; // 占空比控制变 void delay_1ms(uint16 t) { uint16 x,y; for(x=t;x>0;x--) for(y=120;y>0;y--); } /**************************************************** 主程序****************************************************/ void main(void) { TMOD = 0x02; // 定时器 0 ,工作模式 2,8 位定时模式 TH0=210; // 写入预置初值(取值 1-255 ,数越大 PWM 频率越高) TL0=210; // 写入预置值(取值 1-255 ,数越大 PWM 频率越高) TR0=1; // 启动定时器 ET0=1; // 允许定时器 0 中断 EA=1; // 允许
PWM控制LED灯显示 来自淘豆网m.daumloan.com转载请标明出处.