avatar_furkan41

8x8 Matrix taramayı tutturamıyorum galiba

Başlatan furkan41, 06 Mart 2018, 20:20:50

furkan41

arkadaşlar matrix calculatörden harflerin BİNARY kodlarını aldım sonra arraylar oluşturup matrixi taratmaya calışıyorum ya cıkıyor gibi ama ben mi yanlış yapıyorum bir yardım edebilirmisiniz. halledebilirsek bu akşam baskı devresini hazırlayacağım.
???


#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOWRT,NODEBUG,NOCPD
#USE delay(clock=4000000)
#use fast_io(b)
#use fast_io(d)


int A[]={0b01111110,
  0b11111111,
  0b11000011,
  0b11111111,
  0b11111111,
  0b11000001,
  0b11000011,
  0b10000001
  };
int B[]={0b11111100,
  0b11111110,
  0b11000011,
  0b11111111,
  0b11111111,
  0b11000001,
  0b11111110,
  0b11111100};
int C[]={0b01111110,
  0b11111110,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11111110,
  0b01111110};
int D[]={0b11110000,
  0b11111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11111000,
  0b11110000};
int E[]={0b11111100,
  0b11111100,
  0b11000000,
  0b11111100,
  0b11111100,
  0b11000000,
  0b11111100,
  0b11111100};
int arti[]={0b00011000,
  0b00011000,
  0b00011000,
  0b11111111,
  0b11111111,
  0b00011000,
  0b00011000,
  0b00011000};
int cift_ok[]={ 0b00011000,
  0b00111100,
  0b01011010,
  0b00011000,
  0b00011000,
  0b01011010,
  0b00111100,
  0b00011000};

int sutunsec (int s)

{
switch(s)
{
case 0:return(0x01);break;
case 1:return(0x02);break;
case 2:return(0x04);break;
case 3:return(0x08);break;
case 4:return(0x10);break;
case 5:return(0x20);break;
case 6:return(0x40);break;
case 7:return(0x80);break;

}
}

void matris_karakter_gonder(char harf[], int tekrar)
{
int i,j;
{

{
output_d(sutunsec(j));
for(j=0;j<9;j++)
{
output_d(sutunsec(j));
output_b(harf[j]);
delay_ms(3);
}
}
}

}

void main()
{
setup_psp(PSP_DISABLED);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_CCP1(CCP_OFF);
   setup_CCP2(CCP_OFF);
   set_tris_b(0x00);
   set_tris_d(0x00);

   while(1)
   {
   
   matris_karakter_gonder(A,1000);
   delay_ms(300);
   matris_karakter_gonder(B,1000);
   delay_ms(300);
   matris_karakter_gonder(C,1000);
   delay_ms(300);
   matris_karakter_gonder(D,1000);
   delay_ms(300);
   matris_karakter_gonder(E,1000);
   delay_ms(300);
   matris_karakter_gonder(arti,1000);
   delay_ms(300);
   matris_karakter_gonder(cift_ok,1000);
   
   
   
 
   
   
   
   }

}




ete

Display'i ters bağlamış olabilirmisin acaba?. altu üste üstü de alta getirip bir dene istersen.

Ete

furkan41

@Ete Hocam 5x7 matrixle yaptım cünkü yönü birtek onda belli isite daha sonra pcbsini cizip gercek hayata gecireyim dedim sacma sapan calışmaya başladı yine ares paketinde padlerin icinde yazıyor A,B,C,D,E,F,G ---- 1,2,3,4,5  Sayılar Sutün Harfler Satır oluyordur dedim otomatikman gercekte 14 bacağı var 2 3 numara ile D ' den 2 tane var onları kısa devre ettim cizdim şemayı ama gelin görün birşeyler cıkıyor ama benim dediğim şeyler değil :D

Dosyalar'da ekte bir baksanız ?

ete

#3
Bakabilsem önceden de bakardım zaten C dili kullanıyorsun ve bu konuda yeterli bilgiye sahip değilim.
Ama ben olsam bu konuda yazdığım (Ders-13 matrix çalışma) ders notunda verilmiş benzer konudaki açıklamayı okurdum.

http://etepic.com/index.php/topic,24.0.html

Muhtemel hatalar şunlar olabilir. Matrix ters kullanılıyor olabilir. Bu da şu demek satır pini yerine sütün pini , sütun pini yerindede satır pini kullanmış oluyorsun demektir.

Mtarix oluşturma tarama şekline göre değişir. Sütun tarama kullanıyorsan matrix satırdan oluşturulmalı . Satır tarama kullanıyorsan Matrix sütundan oluşturulmalı. Bu hatayı muhtemelen yapmış olma ihtimalin daha yüksek bence.

Ete

furkan41

Hocam Matrixin yapısınıda biliyorum calışma mantığınıda ama bunun paketini üreten firmaya ne demeli onu bilmiyorum işte birde bunu gönderen elektronikciye üstüne KATOT yazmış poşete kocaman En son cıldırıp data kataloğuna baktım üstündeki numarasından birde ne göreyim ortak ANOD cıktı yani yazılımsal değişiklik yapacağım.  Zaten bu niye calışmıyor diye kurcalamaktan birazda PCB zedeledik yeniden kartını basıcam bakalım.

Powered by EzPortal