pic c lite derleyici sorunu

Başlatan findux, 20 Haziran 2007, 21:26:35

findux

arkadaslar pic c lite derleyicisini kullandım.basit programlarda sorunsuz ama 2-3 tane for döngüsü filan kayunca istenilen sonucu vermiyo.programda kodunda gram hata yok sorun nedir acaba .teşekkürler.

Chan86

Derleyince hatayı verir sana eğer hatayı yada bir sakıncası yoksa programı koyarsan buraya sana yardımcı olabiliriz.

findux

ilginize teşekkur ederim.Proje havada TEKNOLOJİ yazısını yazdırmak pic c derleyicisinide kullandım aynı sorunla karşılaştım.7 led kullandım bazı harfleri oluşturamdım(karışık ve eksik çıkıyo)derleyici hatasız derliyo ve programın genel  calışmasındada sorun yok harfler birtürlü çıkmadı.program kodu aşağıdadır.bir tek T harfi düzgün .(not toplam_sutun değişkeni bu projede kullanılmamıştır)program gayet basit RA1 bağlı reed röle ile pozisyon sağladım.

#include<pic.h>
#include<delay.c>
#define ONOFF RA1
main(void)
{
 unsigned char i,toplam_sutun;
 unsigned const char metin[]={
0x40,0x40,0x7F,0x40,0x40,0x00,//T harfi
0x7F,0x49,0x49,0x41,0x00,     //E
0x7F,0x80,0x1C,0x22,0x41,0x00,//K
0x7F,0x20,0x1C,0x02,0x7F,0x00,//N
0x3E,0x41,0x41,0x41,0x3E,0x00,//O
0x7F,0x01,0x01,0x01,0x00,     //L
0x3E,0x41,0x41,0x41,0x3E,0x00,//O
0x02,0x01,0x01,0x7E,0x00,     //J
0x00,0x5F,0x00,0x00,0x00};    //İ
toplam_sutun=45;
TRISB=0;
TRISA=0xFF;
for(;;)
{
if(ONOFF==0)
{
for(i=0;i<50;i++)
{
 PORTB=metin;
 DelayUs(100);
}
}
}
}

M_B

Arkadas bir de soyle dene bakalım
for(;;)
{
      if(ONOFF==0)
     {
        for(i=0;i<50;i++)
           {
            PORTB=metin;
            DelayMs(1);
            }
           DelayMs(50);
     }
}



Alıntı yapılan: "findux"ilginize teşekkur ederim.Proje havada TEKNOLOJİ yazısını yazdırmak pic c derleyicisinide kullandım aynı sorunla karşılaştım.7 led kullandım bazı harfleri oluşturamdım(karışık ve eksik çıkıyo)derleyici hatasız derliyo ve programın genel  calışmasındada sorun yok harfler birtürlü çıkmadı.program kodu aşağıdadır.bir tek T harfi düzgün .(not toplam_sutun değişkeni bu projede kullanılmamıştır)program gayet basit RA1 bağlı reed röle ile pozisyon sağladım.

#include<pic.h>
#include<delay.c>
#define ONOFF RA1
main(void)
{
 unsigned char i,toplam_sutun;
 unsigned const char metin[]={
0x40,0x40,0x7F,0x40,0x40,0x00,//T harfi
0x7F,0x49,0x49,0x41,0x00,     //E
0x7F,0x80,0x1C,0x22,0x41,0x00,//K
0x7F,0x20,0x1C,0x02,0x7F,0x00,//N
0x3E,0x41,0x41,0x41,0x3E,0x00,//O
0x7F,0x01,0x01,0x01,0x00,     //L
0x3E,0x41,0x41,0x41,0x3E,0x00,//O
0x02,0x01,0x01,0x7E,0x00,     //J
0x00,0x5F,0x00,0x00,0x00};    //İ
toplam_sutun=45;
TRISB=0;
TRISA=0xFF;
for(;;)
{
if(ONOFF==0)
{
for(i=0;i<50;i++)
{
 PORTB=metin;
 DelayUs(100);
}
}
}
}
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

findux

valla kardeş ben görüntü kaliteli olsundiye buzdolabı pervane motorunun üzerine kurdum devreyi çok hızlı dönüyo.ama Milisaniyeyide denedim aynı şekiller çıkıyo cıkan şekiller resimdeki gibidir. Ms kulandığımda sadece bu şekiller uzun oluşuyo.normalde TEKNOLOJİ yazması lazım başka yazı içinde denedim yi şekiller karışık çıkıyo .valla anlayamadım giitti:D


M_B

merhaba senın problemın motor devri ve diziye koydugun karekter cevrımınde hata olabılır.
asagıdakı lınkı ındır ıncele sana yardımcı olacaktır.
Kolay gelsın

http://www.yavuzerol.com/dosyalar/havadaLED.pdf

Alıntı yapılan: "findux"valla kardeş ben görüntü kaliteli olsundiye buzdolabı pervane motorunun üzerine kurdum devreyi çok hızlı dönüyo.ama Milisaniyeyide denedim aynı şekiller çıkıyo cıkan şekiller resimdeki gibidir. Ms kulandığımda sadece bu şekiller uzun oluşuyo.normalde TEKNOLOJİ yazması lazım başka yazı içinde denedim yi şekiller karışık çıkıyo .valla anlayamadım giitti:D

(Resim gizlendi görmek için tıklayın.)
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

Chan86

Finduks kardeşim sana kodları veriyorum 7 lede göre ayarlanmış şekilde


T: 0X02-0X02-0XFE-0X02-0X02-0X00
E: 0XFE-0X92-0X92-0X92-0X82-0X00
K: 0XFE-0X10-0X28-0X44-0X82-0X00
N: 0XFE-0X08-0X10-0X20-0XFE-0X00
O: 0X7C-0X82-0X82-0X82-0X7C-0X00
L: 0XFE-0X80-0X80-0X80-0X80-0X00
O: 0X7C-0X82-0X82-0X82-0X7C-0X00
J: 0X40-0X80-0X80-0X80-0X7E-0X00
İ: 0X88-0XFA-0X88-0X00


umarı sana yardımcı olur ...........

Bunları bir dene ben 7*16 kayan yazı yaptım bu kodlar işimi gördü

Chan86

senin hangi pic i kullandığını bilmiyorum ama muhtemelen 16f628 yada 16f84 dür benim sana verdiğim kodlar rb1 den başlanılarak yazıldı ra0 boşta oalcak şekilde ona göre denersen çalışacaktır

findux

sağolasın linkteki devre ile benim devre arasında farklılık var . bende bu binaen bir küçük bir değişiklik yaptım. birşeyler olmaya basladı.sorun donanım daymış . şimdi devreyi yeniden kuracam muhtemelen sorun çözülecek. ilginize tekrar teşekkür ederim.

findux

chan86 kardeş sağol ya problem çözüldü . ama benim dizideki karakterler niye cımadı ki  hala anlamış değilim.değişken mi yanlış tanımladık ki?

Chan86

Sorunu çözebildiysek ne mutlu bize iyi çalışmalar...

MURSEL

@findux şimdi durum Şundan ibaret kardeş
00000
11111
00100
00100
00100
00100
00100
00100

bak bakalım T harfi cıktımı    :roll:  evet cıktı nasıl cıktı sekilde ki "1" lere göre  olaya gelelim şimdi
T: 0X02-0X02-0XFE-0X02-0X02-0X00
ilk degerimiz nedir 0x02 bunu porta yüklerken bu degeri dikey olarak cevir 00000010    su sekilde
0
1
0
0
0
0
0
0
cevirince  yukarıdaki sekle bak aynısı cıktımı  captın sen bu işi :lol:  :lol:  :roll:  şimdi uygulamanı bu mantıkla kendi ismine cevirerek  yap bakalım  selametle kardeşler:

Chan86

mursel istersen tüm karakterler var bende  ;)

Chan86

ama finduks dediğim gibi ben bunları rb1 den başlayarak yazdım obna dikkat et arkadaşlar verdiğim kodlar rb1 den başlayarak bağlantı yapıldığında tam olarak çalışır ona dikkat edin

MURSEL

sagol Chan86   arkadasa yardımcı olamak için yeni bi karekter için sana gelmesin mantıgını anlaması için kerdeş  :roll:   :roll: