Tôi hoàn toàn mới đối với thế giới Vi điều khiển PIC và kỹ thuật điện, vì vậy hãy đi dễ dàng :)
Dù sao, tôi đã quản lý để lập trình PIC 16f627 của mình để bật ba đèn LED khi nhấn nút ấn (nút kích hoạt) và bắt đầu một chuỗi tắt (về cơ bản, mỗi đèn LED tắt lần lượt với một độ trễ 5 giây ở giữa) khi một nút nhấn khác ở giữa nhấn (nút đặt lại). Tôi đã thử nghiệm điều này trên bảng thử nghiệm / lập trình PIC K8048 của Velleman. PIN RA0 và RA2 là đầu vào cho nút bấm kích hoạt và đặt lại tương ứng trong khi chân RB0, RB1 và RB2 là chân đầu ra cho đèn LED.
Làm việc với bảng thử nghiệm là tuyệt vời nhưng tôi muốn chuyển điều này sang một mạch thực tế. Vấn đề là tôi không biết bắt đầu từ đâu. Tôi đã mua 3 đèn LED (mỗi đèn 3,3 volt), một số nút bấm và dây và tôi đã xây dựng mạch sau:
(xin lỗi vì sơ đồ khủng khiếp)
Trong mạch tôi đã xây dựng, lần đầu tiên tôi đã thử nghiệm xem đèn LED có hoạt động với 3 pin AA 1,5 Volt hay không và chúng hoạt động tốt vì vậy tôi cho rằng điện trở sẽ không cần thiết.
Điều này không hoạt động, tuy nhiên, và tôi hoàn toàn bị mất. Để tham khảo, đây là mã của tôi cho PIC. Nó được viết bằng C sử dụng MikroC. Nó hoạt động trên bảng thử nghiệm vì vậy tôi không nghĩ đó là vấn đề
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;
}
}
}
Mọi sự trợ giúp sẽ rất được trân trọng. Cảm ơn!