Bu yazımızda, mikrodenetleyici programlamaya yeni başlayacak olanlar için uygun olan LED yakma işlemini anlatacağız. Denetleyici olarak PIC 16F877A kullanılmıştır. Program PIC ailesi için en uygun çözüm olan Micro C derleyici ile gömülmüştür. Windows XP ve Windows 7 ile uyumludur ve kendi yakma araçları ile gelir. Mikrodenetleyici dünyasını keşfetmek için başlangıç seviyesi PIC devresinin program algoritmasıyla başlayalım.
Fakat algoritmaya geçmeden önce, eğer mikrodenetleyici ve programlanması hakkında yeterli bilgiye sahip olmadığınızı düşünüyorsanız şu yazıları okumanızı tavsiye ederim:
Mikrodenetleyici Kullanma: Başlangıç
Kısaca Mikrodenetleyici Nedir? Nasıl Çalışır?
Böylece anlatılan işlemleri anlamanız kolaylaşacaktır.
Program Algoritması
- Çıkış yolunu belirt (burada LEDleri bağlamak için PORT B kullanılmıştır, dolayısıyla TRISB = 0x00;)
- Sonsuz döngüye başla (burada while(1){} kullanılmıştır)
- Çıkışa 0x00 değerini ata (PORTB=0x00;)
- Gecikme ekle (Dahili gecikme işlevi delay_ms(); ile parantezin içine ms cinsinden süre yazılarak LEDin yanma süresi değiştirilebilir)
- Çıkışa 0xFF değerini ata (PORTB=0xFF;)
- Gecikme ekle (delay_ms(1000);)
- Döngüyü tekrarla
Kod
void main() { TRISB=0x00; while(1) { PORTB=0x00; delay_ms(1000); PORTB=0xFF; delay_ms(1000); } }
PORT B’ye bağlı 8 LED 1 sn gecikme ile sürekli yanar. Aşağıda devre gösterimi bulunmaktadır.
Aşağıda devrenin gerçeklenmiş halinde, mikrodenetleyici ile LEDler yassı kablo ile bağlıdır.
Pic16F877 mikrodenetleyicisinin pin çıkışları: