源码 1 -- LED 脉冲宽度调制(PWM)调光
时间:11-17
来源:互联网
点击:
最近迷上了单片机,借着大学的一点儿基础,开始自学 C51 单片机编程,跟着教程看完了发光二极管 LED 相关的编程,编写以下 LED PWM 调光程序作为总结。
先说一下 PWM 调光,PWM 就是“脉冲宽度调制”,就是在一个固定周期内,改变高低电平的比例,使 LED 呈现不同的明暗程度。
博主编了一个比较简单的:在 CYCLE 个脉冲的周期内,低电平脉冲 PWM_LOW 的个数从 0 递增到 CYCLE,高电平脉冲的个数当然就会递减,这样 LED 就会呈现出“渐亮”的效果,“渐暗”与此同理。
附上源码:(初出茅庐,难免有写的不好的地方,仅作备份之用,欢迎指点,喷子退散……)
#include
#defineCYCLE 300// 定义一个周期有 300 个脉冲
voidDelay(unsigned intt);
sbitLED = P1^0;
voidmain(void)
{
unsigned intPWM_LOW;// 低电平的个数
unsigned intPWM_HIGH;// 高电平的个数
while(1) {
for(PWM_LOW=0; PWM_LOW
Delay(PWM_LOW);
LED = 1;
Delay(CYCLE-PWM_LOW);
}
for(PWM_HIGH=0; PWM_HIGH
Delay(PWM_HIGH);
LED = 0;
Delay(CYCLE-PWM_HIGH);
}
}
}
voidDelay(unsigned intt)
{
while(t--);
}
C51LED脉冲宽度调制PW 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)