|
陳潤源home 發(fā)表于 2019-3-22 16:28 51單片機PWM調(diào)制實現(xiàn)模擬呼吸燈(Proteus仿真+程序
http://www.zg4o1577.cn/bbs/dpj-153979-1.html
- #include<reg52.h> //調(diào)用含有51專用寄存器的頭文件
- #define uchar unsigned char //用uchar代替unsigned char
- #define uint unsigned int //用uint代替unsigned int
- void delayms(int xms) //脈寬調(diào)制函數(shù)
- {
- while(xms--);
- }
- void main() //主函數(shù)
- {
- 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); //增加看到的熄滅效果
- }
- }
其中
- void delayms(int xms) //脈寬調(diào)制函數(shù)
- {
- while(xms--);
- }
感覺用的很巧妙,但細(xì)細(xì)品味又實在不明白怎么解釋,請大神們誰知道給我們這些小白講講唄。謝謝各位。
|
|