CCS C YARDIM ????

Başlatan ibrahim626, 29 Mayıs 2011, 21:51:35

ibrahim626

merhaba elimde bi pic deneme/geliştirme kartı var bununla ccs c porgramlamayı öğreniyorum
lcd uygulamasında benim lcd\'im portb ye bağlı fakat <lcd.c> dosyasını nasıl düzelnleyeceğimi bilmiyorum lcd 2*16 karakter ve rw pini direk gnd\'de .işlemci ise 18f4520. programı yazıyorum hata vermiyo ama lcdde ve similasyonda görünmüyor.Buna göre lcd.c dosyası ayarlayabilirmisiniz .. şimdiden teşekkürler.

yazdığım program:

#include \"C:\\Users\\********\\Desktop\\DENEME PROGRAMLAR\\LCD DENEME\\fkaklsmvslmlnşdg.h\"
#fuses NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,
#define use_portb_lcd true
#define LCD_TYPE 2
#include <lcd.c>
int sayi; //sayı değişkeni
void main()
{
   lcd_init();

   setup_adc_ports(NO_ANALOGS|VSS_VDD);
   setup_adc(ADC_OFF|ADC_TAD_MUL_0);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_wdt(WDT_OFF);
   setup_timer_0(RTCC_INTERNAL);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   lcd_init();
//Setup_Oscillator parameter not selected from Intr Oscillotar Config tab

for(sayi=9;sayi<10;sayi--);
{
lcd_init();
lcd_gotoxy(7,1);
printf(lcd_putc,\"%d\",sayi);
delay_ms(250);

}
lcd_gotoxy(1,1);
printf(lcd_putc,\"MERHABA\");
delay_ms(250);
}

ibrahim626


ogoculu


#include <lcd.c> den önce ki satırlara aşağıdaki tanımlamaları girmen gerekiyor.lcd ekranın hangi portu pic in hangi portuna gidiyor bunlar eşleşmeli.

#define LCD_D4 PIN_b4
#define LCD_D5 PIN_b5
#define LCD_D6 PIN_b6
#define LCD_D7 PIN_b7
#define LCD_RS PIN_b2
#define LCD_E  PIN_b0
#define LCD_RW PIN_b1

ayrıca R/W ucunu low yapman gerekir ki lcd ye bilgi gönderebilesin.
lcd driverı olarak ta <lcd.c>  yerine flexible lcd driverini kullanırsan daha az uğraşırsın. nette bulabilirsin ayrıca sitede de görmüştüm yanılmıyorsam

ibrahim626

flexible lcd de denedim fakat hata veriyor.sorun nerede hala anlamadım ?

erdogan_82

LCD uygulamalarında LCD.C include dosyası kullanılmalıdır. Bu dosya genel bir dosyadır.
Hem B portu için hemde D portu için kullanılabilmektedir. Eğer B portu kullanılacak ise
driver klasörü içerisinden LCD.C dosyası açılmalı ve B portu kullanılacak sekilde
ayarlanmalıdır. Ayarlama asağıdaki satırın önündeki // isaretlerinin kaldırılması ile
olacaktır.
//#define use_portb_lcd TRUE
#define use_portb_lcd TRUE
// isareti kaldırıldığı zaman yukarıdaki sekilde renk değisimi olur.
                                 (( alıntıdır, nasıl yapıldıgını hiç denemedim fakat uğrasırsan bulabilirsin diye düşünüyüorum umarım işini görüür, çalışmalarında başarılar )))

ibrahim626

Vallahi 1,5 haftadır ugrasıyorum denemediğim yol kalmadı yinede olmuyor :(

ogoculu

kit üzerinde muhtemelen bir kontrast seçimi verdır. glcd ve lcd için iki farklı konumu oluyor. bu seçimin doğru olduğundan emin ol. sonra kontrast ayarı için olan potla oyna. maksimuma alınca lcd nin üst sırasının koyurenk olması gerekir eğer olmuyorsa lcd nin beslemesi yada kontrastı ile ilgili bir sorun var demektir.koyulaşıyorsa data uçları ile bir sıkıntı var demektir. kit te hangi pic var birde lcd uçları hangi bacaklara bağlı söylersen örnek kod hazırlayabilirim.

ibrahim626

kontrast ayarını ayarladım kitin yanında gelen deneme programını yüklediğimde çok güzel çalışıyor kendim yazınca hata vermiyor ama lcdye de yazı yazmıyo?

crzyfear

ya hocam benımde lcd bı sorunum var konstrat ayarını yapmadıgımız surece lcd okuma yapamyaız demı ?

ibrahim626

kontrast ayar potu varsa yapmalısın yoksa okunmuyor ama bazıları sabit bir direncle de standart ayar yapıyor diye biliyorum similasyonda çalışıyormu yazıları okuyabiliyormusun ? 

crzyfear

ya ııss de guzel bı sekılde calısıyor ama devrede sımdı 100k lık pot koydum onceden hıc bırsey yoktu suanda kare kutular var kalın cızgı halınde ne yapmama lazım ?

ibrahim626

genelde ayar potu olarak 22k kullanıyorlar istersen bi 22k lık potla dene ?

ogoculu

önemli detayı hala atlıyorsun. lcd nin R/W ucunu low yuani 0v yapmalısın. R/W ucu high ise lcd ye veri gönderemessin. contrast içi pot değeri çok farketmez ama 100k bana biraz fazla geldi. 10 k yada 5 k ile yapılır genelde. hatta ben 4.7 k ya 1 k sabit direnç bağlıyorum. elimdeki lcd lere tam uyuyor.

Hızlı Yanıt

Not: Bu konu bir moderatör tarafından onaylanmadan görüntülenmeyecektir.

Adı:
E-Posta:
Doğrulama:
Lütfen bu kutuyu boş bırakın:
IRFP250 Nedir:
kısayollar: göndermek için alt+s veya önizleme yapmak için alt+p'ye basın