您的位置 首页 动态

【C51】源码 1 — LED 脉冲宽度调制(PWM)调光

最近迷上了单片机,借着大学的一点儿基础,开始自学C51单片机编程,跟着教程看完了发光二极管LED相关的编程,编写以下LEDP…

  最近迷上了单片机,借着大学的一点儿根底,开端自学 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 LED = 0;
Delay(PWM_LOW);
LED = 1;
Delay(CYCLE-PWM_LOW);
}

for(PWM_HIGH=0; PWM_HIGH LED = 1;
Delay(PWM_HIGH);
LED = 0;
Delay(CYCLE-PWM_HIGH);
}
}
}

voidDelay(unsigned intt)
{
while(t–);
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/268068.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部