Elektrotekno.com Ana Sayfa || Pic ve diğer işlemci ve denetleyiciler ile yapılmış devreler, projeler || Kayan yazı ve matrix led devreleri (led message projects)
Açıklama:
Elektrik, Elektronik, Haberleşme ve Otomasyon konularının ağırlıklı olarak konuşulduğu, tartışıldığı ve bilgi paylaşımı yapıldığı forumumuza hoşgeldiniz.
Şu an Tamamlanmış Elektronik Devreler, Projeler kategorisi içerisindeki Kayan yazı ve matrix led devreleri (led message projects) forumunda bulunuyorsunuz.
Bu sayfada üyelerimizin "pc kontrollü 80 sütun kayan yazı_yardım" konusundaki problem, görüş ve önerileri okuyabilir ayrıca konu hakkındaki doküman, resim, proje, devre ve programlara ücretsiz olarak ulaşabilirsiniz. Üye olduktan sonra sizler de konu hakkında sorular sorabilir ya da yorum ve paylaşım yaparak birikimlerinizi aktarabilirsiniz.
Forumdan tam olarak yararlanabilmek için üye olmayı unutmayınız!
Elektrik, Elektronik, Haberleşme ve Otomasyon konularının ağırlıklı olarak konuşulduğu, tartışıldığı ve bilgi paylaşımı yapıldığı forumumuza hoşgeldiniz.
Şu an Tamamlanmış Elektronik Devreler, Projeler kategorisi içerisindeki Kayan yazı ve matrix led devreleri (led message projects) forumunda bulunuyorsunuz.
Bu sayfada üyelerimizin "pc kontrollü 80 sütun kayan yazı_yardım" konusundaki problem, görüş ve önerileri okuyabilir ayrıca konu hakkındaki doküman, resim, proje, devre ve programlara ücretsiz olarak ulaşabilirsiniz. Üye olduktan sonra sizler de konu hakkında sorular sorabilir ya da yorum ve paylaşım yaparak birikimlerinizi aktarabilirsiniz.
Forumdan tam olarak yararlanabilmek için üye olmayı unutmayınız!
pc kontrollü 80 sütun kayan yazı_yardım
arkadaşlar yapmış olduğum 80 sütu kayan yazı devresi pc den hyper terminel ile kontrolediliyo. re1 butonuna basılınca kayan yazı siliniyo ve yerminal ekranına kaç karakter yazısı beliriyo karakter sayısı giriliyo ondan sonra karakterleri girin diye bi yazı çıkıyo girince kaymaya başlıyo. buraya kadar sorun yok .... yazılım bana aiti değil yazılıma göre devre şemasını çıkardım sadece bide biligisayarla haberleşmesi için komutlar girilmesine rağmen haberleşmiyodu onu düzelttim ama program c ile yazılmış bende c den pek anlamıyom anladığım kadarını yaptım ..... şidi karakter sorunum var 99 karakterden fazla almıyo bunu nasıl yükseltecez eeprom ekleyeyim dedim ama kodlarını bilmediğim için olmadı.
sizlerden ricam: bu devreye biraz kafa yorarak bunun karakter hafızasını yükseltip terminal ekranına gelen kaç karakter yazısını da kaldırıp onun yerine sadece metni girip entere basınca kayan bi sistem ondan sonrada tabi saat ve derece eklemek kalıyo .... ilgilenen arkadaşlara şimdiden teşekkür......
http://img354.imageshack.us/my.php?image=adszcc5.jpg
dosyalar burada:::::::::http://rapidshare.com/files/50493776/kay_yazi.rar
[/img] Kod
//if defined(__pcm__)
#include <16f877a.h>
#fuses hs,nowdt,noput,noprotect,nobrownout,nolvp
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=pın_c6, rcv=pın_c7,restart_wdt, errors)
#define pın_st_cp pın_c2 // rclk ----> pin 12 st_cp
#define pın_sh_cp pın_c3 // srclk ---> pin 11 sh_cp
#define pın_ser_ın pın_c5 // ser -----> pin 14
/*#define number_of_74595 10
#endıf
//#include <74595_v02.c>*/
#byte port_a=5
#byte port_b=6
#byte port_c=7
#byte port_d=8
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
long s1_char_size=41;
char s1[79];
long i;
//***********************sutunlara bağlı hc595**********************************
#define clock pın_b0 // rclk ----> pin 12 st_cp
#define latch pın_b2 // srclk ---> pin 11 sh_cp
#define data pın_b1 // ser -----> pin 14
void hc595_out_satir(unsigned char send_data)
{
unsigned char bit_mask;
for (bit_mask=1; bit_mask ;bit_mask <<=1)
{
// on an avr you can set the bit directly and i'd use
//"data = (send_data & bit_mask);"
//else use this if/else ....
if((send_data & bit_mask))
output_high(data);
else
output_low(data);
output_high(clock);
delay_us(1);
output_low(clock);
}
output_high(latch);
delay_us(1);
output_low(latch);
}
//******************************************************************************
void get_line1(void)
{
for(i=0; i<s1_char_size; i++)
{
if(kbhit())
{
s1[i]=getc();
delay_cycles(2);
printf("%c",s1[i]);
delay_us(1);
}
else
i -= 1;
}
} // end of void get_line1()
char const msg_default[] = "<<----------edit by mehmet bas---------->> ";
char const ascii1[32][5] = {
{0,0,0,0,0} // 0
{0,0,95,0,0} // {0,95,0,0,0,0}
// 1
{0,7,0,7,0} // {0, 7,0,7,0,0}
// 2
{20,127,20,127,20} // 3
{36, 42, 127, 42, 18} // 4
{39, 21, 107, 84, 114} // 5
{54, 73, 86, 32, 80} // 6
{0, 11, 7,0,0} // {0, 11, 7,0,0,0}
// 7
{0, 28, 34, 65,0} // {0, 28, 34, 65,0,0}
// 8
{0, 65, 34, 28,0} // {0, 65, 34, 28,0,0}
// 9
{42, 28, 127, 28, 42} // 10
{8, 8, 62, 8, 8} // 11
{0, 88, 56, 0,0} // {0, 88, 56,0,0,0}
// 12
{8,8,8,8,8} // 13
{0, 96, 96, 0,0} // {0, 96, 96,0,0,0}
// 14
{32, 16, 8, 4, 2} // 15
{62, 81, 73, 69, 62} // 16
{0, 66, 127, 64,0} // {0,66, 127, 64,0,0}
// 17
{114, 73, 73, 73, 70} // 18
{34, 65, 73, 73, 54} // 19
{24, 20, 18, 127, 16} // 20
{39, 69, 69, 69, 57} // 21
{60, 74, 73, 73, 48} // 22
{1, 113, 9, 5, 3} // 23
{54, 73, 73, 73, 54} // 24
{6, 73, 73, 41, 30} // 25
{0, 54,54,0,0} // {0, 54, 54,0,0,0}
// 26
{0, 91, 59, 0,0} // {0, 91, 59,0,0,0} // 27
{8, 20, 34, 65,0} // 28
{20, 20, 20, 20, 20} // 29
{65, 34, 20, 8,0} // 30
{2, 1, 81, 9, 6} // 31
};
char const ascii2[32][5] = {
{50, 73, 121, 65, 62} // 0
{124, 18, 17, 18, 124} // 1 a
{65, 127, 73, 73, 54} // 2 b
{62, 65, 65, 65, 34} // 3 c
{65, 127, 65, 65, 62} // 4 d
{127, 73, 73, 65, 65 } // 5 e
{127, 9, 9, 1, 1} // 6
{62, 65, 73, 73, 58} // 7
{127, 8, 8, 8, 127} // 8
{0, 65, 127, 65, 0} // {0, 65, 127, 65,0,0}
// 9
{32, 64, 65, 63, 1} // 10
{127, 8, 20, 34, 65} // 11
{127, 64, 64, 64, 64} // 12
{127, 2, 12, 2, 127} // 13
{127, 2, 4, 8, 127} // 14
{62, 65, 65, 65, 62} // 15
{127, 9, 9, 9, 6} // 16
{62, 65, 81, 33, 94} // 17
{127, 9, 25, 41, 70} // 18
{38, 73, 73, 73, 50} // 19
{1,1,127, 1, 1} // 20
{63, 64, 64, 64, 63} // 21
{7, 24, 96, 24, 7} // 22
{127, 32, 24, 32, 127} // 23
{99, 20, 8, 20, 99} // 24
{3, 4, 120, 4, 3} // 25
{97, 81, 73, 69, 67} // 26
{0, 127, 65, 65,0} // {0, 127, 65, 65,0,0}
// 27
{2, 4, 8, 16, 32} // 28
{0, 65, 65, 127,0} // {0, 65, 65, 127,0,0}
// 29
{4, 2, 1, 2, 4} // 30
{64, 64, 64, 64, 64} // 31
};
char const ascii3[31][5] = { // 0 -- 30 == 31 elements
{0, 0, 7, 11,0} // {0, 7, 11,0,0,0}
// 0
{32, 84, 84, 84, 56} // 1
{127, 40, 68, 68, 56} // 2
{56, 68, 68, 68,0} // 3
{56, 68, 68, 40, 127} // 4
{56, 84, 84, 84, 24} // 5
{8, 126, 9, 9, 2} // 6
{8, 84, 84, 84, 60} // 7
{127, 8, 4, 4, 120} // 8
{0, 68, 125, 64,0} // {0, 68, 125, 64,0,0}
// 9
{32, 64, 68, 61,0} // 10
{127, 16, 40, 68,0} // 11
{0, 65, 127, 64, 0} // {0, 65, 127, 64,0,0}
// 12
{124, 4, 120, 4, 120} // 13
{124, 8, 4, 4, 120} // 14
{56, 68, 68, 68, 56} // 15
{124, 20, 20, 20, 8} // 16
{8, 20, 20, 20, 124} // 17
{124, 8, 4, 4, 8} // 18
{72, 84, 84, 84, 36} // 19
{4, 63, 68, 68,0} // 20
{60, 64, 64, 32, 124} // 21
{28, 32, 64, 32, 28} // 22
{60, 64, 48, 64, 60} // 23
{68, 40, 16, 40, 68} // 24
{12,80, 80, 80, 60} // 25
{68, 100, 84, 76, 68} // 26
{0, 8, 54, 65,0} // {0, 8, 54, 65,0,0}
// 27
{0,0,119,0,0} // {0, 119,0,0,0,0} // 28
{0, 65, 54, 8,0} // {0, 65, 54, 8,0,0}
// 29
{2,1,2,4,2} // 30
};
void main(void)
{
int char_index;
int col_index;
int x = 0;
long msd, lsd;
int delaycount;
int16 startposition;
set_tris_b(0); //set portb to outputs
set_tris_c(0x90); //set portc to outputs, c7 to input
set_tris_d(0);
hc595_out_satir(0);
//port_b = 0;
output_c(0); //zero port c
startposition = 0;
for(i=0; i<79; i++)
s1[i] =1;
for(i=0; i<sizeof(msg_default); i++)
s1[i] = msg_default[i];
delay_ms(100);
do
{
if(!input(pın_e1)) //if re1==low (pressed)
{
do
{
delay_cycles(2);
printf("\f\r\n");
printf("\f\r\n\n kac karakter .(0--99):");
msd=getc();
delay_cycles(2);
printf("%c",msd);
delay_us(1);
}while(!isamoung(msd,"0123456789"));
do
{
lsd=getc();
delay_cycles(2);
printf("%c",lsd);
delay_us(1);
}while(!isamoung(lsd,"0123456789"));
s1_char_size = 10*(msd-48) + (lsd-48);
delay_cycles(2);
printf("\r\n\n %lu karakter gırınız .: ",s1_char_size);
get_line1(); // acquire 16 char.
} // end of ınput(pın_e1)
// the delay count controls how fast the message scrolls
delaycount=2;
while (delaycount)
{
// this will be the index into our character
col_index = startposition % 6;
// this will be the index into our display msg array
char_index = startposition / 6;
// make sure that our index doesn't exceed our array size
if (char_index >= sizeof(s1))
{
startposition = 0;
char_index = 0;
col_index = 0;
}
// grab the first char
x = s1[char_index];
// 74hc595 ler suruluyor
output_high(pın_sh_cp);
output_high(pın_st_cp);
output_high(pın_ser_ın);
output_low(pın_sh_cp);
delay_us(1);
output_high(pın_sh_cp);
output_low(pın_ser_ın);
for (i=0;i<80;i++) // we've 80 columns to
{
output_low(pın_st_cp);
delay_us(200);
output_high(pın_st_cp);
delay_us(1);
output_low(pın_sh_cp);
delay_us(1);
output_high(pın_sh_cp);
if (col_index == 5)
{
col_index = 0;
char_index++;
if (char_index >= sizeof(s1))
char_index = 0;
x = s1[char_index];
}
else
{
if ( x < 32)
hc595_out_satir(0);
else if( x < 64)
hc595_out_satir(ascii1[x-32][col_index]);
else if( x < 96 )
hc595_out_satir(ascii2[x-64][col_index]);
else if( x < 128)
hc595_out_satir(ascii3[x-96][col_index]);
col_index++;
}
delay_us(120);
hc595_out_satir(0);
}
delaycount--;
}
startposition++;
} while(1);
}
Arkadaşım Foruma Ekledim Benim Yazıya Bak 5000 den fazla karakter hafızalı yardımcı olur sana
Başa dön
Benzer Konular
- MMC Card Kullanılarak Yapılmış 3 Renkli Kayan Yazı (Şema - kod - Hex )
- kayan yazı pic basicte programı nasıl yazılıyor
- 16x128 dot-matrıx dısplay kayan yazı panosu
- 16f628 ile rf kontrollü robot
- 304*8 kayan yazı devresi
- 2 satır kayan yazı
- pic16f628 ile 8x16 dotmatrix display kayan yazı projesi ve pic-C ile 2 örnek
- Vhdl - 7segment kayan yazı
- 8 Satır Sutun Sayısı Artırılabilir Kayan Yazı(VB+Pic Basic+Ares+İsis)- MMC Card Kullanılarak Yapılmış 3 Renkli Kayan Yazı (Şema - kod - Hex )
- kayan yazı pic basicte programı nasıl yazılıyor
- 16x128 dot-matrıx dısplay kayan yazı panosu
- 16f628 ile rf kontrollü robot
- 304*8 kayan yazı devresi
- 2 satır kayan yazı
- pic16f628 ile 8x16 dotmatrix display kayan yazı projesi ve pic-C ile 2 örnek
- Bluetooth Kontrollü Araba (VS .Net VB - Proton+ Pic Pasic -Pic16F877 -Bluetooth)
- 16 Karakter Kayan Yazıpc kontrollü 80 sütun kayan yazı_yardım
Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar için iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.