Я совершенно новичок в мире микроконтроллеров PIC и электротехники, поэтому, пожалуйста, будьте спокойны :)
В любом случае, мне удалось запрограммировать мой PIC 16f627 на включение трех светодиодов при нажатии кнопки (кнопки триггера) и запуск последовательности выключения (в основном, каждый светодиод переключается один за другим с задержкой в 5 секунд), когда нажимается другая кнопка. нажата (кнопка сброса). Я тестировал это на программаторе Velmeman K8048 PIC / экспериментальной плате. PIN RA0 и RA2 являются входами для кнопок запуска и сброса соответственно, в то время как контакты RB0, RB1 и RB2 являются выходными контактами для светодиодов.
Работа с экспериментальной платой - это здорово, но я хочу перенести это на реальную схему. Проблема в том, что я понятия не имею, с чего начать. Я купил 3 светодиода (3,3 Вольт каждый), несколько кнопок и провод, и я построил следующую схему:
(извините за ужасную схему)
В схеме, которую я построил, я сначала проверил, будут ли светодиоды работать с 3 1,5 В батареями АА, и они работают нормально, поэтому я решил, что резисторы не нужны.
Это не работает, однако, и я полностью потерян. Для справки, вот мой код для PIC. Это написано на C, используя MikroC. Он работает на экспериментальной доске, поэтому я не думаю, что это проблема
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;
}
}
}
Любая помощь будет принята с благодарностью. Спасибо!