【发布时间】:2015-05-12 05:46:29
【问题描述】:
我正在使用按钮进行锻炼。当按下按钮时,LED 开始闪烁,再次按下时停止。当我尝试第 1 次按下时 LED 闪烁,但第 2 次没有停止。我正在使用带有 HiTech C 编译器的 PIC16F877A MCU。我的代码是:
#include<pic.h>
#define _XTAL_FREQ 20000000
void main()
{
TRISB = 0x01;
PORTB = 0x00;
while(1){
if(RB0 == 1){
while(1){
PORTB = 0xff;
__delay_ms(250);
PORTB = 0x00;
__delay_ms(250);
if(RB0 == 1){
break;
}
}
}
}
}
【问题讨论】:
-
IMO 您应该使用 PWM 输出和中断输入,目前,您的输入仅在第一次按下后每 500 毫秒验证一次,并且持续大约几分之一秒,从而解释了为什么您从不触发它.
标签: embedded pic led hi-tech-c