P16F877A / PIC16F877A ile Butona Basınca Ledi Sağa Sola Kaydırma Uygulaması

PortB nin 0. ve 1. Portuna bağlı iki tane butondan sağdakine basınca PortC nin içeriğini sağa kaydıran , soldaki butona basınca sola kaydıran P16F877A / P16F877A mikroişlemci kullanılarak assembly dili ile yazılmış uygulama

P16F877A / PIC16F877A Mikroişlemci İle 5x7 Dot Matrix Display e Karakter Yazdırma

Sütun pinlerinin Portb ye , satır pinlerinin PortC ye bağlı olduğu 5x7 Dot Matrix Display e ; sütun değerlerinin lookup tablosundan alınarak , satır değerlerinin RLF komutuyla kaydırılarak karakter yazdırılan PIC16F877A mikroişlemci ile assembly dili ile yazılmış örnek uygulama.

Ra4 e Bağlı Buton Tetikleme Durumuna Bağlı (Sağa/Sola) Led Kaydırma

RRF ve RLF komutlarını basit düzeyde işlediğim bu örnekte Ra4 e bağladığım buton üzerinden gelen tetikleme ile Sağa yada Sola Led kaydırma mantığını anlatmaya çalıştım. Programı gözle görülebilir bir şekilde izlenmesi için 1mhz osilatörde çalıştırmanızı tavsiye ederim. Assembly kodlarının yanlarına bıraktığım açıklamalarda sizler için faydalı olacaktır

Toplama Mantığı Ve Bu Mantıkla Led Kaydırma (50Hz Osilator)

Led Yakmak için o ledin set olması gerekmektedir. Peki Led kaydırmak için RRF RLF komutları dışında toplama yöntemiyle de led kaydırma yapılacağını düşündünüz mü hiç ? Örneğin 0000 0001 değeri ile sıfırıncı led yanar, 0000 0010 değeri ile birinci led yanar, 0000 0100 değeri ile ikinci led yanar, yani sola led kaydırmak bir nevi sayıyı 2 ile çarpmak yani kendisi ile toplamaktır. Bu örneğim de hem basit düzeyde toplama işleminin nasıl yapıldığını hemde 8 led içinden istediğiniz lede kadar nasıl kaydırma yapabileceğinizi göreceksiniz. Hiçbir Gecikme Kullanmadığım için program Osilator Hızlarını iyice düşürüyoruz ben örneğimde 50Hz olarak ayarladım