LCD Yardım LÜtfenn

Başlatan eee1984, 20 Şubat 2008, 11:38:52

eee1984

Merhaba arkadaslar

Ben pic16f870-73 ile bir lcd uygulaması yapmam gerekiyor ama bi turlu calısmadı program dogru çünkü pic16f84a da calısıyor niye istediğim piclerde calıstıramadım anlamadım yardımcı olurmusunuz

Kod asagıdaki gb:

'******LCD TANIMLAMALARI******
DEFINE LCD_DREG     PORTC     'LCD DATA BACAKLARI PORTC'YE BAGLI
DEFINE LCD_DBIT     4        'LCD DATA BITLERI HANGİ BITTEN BASLIYOR ??!
DEFINE LCD_EREG     PORTC     'LCD ENABLE BACAGI HANGI PORTA BAGLI
DEFINE LCD_EBIT     1         'LCD ENABLE BITI HANGI PORTA BAGLI  ??
DEFINE LCD_RSREG    PORTC        'LCD RS BACAGI HANGI PORTA BAGLI
DEFINE LCD_RSBIT    0              'LCD RS BACAGI HANGI BITE BAGLI   ???
DEFINE LCD_BITS     4     'LCD 4 BIT BAGLI
DEFINE LCD_LINES    2     'LCD KAC SIRADAN OLUSUYOR   satır sayısı

TRISC=0
PAUSE 500           '200 ms BEKLEME YAP

LCDOUT $FE,$80,"PBP SEVEREK"
LCDOUT $FE,$C3,"OGRENIYORUM"

end



Niye calısmıyyor bilen var mı acaba  :cry:

Birde sunu sorabilirmiyim yani bu lcd nin 4 tane data ucunu pic in istediğim bacagına baglayamıyormuyum  :oops:

Logan

Bağlantı yanlış, LCD'nin data uçları PortC'nin 3. bacağından değil 4. bacağından başlayacak. Ayrıca komutlarda;

Alıntı Yap
LCDOUT $FE,$80,"PBP SEVEREK"
LCDOUT $FE,$C3,"OGRENIYORUM"
değil,

Alıntı Yap
LCDOUT $FE,1,"PBP SEVEREK"
LCDOUT $FE,$C0,"OGRENIYORUM"

şeklinde olursa daha iyi olur.
İmza.

eee1984

Alıntı yapılan: "Logan"Bağlantı yanlış, LCD'nin data uçları PortC'nin 3. bacağından değil 4. bacağından başlayacak. Ayrıca komutlarda;

Alıntı Yap
LCDOUT $FE,$80,"PBP SEVEREK"
LCDOUT $FE,$C3,"OGRENIYORUM"
değil,

Alıntı Yap
LCDOUT $FE,1,"PBP SEVEREK"
LCDOUT $FE,$C0,"OGRENIYORUM"

şeklinde olursa daha iyi olur.

Ama çizimi değiştirme şansım yok :( yani 3.bacaktan baslasa calısmaz mı acaba  :oops:

Veli B.

Lcdout kullanmak yerine bu komuta alternatif olarak kendiniz bir makro yazarsaniz olur.

eee1984

Alıntı yapılan: "katana"Lcdout kullanmak yerine bu komuta alternatif olarak kendiniz bir makro yazarsaniz olur.

Nasıl pek anlamadım biraz acıklayabilirmisiniz  ;)

mucitotomasyon

öncelikle lcd nin baglantısı yanlış  lcd baglantısına internet de bi bak

ete

@eee1984,

Standart Basic komutlarını kullanırsan komutların kurallarına da uyman gerek. Bu kural derki şayet 4 bitlik data sistemini kullanırsan bu bitlerin başlangıcı ya portX.0 olacak yada PortX.4 olacak der. Bunun dışındaki alternatifleri kullanamazsın demektir bu. Sen program komutlarında data bit 4. bit den başlıyacak demişsin ama götürüp Bit.3'e bağlamışsın (PortC.3).
Katana arkadaşımızın dediği gibi illaki mevcut bağlantıyı kullanacak isen o zaman LCDOUT gibi standart komutları bırakacaksın ve LCD ye sen hükmedeceksin. Kısaca LCD kontrolü için gerekli komutları kendin yazacaksın İster Basic ile yap ister ASM ile yap farketmez. Ama inatla tasarımımı değiştirmem dersen seni uzun ince bir yol bekliyor şimdiden koşmaya başla derim.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

eee1984

Alıntı yapılan: "ete"@eee1984,

Standart Basic komutlarını kullanırsan komutların kurallarına da uyman gerek. Bu kural derki şayet 4 bitlik data sistemini kullanırsan bu bitlerin başlangıcı ya portX.0 olacak yada PortX.4 olacak der. Bunun dışındaki alternatifleri kullanamazsın demektir bu. Sen program komutlarında data bit 4. bit den başlıyacak demişsin ama götürüp Bit.3'e bağlamışsın (PortC.3).
Katana arkadaşımızın dediği gibi illaki mevcut bağlantıyı kullanacak isen o zaman LCDOUT gibi standart komutları bırakacaksın ve LCD ye sen hükmedeceksin. Kısaca LCD kontrolü için gerekli komutları kendin yazacaksın İster Basic ile yap ister ASM ile yap farketmez. Ama inatla tasarımımı değiştirmem dersen seni uzun ince bir yol bekliyor şimdiden koşmaya başla derim.

Ete

Acıklamalarınızdan dolayı teşekkürler çok yardımcı oldunuz inanın  ;)