PiC16F877A ile Yapılmış EasyPIC5 Deney Seti Uygulamaları

Mikroişlemciler dersinin uygulamasına hazırlanırken yazdığım uygulamaları bir arkadaş isteyince siteye atarsam gelecek sene dersi alacak arkadaşlarda faydalanır diye düşündüm.

Proteus ve Mplab programları için PIC16F877 Alet Çantası yazımı ve ilk hafta verilen ödevlere bakarak Labların nasıl gececeğine bakmak için Mikroişlemciler Dersi 1. Ödevler yazılarımıda bakabilirsiniz.

İndireceğiniz dosyada bulunan uygulamalara bakacak olursak ;

  1. Döngülü Led Sayıcı
  2. Döngülü Display Sayıcı
  3. Timer0 Led sayıcı
  4. Timer1 Display 0-9 Arası sayıcı
  5. Timer0 ve Timer1 kullanılarak eşit süre sonra gelen kesmeyle PORTD ye bağlı ledi yandırıp söndüren uygulama. (Sayac değerleri değiştirilerek oranlar değiştirilebilir.)
  6. RB0 kesmesi geldikçe Portdyi 1 artıran sayıcı
  7. Boş
  8. Timer 2 Led sayıcı
  9. ADC – RA2 den aldığı 10 bitlik değeri (PORTB(tamamı) ve PORTC(0,1))’bitlerinde gösteren döngülü uygulama
  10. ADC – RA2 den aldığı 10 bitlik değeri (PORTB(tamamı) ve PORTC(0,1))’bitlerinde gösteren kesmeli uygulama
  11. İlk satırda Adımızı, İkinci Satırda Soyadımızı yazacak LCD Uygulaması
  12. EEPROM Yazma-Okuma-Döngülü (0X50 Adresine 0×55 (01010101) değerini önce yazıyor. Sonrada EEPROM da 0×55 adresindeki değeri okuyup PORTD de gösteriyor)
  13. EEPROM Yazma-Okuma-Kesmeli (FF Adresine 00 yazar. Ardından adres değerini 1 azaltıp Yazacağı değeri 1 artırarak 00 Adresine kadar yazım yapar.
  14. Boş
  15. EEPROM – ADC de RA2 den aldığı 10 Bitlik değeri EEPROMA Yazacak. Sonrada Okuyacak. Yazma işleminde RC6 Yanarken, Okumada RC7 Yanacak. (Değerler PORTC’nin (0,1) ve PORTB’nin(tüm) ledlerinde gösterilecek.)
  16. RBChange Kesmesi ile RB6 ya basınca 2. Displayde 2, RB7 ye basınca 1. Displayde 3 Yazan Program (1. Display yanarken 2. Sönük, 2. Display yanarken 1. Sönük olacak)
  17. RBChange Kesmesi ile RB6 ya basınca 2. Ledde Artan, RB7 ye basınca 1. Ledde kaldığı yerden azalan 0-9 Arası sayıcı
  18. RB0 Kesmesi ile Portc de otomatik artan sayıcı. Tekrar RB0 kesmesi gelince Duruyor. Bir daha gelince devam ediyor.
  19. Boş
  20. RB0 Kesmesi geldikçe Displayde 1 Artan 0-9 Arası sayıcı.
  21. Timer0 ile Displayde 0-9 Arası sayıcı.
  22. RBO Kesmesi ile Displayde 0-9 Arası sayıcı başlıyor. Tekrar kesme gelince duruyor. Tekrar kesme gelirse kaldığı yerden devam ediyor.
  23. Display 0-9999 Arası sayıcı
  24. RBChange Kesmesini kullanarak RB7 ye basınca Displayde 0-9 Arası Sayıcı Başlıyor, Bir Daha Basınca Duruyor.Tekrar basınca Kaldığı yerden devam ediyor
  25. 0,5 Saniye aralıklarda yana kayan led uygulaması. (Özellikle ilk Ledde 0,5 saniye sonra yanacak) (Final Uygulaması)
  26. Displayde 23 Yazan uygulama (Final Uygulaması)

Ayrıca hangi uygulamanın hangi Registerları kullandığınıda not almıştım dosyada onuda bulabilirsiniz.

  1. TIMER0 (FF-00 Kesmesi)
    OPTION_REG
    INTCON
  2. TIMER1 (FFFF-0000 Kesmesi)
    T1CON
    TMR1H
    TMR1L
    PIR1
    PIE1
    INTCON
  3. TIMER2 (TMR2=PR2 Kesmesi)
    T2CON
    PR2
    PIR1
    PIE1
    INTCON
  4. RB0
    OPTION_REG
    ADCON1
    INTCON
  5. RBCHANGE
    OPTION_REG
    ADCON1
    INTCON
  6. ADC (Döngülü)
    ADCON1
    ADCON0
    ADRESH
    ADRESL
  7. ADC (Kesmeli)
    ADCON1
    ADCON0
    ADRESH
    ADRESL
    PIR1
    PIE1
    INTCON
  8. EEPROM (Döngülü)
    EEADR ; Adres buraya yazılır.
    EEDATA ; Değer buraya yazılır.
    EECON1 ; Gerekli ayarlamalar yapılır.
    EECON2 ; Yazmada önce 0×55 sonrada 0xAA değeri buna yazıldıktan sonra Yaz komutu EECON1 ye verilir.
  9. EEPROM (Kesmeli)
    EEADR ; Adres buraya yazılır.
    EEDATA ; Değer buraya yazılır.
    EECON1 ; Gerekli ayarlamalar yapılır.
    EECON2 ; Yazmada önce 0×55 sonrada 0xAA değeri buna yazıldıktan sonra Yaz komutu EECON1 ye verilir.
    PIR2
    PIE2
    INTCON

Uygulamaları indirmek için tıklayın.

Yorum Yap


Not - Bunları KullanabilirsinizHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
Resimde gordugunuz kodu kutucuga yazin.
Anti-spam resmi