[Resimleri görebilmek için üye olun veya giriş yapın.]İkinci çalışmamız kayan ışık uygulamasıdır. Pic’e ledleri iki türlü
bağlarsınız. Birincisinde porttan dışarıya 25mA lik bir source akımı ile
sürersiniz. Bu durumda ledin anodu pice bir direnç ile şaseye bağlanır.
Port 1 uygulandığında led yanar. İkinci türde ise bu devremizdeki gibi
ledin katodu pice, diğer ucu bir direnç ile pozitif gerilime bağlanır.
Bu durumda ledi yakmak için porta 0 uygulanmalıdır.
#define LED PORTBProgram yazarken esnek yazılmaya önem gösterilmelidir. Özellikle
[Linkleri görebilmek için üye olun veya giriş yapın.] geliştikle portlara bağlı devre elemanlarının yerlerinin değiştirilmesi
gerekebilir. Özellikle bazı değişiklikler baskı devre çizimini çok
kolaylaştırmaktadır. Bunun için
#define önişlemci komut
ile tanımlamalar yapılır. Buna benzer tanımlamaları buton kontrol
uygulamalarındada göreceksiniz. Mikrodenetleyicili uygulamalar devrede
[Linkleri görebilmek için üye olun veya giriş yapın.] olduğu müddetce çalışır.
Bu nedenle kodlar sonsuz bir döngü içinde yazılmıştır. Sonsuz döngü
içinde ilk ledi yakmak için LED=0xFE; ifadesi ile ledlerin bağlı olduğu
porta FE değeri atanarak ilk led yakılmıştır.
LED=(LED<<1)|0×01; ifadesi ilede bir yandaki led yakılmıştır. Eğer ledlerin anodunu değilde katotu pice bağlansaydı ilk atama
LED=0×01; ve döngü içinde
LED=LED<<1; ifadesi kullanılmalıydı.
Peki niye ledin anodu değilde katotu pice bağlanır? Bunun cevabı
Picin datasheetinde yer almaktadır. Vddden geçeçek maksimum akım
250mAdir. Ama Vssden geçecek maksimum akım 300mAdir.
Kayan led Proteus [Linkleri görebilmek için üye olun veya giriş yapın.] devre şeması;[Resimleri görebilmek için üye olun veya giriş yapın.]Hi tech C hex ve isis dosyaları:
[Linkleri görebilmek için üye olun veya giriş yapın.]