Sıralı Led (Karaşimşek Uygulaması)


#include <p18f4550.h> // kullanılan mikrodeneyleyici kütüphanesi
#include <delays.h>   // gecikme yaratacak kütüphane
void main(void){
unsigned int sayac=1;
TRISB=0x00;  // B portunun tüm pinler çıkış seçildi
while(1)     // Sonsuz döngü
{
LATB=sayac;
Delay10KTCYx(60); // 150 ms'lik gecikme
sayac=2*sayac;
if(sayac==256)
sayac=1;
}
}
sayac değişkeni sırasıyla 2' nin katları olarak artırılarak  PortB'nin çıkışlarının sırayla aktif hale getirilir.
PortB'nin son biti aktif olduğunda sayac değişkeni sıfırlanarak Portb'nin ilk pini aktif hale getirilerek program işleyişine devam ediyor
Devre Şeması

Yorumlar