Matris Led Display

Matris Led Display ve Pic Programlamada Kullanımı

Matris Led Display

     Genellikle reklam sektöründe görüntüleme amaçlı olarak çeşitli özellikte LED’ler matris yapısında birbirine bağlanır.
Elde edilen bu LED bağlantısında istenen görüntüler elde edile bilir. Matris LED displayler  satır ve sütunları LED’lerden oluşan bir matris bağlantısın içerisinde barındıran tümleşik bir matris bağlantılı LED gurubudur. Piyasada 5×7(5 ütun ,7 satır), 8×8 (8 sütun,8 satır) gibi çeşitli yapılarda LED display’ler  vardır.

5X7 Dot Matris Led Display Sürme İşlemi

    Matris LED displayler sütün ve satır olmak üzere bilgi uçlarına sahiptir. Bu displayleri sürmek için tarama metodu kullanılır.

5X7 Matris Anot Sütun Katot Satır
5X7 Matris Anot Sütun Katot Satır
5X7 Matris Katot Sütun Anot Satır
5X7 Matris Katot Sütun Anot Satır

 Tarama metodu: ilk başta ilk sütun aktif edilir daha sonra ilk sütunda bulunan yanması istenen  LED’i yakmak için ilgili satır veya satırlar aktif edilir. Ardından ikinci sütun aktif edilir ve bu sütunda yanması istenen LED’ler için gerekli satırlar aktif edilir. Tarama işlemi bu şekilde devam eder. Tarama işelmi ile yakılan LED displaylerde görüntünün göz tarafından algılanması için yeterli bir süre tarama işleminin tekrar edilmesi gerekir.

      Katot sütun LED displaylerde sütunları aktif etmek için ilgili sütuna  lojik-0, satırları aktif etmek için ilgili satıra lojik-1 uygulanmalıdır.

     Anot sütun LED displaylerde ise sütunları aktif etmek için ilgili sütuna lojik-1,satırları aktif etmek için ilgili sütuna lojik-0 uygulanmalıdır. Şimdi buna bir örnek üzerinde inceleyelim.

Matris Led Display Enerjilendirme

     Şimdi yukarıda görülen LED matris displayde üst uçları(B0…B6) satırlar alt uçları(C0..C4) sütunlardır.
LED matrisin üzerinde görülen sarı ışıkları yakmak için C sütununki C4:lojik-1 diğerleri C3:lojik-0,C2:0,C1:lojik-0,C0:lojik-0  vermeliyiz . Bu şekilde uçlarına bağlı olan pinlere: (0x10) vermek gerekir. bu şekilde C sütunundan 4 sütun enerjilendi şimdi bu sütundan yanmasını istediğimiz satırları ayarlayalım yani B satılarına bakalım.
B pinlerinden yani yukarından aşağıya doğru geldiğini düşünürsek  yanmasını istediğimiz LED lojik-0 veriyoruz. Bu şekilde B0:lojik-1,  B1-lojik-1, B2:lojik-0,  B3:lojik-0,  B4:lojik-0,  B5:lojik-0, B6:lojik-0 şeklinde olacaktır.

     Sağdaki resimden daha net anlaşılacağı gibi C pinleri aktif edilmesi istenen sütunları belirtir bu sütunlardan aktif edilmek aktif edildikten sonra bunların satırları da istenen şekilde aktif edilir. Yukarıdaki LED bağlantıları ile aşağıdaki Matrisleri karşılaştırdığınızda daha net anlaşılacaktır.

CCS C PIC Programlama ile Matris Led Sürme Programı

    Şimdi tarama metodunu kullanarak Matris LED’de A,B,C,D,E,+ ve çift yönlü ok karakterlerini gösteren programı CCS C ile yazalım.

  1. #include <16F877.h>
  2.  
  3. #FUSES NOWDT //Watch Dog Timer Kullanma
  4. #FUSES XT //Kristal Osilatör ile CLKOUT
  5. #FUSES NOPUT //Power Up Timer Kullanma
  6. #FUSES NOPROTECT //Rom'a Yazılan Veriler Okunabilir
  7. #FUSES NOBROWNOUT //Brownout Reset Kullanma
  8. #FUSES NOLVP //Düşük Gerilimler ile Programlamayı Kapt
  9. #FUSES NOCPD //Data EEPROM Korumasız
  10. #FUSES NOWRT //Program Belleği Yazmaya Açık
  11. #FUSES NODEBUG //ICD için Hata Ayıklama Modu Kapalı
  12.  
  13. #use delay(clock=4000000) // Gecikme için osilatör frekansı
  14.  
  15. #use fast_io(b) // B portu yönledirme
  16. #use fast_io(c) // C portu yönledirme
  17.  
  18. // Matrise gelecek karakterler
  19. int A[]={0x03,0x75,0x76,0x75,0x03},
  20. B[]={0x00,0x36,0x36,0x36,0x49},
  21. C[]={0x41,0x3E,0x3E,0x3E,0x5D},
  22. D[]={0x00,0x3E,0x3E,0x3E,0x41},
  23. E[]={0x00,0xB6,0xB6,0xB6,0xBE},
  24. arti[]={0x77,0x77,0x41,0x77,0x77},
  25. cift_ok[]={0x6B,0x5D,0x00,0x5D,0x6B};
  26. /*Hangi sütnun seçileceği fonksiyon*/
  27. int sutunsec(int s)
  28. {
  29. switch(s)
  30. {
  31. case 0: return(0x10);break;
  32. case 1: return(0x08);break;
  33. case 2: return(0x04);break;
  34. case 3: return(0x02);break;
  35. case 4: return(0x01);break;
  36. }
  37. }
  38. /* Matrise karakter gönderme fonkisyonu*/
  39. void matris_karakter_gonder(char harf[],int tekrar)
  40. {
  41. int i,j,k;
  42. for(i=1;i<tekrar;i++)
  43. {
  44. for(k=0;k<10;k++)
  45. {
  46. for(j=0;j<5;j++)
  47. {
  48. output_c(sutunsec(j));
  49. output_b(harf[j]);
  50. delay_ms(1);
  51. }
  52. }
  53. }
  54.  
  55. }
  56. /* Ana fonksiyon*/
  57. void main()
  58. {
  59. setup_psp(PSP_DISABLED); // Paralel Slave Prot devre dışı
  60. setup_adc_ports(NO_ANALOGS); // Analog Dijital Converter Portları devre dışı
  61. setup_adc(ADC_OFF); //Analog Dijital Converter devre dışı
  62. setup_timer_1(T1_DISABLED); // Timer 1 devre dışı
  63. setup_timer_2(T2_DISABLED,0,1); // Timer 2 devre dışı
  64. setup_CCP1(CCP_OFF); // Capture Compare PWM devre dışı
  65. setup_CCP2(CCP_OFF); // Capture Compare PWM devre dışı
  66.  
  67. set_tris_b(0x00); // B portu çıkış olarak yönlendirildi
  68. set_tris_c(0x00); // C portu çıkış olarak yönlendirildi
  69.  
  70. while(1)
  71. {
  72. matris_karakter_gonder(A,20); // A karakteri matrise geliyor
  73. matris_karakter_gonder(B,20); // B karakteri matrise geliyor
  74. matris_karakter_gonder(C,20); // C karakteri matrise geliyor
  75. matris_karakter_gonder(D,20); // D karakteri matrise geliyor
  76. matris_karakter_gonder(E,20); // E karakteri matrise geliyor
  77. matris_karakter_gonder(arti,20); // + karakteri matrise geliyor
  78. matris_karakter_gonder(cift_ok,20);// <-> karakteri matrise geliyor
  79. }
  80. }

Yukarıdaki program kodlarında hangi kod satırının ne işleve yaptığı detaylıca açıklanmıştır. Aşağıdan programın devre ulumunu inceleye bilirsiniz. Uygulama dosyalarına buradan ulaşa bilirsiniz.

5X7 Matris Led Display Proteus Uygulaması
0 0 votes
Article Rating
Abone ol
Bildir
0 Yorum
Satır İçi Geri Bildirimler
Tüm yorumlar
0
Düşüncelerinizi paylaşınx