Elektronik ve Teknoloji Merkezi Elektrotekno.com
Elektronik ve Teknoloji Merkezi




Click here to go to the original topic

Elektrotekno.com Ana Sayfa Genel Elektrik-Elektronik
Yazar Mesaj
trash_
Tarih: 25.07.2006, 10:03 Mesaj konusu: lcd problemi

Arkadlar Doğan İbrahim'in Pic C ile Pic Programlama kitabını aldım. Kitaptaki programları kurdum ve bir lcd devresi yaptım. HI_TECH firmasının PICC LITE programını kullanarak basit bir program yazdım.


program şu şekide:

Kod:
#include <pic.h>
#include <lcd.c>

main(void)

{

TRISB = 0;
TRISA = 0;
lcd_init();
lcd_clear();
lcd_put("Merhaba");
for(;;)
{
}

}

ama programı derlemeye çalıştığım zaman "lcd.c bulunamadı diyor".

internette araştırdım ama bir türlü işime yarayan bir lcd.c bulamadım. yardımcı olursanız sevinirim.
volga
Tarih: 25.07.2006, 12:54 Mesaj konusu:

arkadaşım kolay gelsin.
gördüğüm kadarıyla cevabı uzun zamadır bekliyorsun.
şimdi.
pic lite programının kurulduğu dosya içinde Samples diye bir dosya olması lazım.
örnek olarak gönderilen dosyalar bunlar.
bu örneklerin biride lcd ile ilgili bu klasörün içinde lcd.c lcd.h ve time dosyarı bulunuyor.
bu iki dosyayıda alıp ana klasör altında bulunanan içinde *.c ve *.h dosyalarının bulunduğu dosyaya kayıt et.
umarım problemin çözülür.
unutmadan:bir sonuca ulaşamazsan kullandığın pıc lite programının yeni demoları çıktı onların samples dosyasından bulabilirsin.hala çözemezsen bana tekrara cevap yaz.
tekrara kolay gelsin.başarılar.
trash_
Tarih: 25.07.2006, 18:19 Mesaj konusu:

cevabın için teşekkür ederim ama lcd.c dosyası açılamıyor hatası veriyor. oysaki lcd.c ve lcd.h dosyası orda var. peki aynı problem niye pic.h ta meydana gelmiyor. lcd kullanmadan bir program yazınca problem yaşanmıyor. sanırım problem lcd.c dosyasında.

lcd.c
Kod: /*
 *   LCD interface example
 *   Uses routines from delay.c
 *   This code will interface to a standard LCD controller
 *   like the Hitachi HD44780. It uses it in 4 bit mode, with
 *   the hardware connected as follows (the standard 14 pin
 *   LCD connector is used):
 *   
 *   PORTB bits 0-3 are connected to the LCD data bits 4-7 (high nibble)
 *   PORTA bit 2 is connected to the LCD RS input (register select)
 *   PORTA bit 3 is connected to the LCD EN bit (enable)
 *   
 *   To use these routines, set up the port I/O (TRISA, TRISB) then
 *   call lcd_init(), then other routines as required.
 *   
 */

#include   <pic.h>
#include   "lcd.h"
#include   "delay.h"
 
static bit LCD_RS   @ ((unsigned)&PORTA*8+2);   // Register select
static bit LCD_EN   @ ((unsigned)&PORTA*8+3);   // Enable

#define   LCD_STROBE   ((LCD_EN = 1),(LCD_EN=0))


/* write a byte to the LCD in 4 bit mode */

void
lcd_write(unsigned char c)
{
   PORTB = (PORTB & 0xF0) |  (c >> 4);
   LCD_STROBE;
   PORTB = (PORTB & 0xF0) |  (c & 0x0F);
   LCD_STROBE;
   DelayUs(40);
}

/*
 *    Clear and home the LCD
 */

void
lcd_clear(void)
{
   LCD_RS = 0;
   lcd_write(0x1);
   DelayMs(2);
}

/* write a string of chars to the LCD */

void
lcd_puts(const char * s)
{
   LCD_RS = 1;   // write characters
   while(*s)
      lcd_write(*s++);
}

/* write one character to the LCD */

void
lcd_putch(char c)
{
   LCD_RS = 1;   // write characters
   PORTB = (PORTB & 0xF0) |  (c >> 4);
   LCD_STROBE;
   PORTB = (PORTB & 0xF0) |  (c & 0x0F);
   LCD_STROBE;
   DelayUs(40);
}


/*
 * Go to the specified position
 */

void
lcd_goto(unsigned char pos)
{
   LCD_RS = 0;
   lcd_write(0x80+pos);
}
   
/* initialise the LCD - put into 4 bit mode */

void
lcd_init(void)
{
   LCD_RS = 0;   // write control bytes
   DelayMs(15);   // power on delay
   PORTB = 0x3;   // attention!
   LCD_STROBE;
   DelayMs(5);
   LCD_STROBE;
   DelayUs(100);
   LCD_STROBE;
   DelayMs(5);
   PORTB = 0x2;   // set 4 bit mode
   LCD_STROBE;
   DelayUs(40);
   lcd_write(0x28);   // 4 bit mode, 1/16 duty, 5x8 font
   lcd_write(0x08);   // display off
   lcd_write(0x0F);   // display on, blink curson on
   lcd_write(0x06);   // entry mode
}

arnavutyk
Tarih: 31.07.2006, 17:05 Mesaj konusu: parsic programi.....!

arkadasim,

parsic programini proje olusturmak icin bir dene internetten kırek olarak bulabilirsin.......
coshkun
Tarih: 03.08.2006, 12:42 Mesaj konusu:

Arkadaşlar #include deyimiyle kullandığınız başlık dosyalarının uzantıları her zaman .h olmalıdır.Dolayısıyla doğru şekil:
#include <pic.h>
#include <lcd.h>
olmalı.lcd.c otomatik olarak programınıza eklenecektir zaten.
blackhawk22
Tarih: 30.09.2006, 16:46 Mesaj konusu:

Selam.Problemin büyük ihtimalle lcd.c dosyasındaki "delay.h" dan kaynaklanıyor.Ben de aynı sarunu yaşamıştım."delay.h" yerine "delay.c" yaz olur. olmazsa prodigy_last@yahoo.com
erolokumus
Tarih: 04.02.2007, 04:06 Mesaj konusu:

lcd.h dosyasını ınternetten bulup dosya ıcıne eklemen gereklı sanırım
Elektrotekno.com Ana Sayfa Genel Elektrik-Elektronik
1. sayfa (Toplam 1 sayfa)

lcd problemi

Gizlilik Politikası

PLC programming