Escape From Obstacle
Toplama Mantığı Ve Bu Mantıkla Led Kaydırma (50Hz Osilator)
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

14-09-2018

Ra4 e Bağlı Buton Tetikleme Durumuna Bağlı (Sağa/Sola) Led Kaydırma
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

14-09-2018

Ledlerin Binary Düzende Sayması
Ledlerin Binary Düzende Sayması

PortA,0 a bağlı butona basılmadığında PortB ye bağlı ledlerin ileri yönde sayması başlangıç değerimiz 0 olduğu için 0 dan başlayıp ileri yöne binary düzende sayar (00000000 00000001 00000010 .... 11111111) PortA,0 a bağlı butona basıldığında PortB ye bağlı ledlerin geriye doğru sayması. program başlangıcında butona basılı olmadığı için ileri yöne sayar butona basıldığında son değeri 1-1 azalır. programımız da timer modülü kullanılmadan iç içe döngü ile gecikme sağlanmıştır. 1mhz osilator hızında çalıştırmanız tavsiye edilir yada 3.bir döngü ile gecikme süresini arttırıp istediğiniz osilator hızını verebilirsiniz. iç içe 3 döngünün nasıl yazılacağıyla ilgili fikriniz yoksa bir önceki çalışmama bakabilirsiniz.

07-09-2018

Timer kullanmadan iç içe döngü ile 1 saniyelik gecikme
Timer kullanmadan iç içe döngü ile 1 saniyelik gecikme

Timer modülünü kullanmadan iç içe 3 adet döngü ile 8mhz kristal de yaklaşık 1 saniyelik gecikmeler ile portb ye bağlı butonların yanması. PortA,4 e bağlı butona basıldığında portb,0 portb,1 deki ledlerin sırayla yanması PortA,4 e bağlı butona basılmadığında portb,2 portb,3 deki ledlerin sırayla yanması

07-09-2018

PIC16F877A Mikroişlemci İle Tuş Takımı (Keypad) Kullanılarak Assembly dili LCD ye Karakter Yazdırma
PIC16F877A Mikroişlemci İle Tuş Takımı (Keypad) Kullanılarak Assembly dili LCD ye Karakter Yazdırma

4x4 lük tuş takımının A,B,C,D pinlerinin PortB nin sırasıyla 0-1-2-3 pinlerine bağlanarak ve tuş takımının 1,2,3,4 pinlerinin de PortB nin sırasıyla 4-5-6-7 pinlerine bağlanarak oluşturulmuş uygulamadır. Uygulamada Keypad ten alınan karakterlerin yazdırılması için 2x16 LCD display(LM016L) kullanılmıştır. Tuş takımının 1-2-3-4 nolu pinlerine herhangibir tuşa basılmadığında logjik 0 gitmesi için herbir pin 10K lık direnç ile gnd ye bağlanmıştır.

21-07-2018

PIC16F877A Mikroişlemci İle Buton Kullanılarak Assembly Dili İle Yazılmış 0-9 Arası Binary Sayıcı
PIC16F877A Mikroişlemci İle Buton Kullanılarak Assembly Dili İle Yazılmış  0-9 Arası Binary Sayıcı

PortA ya bağlı iki tane butondan RA0 pinindeki butona basınca PortB nin içeriğini birer birer 9 a kadar artıran (9 olunca tekrar 0 dan başlayarak artan), RA1 pinindeki butona basınca PortB nin içeriğini 0 olana kadar birer birer azaltan (0 olduğunda tekrar 9 dan itibaren azaltmaya devam eden) ,PIC16F877A mikroişlemci kullanılarak assebmly dili ile yazılmış butona bastıkça 0-9 arası binary olarak sayan 4 bitlik sayıcı uygulaması örneğidir.

12-11-2017

  2017 - 2018 © Copyright | mikroislemcim.com - Yücel AY