18F4550 TIMER0 KULLANARAK LED YAKIP SÖNDÜRME UYGULAMASI

18F4550 TIMER0  KULLANARAK LED YAKIP SÖNDÜRME UYGULAMASI

Bu uygulama XC8 ile ilk uygulamamız olacak. Bu uygulamada Timer0 kullanımı, mikrodenetleyicinin çıkışının konrtol edilmesi ve clock konfigürasyonlarının ayarlanması konusunda bilgi vereceğim. İlk olarak programı yazacağımız 18F4550 mikrodenetleyicisi için clock ayarlarını yaparak başlayalım.

CONFİG

pll_xt

Biz uygulamamızda primary osilatör kısmına 4MHz bağladık ve bu osilatöre bölme oranı ugulamadan PLL girişine verdik. PLL çıkışındaki 96MHz’lik clock sinyalini 6 ile bölerek 16MHz olarak CPU’ya verdik.

PLLDIV1=PLL girişinin ön bölme oranı. Biz 4MHz kristal kullandık bu değer PLL girişine verilmesi gereken sabit değerdir. Unutulmaması gereken nokta PLL girişine 4MHz sabit osilatör sağlamak bizim sorumluluğumuzdadır. Örneğin 8MHz kristal kullansaydık bu bölme oranını 2, 16 MHz için 4 şeklinde ayarlamak zorundaydık.

CPUDIV=OSC4_PLL6= Bu kısım ise 96MHzlik PLL çıkışını CPU ‘ya verirken 6 ya böldüğümüz kısımdır. OSC4 ise eğer PLL çıkışını değil de direk primary osilatör çıkışını CPUya verseydik uygulanacak bölme oranını göstermektedir. Eğer 4MHz’i direk verseydik CPUya 1 MHz vermiş olurduk. Fakat biz PLL çıkışını 6’ya bölerek 16MHz verdik.

FOSC=XTPLL_XT= Bu kısımda ise CPU için hangi kaynağı kullanacağımızı seçiyoruz. PLL girişine 4MHz kristal verip PLL çıkışını kullandığımız için bu komutu yazmamız gerekmektedir.

Gösterilen şekilde clock ayarını yaptıktan sonra Generate Source Code To Output butonuna tıklanarak ayarlanan kanfigürasyon için hazır kodlar üretilebilir. Bu kodları kopyalayarak main dosyanızın içine kopyalayabilir veya  bir header dosyası açıp onun içine kopyalayıp bu header dosyasını main dosyasından çağırabilirsiniz.

Programm

 

Yorum bırakın