PIC16F84A Mikrodenetleyici ile 4 Butonla Bir Lambanın Yakıp Söndürülmesi (4 Butonlu Vaviyen) Devresi


Yukarıdaki devrede PIC16F84A Mikrodenetleyici ile yapılmış 4 butonla bir lambanın yakıp söndürülmesi devresi görülmektedir.

Devre 4 butonlu vaviyen gibi çalışmaktadır. Herhangi bir butona basıldığında lamba yanmaktadır. Daha sonra aynı butona veya başka bir butona basıldığında lamba sönmektedir. 4 farklı butonla lamba istenildiği yakıp söndürülmektedir.

PIC16F84A Mikrodenetleyici CCS C kodu

1 // PIC16F84A PORTB interrupt on change example
2 // İçeriğe ulaşabilmek veya forumu aktif kullanabilmek için öncelikle GİRİŞ yapmalısınız, Üye değilseniz KAYIT olmalısınız
veya aradığınız konu hakkında ElektroBLOG sayfalarımızdan arama yapabilirsiniz
3
4 #include <16F84A.h>
5 #fuses HS,NOWDT,PUT,NOPROTECT
6 #use delay(crystal=8000000)
7
8 #INT_RB
9 void rb_isr(void)
10 {
11 clear_interrupt(INT_RB); // Clear RB port change interrupt flag bit
12 output_toggle(PIN_A0);
13 }
14
15 void main()
16 {
17 set_tris_b(0xF0);
18 clear_interrupt(INT_RB); // Clear RB port change interrupt flag bit
19 enable_interrupts(INT_RB); // Enable RB port change interrupt
20 enable_interrupts(GLOBAL); // Enable all unmasked interrupt
21 output_low(PIN_A0);
22
23 while(TRUE) ; // Endless loop
24 }