利用PWM调制实现呼吸灯效果
废话不多说直接上链接
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- //功能:通过PWM调制模拟呼吸灯
- //名称:呼吸灯
- #include<reg52.h> //调用含有51专用寄存器的头文件
- #define uchar unsigned char //用uchar代替unsigned char
- #define uint unsigned int //用uint代替unsigned int
- void delayms(int xms) //脉宽调制函数
- {
- while(xms--);
- }
- void main() //主函数
- {
- uint T=400,N=0; //定义周期
- while(1)
- {
-
- for(N=1;N<T;N++) //从暗逐渐变亮
- {
- P1=0x00;
- delayms(N);
- P1=0xff;
- delayms(T-N);
- }
- P1=0xff;
- for(N=T-1;N>0;N--) //从亮逐渐变暗
- {
- P1=0x00;
- delayms(N);
- P1=0xff;
- delayms(T-N);
- }
- delayms(N+10); //增加看到的熄灭效果
- }
- }
复制代码
所有资料51hei提供下载:
呼吸灯.rar
(26.55 KB, 下载次数: 562)
|