【问题标题】:How to make this for loop both dim and brighten the LED?如何使这个for循环既使LED变暗又使LED变亮?
【发布时间】:2018-11-28 12:51:11
【问题描述】:

我的老师制作了一个 for 循环,它可以调暗(或调亮)连接到 PIC18F2455 的 LED。我必须让代码两者都做,先变亮,然后变暗,但我的 C 技能还不够好。我怎样才能做到这一点?

int count=500;
while(1){
    for (int i=0; i<count;i++){
        LED = 0;
        for(int j=0;j<i;j++);
            LED = 1;
        for (int j=0;j<count-i;j++);
    }
}

【问题讨论】:

  • 有两种“调暗” LED 的方法:控制其电压,或使其以不同的频率闪烁(闪烁越快,看起来越亮)。您可以使用以下哪种方法?
  • 第三个for循环执行了吗?
  • main() 在哪里?
  • 对不起。这段代码在 main 函数中。
  • 我应该使用这个 for 循环来调暗和调亮 LED。使用此设置,它只会增加关闭时间并减少关闭时间,直到完全关闭,然后重新开始循环。

标签: c microchip pwm pic18


【解决方案1】:

您可以使用 PWM 设置亮度,也可以使用这种方式设置调暗和调亮。第二种方法是您可以将其与类似的软件一起使用。

您可以使用 ms 变量并设置亮度。

#define MAX_DELAY 1000;
int ms=0;

while(1) {
LED=0;
delayMs(ms);
LED1(1)
delayMs(MAX_DELAY-ms);  
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    相关资源
    最近更新 更多