我对 PIC 微控制器和电气工程的世界完全陌生,所以请放轻松:)
无论如何,我设法将我的 PIC 16f627 编程为在按下按钮(触发按钮)时打开三个 LED,并在按下另一个按钮时开始关闭序列(基本上每个 LED 依次关闭,中间有 5 秒的延迟)按下(重置按钮)。我一直在 Velleman 的 K8048 PIC 编程器/实验板上对此进行测试。引脚 RA0 和 RA2 分别是触发和复位按钮的输入,而引脚 RB0、RB1 和 RB2 是 LED 的输出引脚。
使用实验板很棒,但我想将它移到实际电路中。问题是我不知道从哪里开始。我买了 3 个 LED(每个 3.3 伏)、一些按钮和电线,我构建了以下电路:
(对不起,可怕的示意图)
在我构建的电路中,我首先测试了 LED 是否可以使用 3 节 1.5 伏 AA 电池并且它们工作正常,所以我认为不需要电阻器。
但是,这不起作用,我完全迷路了。作为参考,这是我的 PIC 代码。它使用 MikroC 用 C 语言编写。它适用于实验板上,所以我认为这不是问题
void main() {
TRISB.RB0 = 0;
TRISB.RB1 = 0;
TRISB.RB2 = 0;
PORTB.RB0 = 0;
PORTB.RB1 = 0;
PORTB.RB2 = 0;
CMCON = 0x07;
TRISA = 255;
for(;;){
if(PORTA.RA0 == 1 && PORTB.RB0 == 1 && PORTB.RB1 == 1 && PORTB.RB2 == 1){
delay_ms(5000);
PORTB.RB0 = 0;
delay_ms(5000);
PORTB.RB1 = 0;
delay_ms(5000);
PORTB.RB2 = 0;
}
if(PORTA.RA2 == 1){
PORTB.RB0 = 1;
PORTB.RB1 = 1;
PORTB.RB2 = 1;
}
}
}
任何帮助将不胜感激。谢谢!