就是我写呼吸灯的程序然后烧录到单片机里面的时候,在执行的时候呼吸灯会突然闪烁一下,不知道为什么
/*********************************************************************
函数名:呼吸灯
原理:利用调节某一时间段的灯的占空比从而制成呼吸灯
调用值:
参数:上下左右
返回值:
结果:可以实现呼吸灯,就是灯的亮度发生变化
备注:
日期:2019.1.18.
***********************************************************************/
单片机源码:
- #include <reg52.h> //此包含了51单片机的部分功能
- #define uint unsigned int
- #define uchar unsigned char
- sbit PWM=P1^5; //设置的关于呼吸灯的为P1^5;
- uint cycle,high,low;
- void delay(uint i)
- {
- while(i--); //此为延时函数
- }
- void main()
- {
- cycle=500; // 给全局变量cycle定一个初值500
- while(1)
- {
- for(high=100;high<=cycle;high++) //给high一个初值,当实现 自加可以了
- {
- PWM=1;
- delay(high);
- low=cycle-high;
- PWM=0;
- delay(low);
- // PWM=0;
- // delay(high);
- // PWM=1;
- // delay(low);
- }
- high=1;
- delay(1000);
- }
- }
复制代码
|