PIC Port Giriş Uygulamaları 11

A portunun ilk bitine bagli butona basildiginda, B portunun ilk bitine bagli LED’i (0. LED) yakan program.

ne-nasil.net
PIC UYGULAMALARI
pic uygulamları

Programda butona basilip basilmadigina dair buton kontrolü (6) nolu komut satirinda yapilmaktadir. Sekilde görüldügü gibi buton PORTA’nin 0. bitine pull-up baglanmistir. Butona basildiginda PORTA’nin 0. biti sase potansiyeli almaktadir. Diger bir ifadeyle butona basildiginda PORTA’nin 0. bit girisi “0” olmaktadir. Bu nedenle program içerisinde BUTON=0 kontrolü yapilir.

    (4) nolu komut satirinda yer alan SYMBOL ile A portunun 0. bitine (PORTA.0) BUTON ismi (alias) verilmistir. Semboller, bir sabit veya degiskene programin daha kolay anlasilmasini saglamak veya program içerisinde karmasayi gidermek amaciyla farkli bir isim vermek amaciyla kullanilirlar.

    IF komutu ile BUTON degerinin “0” olup olmadigi sorgulanir. THEN komutu ile buton degeri “0” ise LED_YAK etiketli (8) nolu komut satiri isletilerek LED yakilir. Ayrıntılar için BUYRUN DEVAM EDELİM.

 

pic uygulamaları
PIC UYGULAMALARI

   Programin açiklanmasi :

 (1)         8 bitlik TRISB registerine ait tüm bitler “0” yapilarak PORTB register bitleri çikis olarak ayarlanir ve böylece bu portun ilk bitine bagli LED yakilabilir.

 (2)        5 bitlik TRISA registerine ait tüm bitler “1” yapilarak PORTA bitleri giris olarak ayarlanir ve böylece bu portun ilk bitine bagli buton kontrolü saglanabilir.

 (3)       PIC üzerine önceden yazilmis bir program var ise bu komut satiri ile silinir.

 (4)         SYMBOL komutu ile PORTA’nin 0. biti BUTON olarak isimlendirilmistir. Böylece program içerisinde A portunun 0.bitini tanimlayan PORTA.0 ibaresi yerine BUTON yazmak yeterli olur.

 (5)      Programin (6) nolu komut satirindan (4) nolu komut satirina dönebilmesi için DONGU etiketi kullanilir. Bu etiket ile (4)-(6) nolu komut satirlari arasinda buton kontrolünü saglayan sürekli döngü elde edilir.

 (6)         IF  BUTON=0  THEN  LED_YAK

         Eger (IF) BUTON degeri “0” ise o zaman (THEN) LED_YAK etiketli (7) nolu komut satirina dallan.

 (7)         Buton kontrolü için (4) nolu komut satirina dallan.

 (8)        IF…THEN komutlari ile yapilan kiyaslama sonucu botunun basilmasi durumunda program LED_YAK etiketli bu program satirina dallanir.

 (9)       PORTB’nin 0. bitini “1” yap (LED’i yak).

 (10)      Program sonu. 

    Programda (7) ve (8) nolu komut satirlari silinerek, (5) nolu komut satiri IF BUTON=0 THEN HIGH PORTB.0 seklinde düzenlendiginde, programin isleyisinde bir farklilik olmaz ve butona basildiginda LED yanar. Böylece program iki satir kisaltilabilir.  

PIC BASIC PRO UYGULAMALARI DERS KİTABI

 

pic16f84
PIC16F84

Write a comment

Comments: 0