lcd de çeşitli tiplerde data görüntüleme komutları nelerdir?

Başlatan chailuck, 24 Eylül 2010, 22:04:46

chailuck

LCDOUT $FE,$C0,"asd=",DEC2 asd
pic basic bilenler bu satırın ne anlama geldiğini bilirler,
ama ben hitech c öğrenmeye çalışan biri olarak bunu c de nasıl yapacağımı bilemiyorum?
bu kodun basic karşılığı : ekranı temizle, cursoru ikinci satır başına al, asd= yaz ve asd değişkeninin decimal 2 basamağını yaz
bunları hitech c de nasıl yapacağım ??
İmkanın sınırlarını görmek için imkansızı denemek lazım. (Fatih Sultan Mehmet)  Ayıplarını gördüğünüz komşuyu kınamayınız. Sırlarını açıklamayınız.Çünkü gördüğünüz bu sır size emanettir, emanete hıyanet kötü ve çirkin bir filldir. (Hacı Bayramı Veli )  meyve veren ağacın taşlanması çok hoş ;)

chailuck

yok mu yardım edecek  ?
aslında bu konuda çok açık bir kaynak bulamadım.
yani lcd kullanırken basicte F1e basarız herşeyi anlatır o bize,
c  dili için bu hitech c bilenler bir döküman hazırlayamazlar mı ?
lcd nin herşeyi içinde olan ?
İmkanın sınırlarını görmek için imkansızı denemek lazım. (Fatih Sultan Mehmet)  Ayıplarını gördüğünüz komşuyu kınamayınız. Sırlarını açıklamayınız.Çünkü gördüğünüz bu sır size emanettir, emanete hıyanet kötü ve çirkin bir filldir. (Hacı Bayramı Veli )  meyve veren ağacın taşlanması çok hoş ;)

papylon

@chailuck,

HI-TECH de Yukarıdaki gibi istediğin şekilde hazır kütüphane yok.

Ancak kendin yazabilir veya paylaşılan kütüphaneleri kullanabilirsin.

@FxDev in paylaştığı HI-TECH C kitabında vardı. Onu kullanabilirsin, hatta yanılmıyorsam kendi hazırladığım 4 ve 8bit LCD kütüphanesini bende paylaşmıştım.

ErsinErce

sprintf komutu inceleyip bu fonksiyonu lcd kütüphanenize yönlendirerek istediğinizi gerçekleştirebilirsiniz ;)

chailuck

Alıntı yapılan: papylon - 25 Eylül 2010, 02:26:43
@chailuck,

HI-TECH de Yukarıdaki gibi istediğin şekilde hazır kütüphane yok.

Ancak kendin yazabilir veya paylaşılan kütüphaneleri kullanabilirsin.

@FxDev in paylaştığı HI-TECH C kitabında vardı. Onu kullanabilirsin, hatta yanılmıyorsam kendi hazırladığım 4 ve 8bit LCD kütüphanesini bende paylaşmıştım.

kütüphane hazılamasını bilmiyorum henüz sadece var olanı kullanıyorum :)
birde fxdev ın hazırladıgını bırebır kullandım ama bende derleme hatası verdı sonra hitech samples ıcınden aldım kullandım.
cok hakım degılım C ye







Alıntı yapılan: cynetron - 25 Eylül 2010, 02:38:58
sprintf komutu inceleyip bu fonksiyonu lcd kütüphanenize yönlendirerek istediğinizi gerçekleştirebilirsiniz ;)

arkadasım ben cok ıyı bılmıyorum neyı nasıl yolendırırım herhangı bır fıkrım yok.
yenı oldugumu belırttım zaten c konusunda ;)
ben mumkunse bu konuda daha detaylı konu anlatımı hazırlayacak arkadaşlara anlatmalarını rıca ettım, elimde c konusunda anlatım yapan 6 kıtap var ama hepsı proje bazlı ılerlıyor. hangı satır ne ıs yapar yazan yok..







benim kullandığım lcd.c

Alıntı Yap
#ifndef _XTAL_FREQ
// Unless specified elsewhere, 4MHz system frequency is assumed
#define _XTAL_FREQ 4000000
#endif


#include    <pic.h>
#include    "lcd.h"

#define    LCD_RS RC0
#define    LCD_RW RC1
#define LCD_EN RC2

#define LCD_DATA    PORTB

#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)
{
    __delay_us(40);
    LCD_DATA = ( ( c >> 4 ) & 0x0F );
    LCD_STROBE();
    LCD_DATA = ( c & 0x0F );
    LCD_STROBE();
}

/*
*     Clear and home the LCD
*/

void
lcd_clear(void)
{
    LCD_RS = 0;
    lcd_write(0x1);
    __delay_ms(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
    lcd_write( c );
}


/*
* 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()
{
    char init_value;

    //ADCON1 = 0x06;    // Disable analog pins on PORTA

    init_value = 0x3;
    TRISB=0;
    TRISC=0;
    LCD_RS = 0;
    LCD_EN = 0;
    LCD_RW = 0;
   
    __delay_ms(15);    // wait 15mSec after power applied,
    LCD_DATA     = init_value;
    LCD_STROBE();
    __delay_ms(5);
    LCD_STROBE();
    __delay_us(200);
    LCD_STROBE();
    __delay_us(200);
    LCD_DATA = 2;    // Four bit mode
    LCD_STROBE();

    lcd_write(0x28); // Set interface length
    lcd_write(0xF); // Display On, Cursor On, Cursor Blink
    lcd_clear();    // Clear screen
    lcd_write(0x6); // Set entry Mode
}

lcd.h

Alıntı Yap
/*
*   LCD interface header file
*   See lcd.c for more info
*/

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

extern void lcd_write(unsigned char);

/* Clear and home the LCD */

extern void lcd_clear(void);

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

extern void lcd_puts(const char * s);

/* Go to the specified position */

extern void lcd_goto(unsigned char pos);
   
/* intialize the LCD - call before anything else */

extern void lcd_init(void);

extern void lcd_putch(char);

/*   Set the cursor position */

#define   lcd_cursor(x)   lcd_write(((x)&0x7F)|0x80)






şimdi nasıl yapabilirim bunu ?
lcd.c dosyamı değiştirmem gerekiyor ama nasıl ?
anlatacak kimse yokmu :)
İmkanın sınırlarını görmek için imkansızı denemek lazım. (Fatih Sultan Mehmet)  Ayıplarını gördüğünüz komşuyu kınamayınız. Sırlarını açıklamayınız.Çünkü gördüğünüz bu sır size emanettir, emanete hıyanet kötü ve çirkin bir filldir. (Hacı Bayramı Veli )  meyve veren ağacın taşlanması çok hoş ;)

ErsinErce

elindeki 6 kitapta da sprintf komutunun nasıl işlediği aynı şekilde anlatılıyordur,
kitabı boşver nette sprintf yazınca bile binlerce açıklama mevcut ve hepside aynı şekilde...

KAZIMUGUR


chailuck

Alıntı yapılan: cynetron - 25 Eylül 2010, 21:46:04
elindeki 6 kitapta da sprintf komutunun nasıl işlediği aynı şekilde anlatılıyordur,
kitabı boşver nette sprintf yazınca bile binlerce açıklama mevcut ve hepside aynı şekilde...
arkadaşım sen onu printf ile karıştırıyorsun bence, ayrıca biliyorsan açıkla bence, nasıl anlatıldıgına daır yorum okumak ıstemıyorum, bılenlerın yardımını ıstıyorum mumkunse mumkun degılse yorum degıl nasıl yapıldıgını anlamak ıstıyorum...!




Alıntı yapılan: KAZIMUGUR - 25 Eylül 2010, 21:48:46
@aslan74 hocamızın anlatımlarını bul incele...
aratıyorum şimdi teşekkürler..
İmkanın sınırlarını görmek için imkansızı denemek lazım. (Fatih Sultan Mehmet)  Ayıplarını gördüğünüz komşuyu kınamayınız. Sırlarını açıklamayınız.Çünkü gördüğünüz bu sır size emanettir, emanete hıyanet kötü ve çirkin bir filldir. (Hacı Bayramı Veli )  meyve veren ağacın taşlanması çok hoş ;)

Sepiroth

hic bir seyi degistirmene gerek yok, bahsettigin is ile kullandigin driver arasinda hic bir baglanti yok:) cynetron'un karistirdigi sprintf'i incele bence, okumaktan bu kadar korkmayin:)
Either you feel it, or not...

chailuck

Alıntı yapılan: Sepiroth - 25 Eylül 2010, 22:22:24
hic bir seyi degistirmene gerek yok, bahsettigin is ile kullandigin driver arasinda hic bir baglanti yok:) cynetron'un karistirdigi sprintf'i incele bence, okumaktan bu kadar korkmayin:)
okumaktan korksam 6sını üstüste koyup ta, incelemezdim.
yok işte kitaplarda...!!
İmkanın sınırlarını görmek için imkansızı denemek lazım. (Fatih Sultan Mehmet)  Ayıplarını gördüğünüz komşuyu kınamayınız. Sırlarını açıklamayınız.Çünkü gördüğünüz bu sır size emanettir, emanete hıyanet kötü ve çirkin bir filldir. (Hacı Bayramı Veli )  meyve veren ağacın taşlanması çok hoş ;)

chailuck

neyse yardım edecek kimse yok şimdilik sanırım,
genelde yorum yapıyorsunuz, soruma hala tam cevap alamadım..
İmkanın sınırlarını görmek için imkansızı denemek lazım. (Fatih Sultan Mehmet)  Ayıplarını gördüğünüz komşuyu kınamayınız. Sırlarını açıklamayınız.Çünkü gördüğünüz bu sır size emanettir, emanete hıyanet kötü ve çirkin bir filldir. (Hacı Bayramı Veli )  meyve veren ağacın taşlanması çok hoş ;)

papylon

Söylenenler yorum değil aslında, @chailuck

6 tane kitap okudum anlamadım dediğiniz şeyi kimsenin 2 satır yazıyla burada anlatabileceğini sanmıyorum.

Sizin sorduğunuz soruya birilerinin, sizin istediğiniz şekilde cevap vermesi demek, size özel olarak kod yazması ve uzun uzadıya da, o kodları açıklaması demek.

Arkadaşlar zaten yukarıda hangi fonksiyonu kullanabileceğinizi açıkladılar zaten (sprintf).

Eğer @aslan74 ve @FxDev'in derslerini incelerseniz, kesinlikle sorularınızın tamamına ve daha fazlasına cevap bulabilirsiniz.

NOT: Yukarıda yazdıklarım kesinlikle kızgınlık ifadesi değil yol gösterme amaçlıdır.

arslan74

Alıntı yapılan: chailuck - 24 Eylül 2010, 22:04:46
LCDOUT $FE,$C0,"asd=",DEC2 asd
pic basic bilenler bu satırın ne anlama geldiğini bilirler,
ama ben hitech c öğrenmeye çalışan biri olarak bunu c de nasıl yapacağımı bilemiyorum?
bu kodun basic karşılığı : ekranı temizle, cursoru ikinci satır başına al, asd= yaz ve asd değişkeninin decimal 2 basamağını yaz
bunları hitech c de nasıl yapacağım ??

Merhaba,

Aşağıdaki yazımı okudunuz mu?

Konu: Hi-Tech Eğitim Bölüm9 (Karakter LCD display sürmek)
https://www.picproje.org/index.php/topic,19268.0.html

Hi-Tech Eğitim Bölüm9.2 (LCD de char int ve float göster
https://www.picproje.org/index.php/topic,19299.0.html

Bu sitede, yeterince araştırma yaparsan bircok şeye ulaşabilirsin.

Selamlar


chailuck

Alıntı yapılan: papylon - 26 Eylül 2010, 13:39:52
Söylenenler yorum değil aslında, @chailuck

6 tane kitap okudum anlamadım dediğiniz şeyi kimsenin 2 satır yazıyla burada anlatabileceğini sanmıyorum.

Sizin sorduğunuz soruya birilerinin, sizin istediğiniz şekilde cevap vermesi demek, size özel olarak kod yazması ve uzun uzadıya da, o kodları açıklaması demek.

Arkadaşlar zaten yukarıda hangi fonksiyonu kullanabileceğinizi açıkladılar zaten (sprintf).

Eğer @aslan74 ve @FxDev'in derslerini incelerseniz, kesinlikle sorularınızın tamamına ve daha fazlasına cevap bulabilirsiniz.

NOT: Yukarıda yazdıklarım kesinlikle kızgınlık ifadesi değil yol gösterme amaçlıdır.
arkadaşım anlamadım dıye bırsey yazmısmıyım 6 kıtabın ıcınde boyle bırsey gecmıyor dedım tekrar ve dıkkatlı oku!!
anladıysan eger yazdıgım seyı ben bırılerınden yardım ıstedım,  burda bırsey sormadan oncede arastırırım oyle armut pıs agzıma dus bırı olmadıgımı bıraz olsun ıletı gecmısıme bakarsanız abnlarsınız, kımseden bana ozel kod yazmasınıda sımdıye kadar beklemedım. burada kımseyle polemık laf dalası fılan arayısında degılım aradıgım sey bılen bırılerının bu ıs soyle yapılır demesı.
ayrıca elımdekı 6 kıtap tek tek syntax, ve komutların acıklamısının yer aldıgı kıtaplar degıl..
sadece ıcındekı projelerı anlatan ıcındekı projelerde gecenlerden fazlasının ogrenılemeyecegı kıtaplar. evet ıclerınde sprintf dıye bırsey yok
ayrıca dıkkatsız okudugunu anlıyorum ARSLAN74 o aslan74 degıl...!!!

sordugum soru net va basit tekrar soruyorum
***
LCDOUT $FE,$C0,"asd=",DEC2 asd
pic basic bilenler bu satırın ne anlama geldiğini bilirler,
ama ben hitech c öğrenmeye çalışan biri olarak bunu c de nasıl yapacağımı bilemiyorum?
bu kodun basic karşılığı : ekranı temizle, cursoru ikinci satır başına al, asd= yaz ve asd değişkeninin decimal 2 basamağını yaz
bunları hitech c de nasıl yapacağım ??
bu sorunun buralara dallanasını saglayan arkadaslarıma tesekkur ederım.
basıt anlasılabılr bır soru sordugumu dusunuyorum..!! katılmayanlar var tabı bu fıkrıme..!
bır ayrıntı daha
FxDev'e aıt pdf kıtap ıle basladıgımıda anlattım, bunları tekrar ve tekrar yazı yazmak ıcın lutfen yazmayın.
Saygılarımla...








Alıntı yapılan: arslan74 - 26 Eylül 2010, 13:59:11
Alıntı yapılan: chailuck - 24 Eylül 2010, 22:04:46
LCDOUT $FE,$C0,"asd=",DEC2 asd
pic basic bilenler bu satırın ne anlama geldiğini bilirler,
ama ben hitech c öğrenmeye çalışan biri olarak bunu c de nasıl yapacağımı bilemiyorum?
bu kodun basic karşılığı : ekranı temizle, cursoru ikinci satır başına al, asd= yaz ve asd değişkeninin decimal 2 basamağını yaz
bunları hitech c de nasıl yapacağım ??

Merhaba,

Aşağıdaki yazımı okudunuz mu?

Konu: Hi-Tech Eğitim Bölüm9 (Karakter LCD display sürmek)
https://www.picproje.org/index.php/topic,19268.0.html

Hi-Tech Eğitim Bölüm9.2 (LCD de char int ve float göster
https://www.picproje.org/index.php/topic,19299.0.html

Bu sitede, yeterince araştırma yaparsan bircok şeye ulaşabilirsin.

Selamlar

selamlar hocam, dün zaten size ait dökümanları indirdim teşekkür ederim






Alıntı yapılan: KAZIMUGUR - 26 Eylül 2010, 14:27:09
SORARKEN <<<

    * Sorunuzu, konu ile alakasız bir foruma göndermek
    * İleri seviye konuların tartışıldığı bir foruma, başlangıç seviyesinde bir soru göndermek veya tam tersini yapmak
    * Çok fazla haber grubuna birden posta atmak
    * Tanımadığınız veya sizin sorununuzu çözmekle mükellef olmayan birilerine özel ileti göndermek

konu ile mi alakasız uoksa bu forumda ( hitech kısmı ) herkez ord prof mu ?
yoksa burada birilerine özel ileti göndermek yoluyla rahatsız mı ettim ?
zaten bırden fazla posta da göndermedim anlayamadım ne yaptım ben ?
İmkanın sınırlarını görmek için imkansızı denemek lazım. (Fatih Sultan Mehmet)  Ayıplarını gördüğünüz komşuyu kınamayınız. Sırlarını açıklamayınız.Çünkü gördüğünüz bu sır size emanettir, emanete hıyanet kötü ve çirkin bir filldir. (Hacı Bayramı Veli )  meyve veren ağacın taşlanması çok hoş ;)