Arkadaslar Pic ile LCD kullanmayaya çalışıyoruz.Fakat ASCII şeklinde gönderdiğimiz kodlar LCD de farklı olarak algılanıyor. Mesela ''Merhaba'' yazısı ''Messica'' şeklinde gözüküyor. Kodlarını vereyim;
8 bitle mi sürüyorsunuz? D0-D7 arası bağlantılardan birinde sorun olabilir mi?Bundan kaynaklanabilir.Mesela D3 sürekli 0 dır.Bağlantı olmadığı için.Ve farklı karakterler çıkabilir.Kodlarınızı incelemedim ama aklıma bu geldi şimdilik
Not:Şimdi fark ettim.İki tane a olmasına rağmen birinde i birinde a yazıyor.LCD niz HD44780 uyumlu mu acaba?
< Bu mesaj bu kişi tarafından değiştirildi alper.y -- 28 Ağustos 2007; 18:40:08 >
Mesela ''Merhaba'' yazısı ''Messica'' şeklinde gözüküyor.
Kodlarını vereyim;
;==================program merhaba yazması kendi uygulama1=======
LIST P=16F84A
INCLUDE "P16F84A.INC"
;================================================================
SAYAC1 EQU 0X10
SAYAC2 EQU 0X11
SAYAC3 EQU 0X12
VERISAY EQU 0X13
RS EQU 0X00
RW EQU 0X01
EN EQU 0X02
;============================================================
BASLA
CALL PIC_HAZIRLA
CALL LCD_KUR
CALL MESAJ
TEKRAR
GOTO TEKRAR
;==============================================================
PIC_HAZIRLA
BANKSEL TRISA
CLRF TRISA
CLRF TRISB
BANKSEL PORTB
CLRF VERISAY
RETURN
;=======================================
LCD_KUR
;DİSPLAY ON KURSOR YAN SÖN AYARLARI=========================
CALL GECIKME
BCF PORTA,RS
BCF PORTA,RW
MOVLW B'00001111'
MOVWF PORTB
BSF PORTA,EN
NOP
BCF PORTA,EN
;EKRANI TEMİZLE=================================
CALL GECIKME
BCF PORTA,RS
BCF PORTA,RW
MOVLW B'00000001'
MOVWF PORTB
BSF PORTA,EN
NOP
BCF PORTA,EN
;==2 SATIR 8 LİK VERİ 7X5====================
CALL GECIKME
BCF PORTA,RS
BCF PORTA,RW
MOVLW B'00111000'
MOVWF PORTB
BSF PORTA,EN
NOP
BCF PORTA,EN
RETURN
;======================================
MESAJ;
m_devam
call GECIKME
bsf PORTA,RS
bcf PORTA,RW
movf VERISAY,W
call mesaj_verisi
iorlw 0
bz m_son
movwf PORTB
incf VERISAY,1
bsf PORTA,EN
nop
bcf PORTA,EN
goto m_devam
m_son return
mesaj_verisi;====================================================
addwf PCL,1
retlw "m"
retlw "e"
retlw "r"
retlw "h"
retlw "a"
retlw "b"
retlw "a"
retlw 0
;=========================================
GECIKME
MOVLW H'FF'
MOVWF SAYAC1
DONGU1
MOVLW H'FF'
MOVWF SAYAC2
DONGU2
MOVLW H'05'
MOVWF SAYAC3
DONGU3
DECFSZ SAYAC3
GOTO DONGU3
DECFSZ SAYAC2
GOTO DONGU2
DECFSZ SAYAC1
GOTO DONGU1
RETURN
END
------------------------------------
Şimdiden teşekkür ederim...
< Bu mesaj bu kişi tarafından değiştirildi serendipity -- 28 Ağustos 2007; 15:21:31 >