#include <16F877.h>
#FUSES NOWDT //Watch Dog Timer Kullanma
#FUSES XT //Kristal Osilatör ile CLKOUT
#FUSES NOPUT //Power Up Timer Kullanma
#FUSES NOPROTECT //Rom'a Yazılan Veriler Okunabilir
#FUSES NOBROWNOUT //Brownout Reset Kullanma
#FUSES NOLVP //Düşük Gerilimler ile Programlamayı Kapt
#FUSES NOCPD //Data EEPROM Korumasız
#FUSES NOWRT //Program Belleği Yazmaya Açık
#FUSES NODEBUG //ICD için Hata Ayıklama Modu Kapalı
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(c)
// Matrise gelecek karakterler
int Y[]={0x7C,0x7B,0x07,0x7B,0x7C},
A[]={0x01,0x76,0x76,0x76,0x01},
L[]={0x00,0x3F,0x3F,0x3F,0x3F},
C[]={0x40,0x5E,0x1E,0x5E,0x5E},
I[]={0x7F,0x3E,0x00,0x3E,0x7F},
N[]={0x00,0x7B,0x77,0x6F,0x00},
H[]={0x00,0x77,0x77,0x77,0x00},
Q[]={0x01,0x76,0x76,0x76,0x01},
R[]={0x00,0x76,0x76,0x76,0x09},
B[]={0x00,0x36,0x36,0x36,0x49},
U[]={0x40,0x3F,0x3F,0x3F,0x40},
T[]={0x7E,0x7E,0x00,0x7E,0x7E},
O[]={0x41,0x3E,0x3E,0x3E,0x41},
G[]={0x41,0x3E,0x36,0x36,0x45},
J[]={0x00,0x3F,0x3F,0x3F,0x3F},
M[]={0x40,0x3F,0x3F,0x3F,0x40},
P[]={0x6F,0x5B,0x5F,0x5B,0x6F};
/*Hangi sütnun seçileceği fonksiyon*/
int sutunsec(int s)
{
switch(s)
{
case 0: return(0x10);break;
case 1: return(0x08);break;
case 2: return(0x04);break;
case 3: return(0x02);break;
case 4: return(0x01);break;
}
}
/* Matrise karakter gönderme fonkisyonu*/
void matris_karakter_gonder(char harf[],int tekrar)
{
int i,j,k;
for(i=1;i<tekrar;i++)
{
for(k=0;k<10;k++)
{
for(j=0;j<16;j++)
{
output_c(sutunsec(j));
output_b(harf[j]);
delay_ms(1);
}
}
}
}
/* Ana fonksiyon*/
void main()
{
setup_psp(PSP_DISABLED); // Paralel Slave Prot devre dışı
setup_adc_ports(NO_ANALOGS); // Analog Dijital Converter Portları devre dışı
setup_adc(ADC_OFF); //Analog Dijital Converter devre dışı
setup_timer_1(T1_DISABLED); // Timer 1 devre dışı
setup_timer_2(T2_DISABLED,0,1); // Timer 2 devre dışı
setup_CCP1(CCP_OFF); // Capture Compare PWM devre dışı
setup_CCP2(CCP_OFF); // Capture Compare PWM devre dışı
set_tris_b(0x00); // B portu çıkış olarak yönlendirildi
set_tris_c(0x00); // C portu çıkış olarak yönlendirildi
while(1)
{
matris_karakter_gonder(Y,5);
matris_karakter_gonder(A,5);
matris_karakter_gonder(L,5);
matris_karakter_gonder(C,5);
matris_karakter_gonder(I,5);
matris_karakter_gonder(N,5);
matris_karakter_gonder(H,5);
matris_karakter_gonder(Q,5);
matris_karakter_gonder(R,5);
matris_karakter_gonder(B,5);
matris_karakter_gonder(U,5);
matris_karakter_gonder(T,5);
matris_karakter_gonder(O,5);
matris_karakter_gonder(G,5);
matris_karakter_gonder(J,5);
matris_karakter_gonder(M,5);
matris_karakter_gonder(P,5);
}
}