Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

2x8 lcd

Başlatan selvi, 10 Haziran 2011, 15:57:01

selvi

lcd de 'ACILDI" yerine "ACDIIL" seklinde yazi cikiyor.2 satirlik durumda da 1.satira normalde "SAYI"  yazmasi gerekirken "SA  YI" seklinde 2 karekter bosluk birakiyor.2 satirda "SAYI=  " seklinde olmasi gerekirken "SA=XYI" seklinde yazi cikiyor.x degeri butona bastikca 1 er 1 er artan degerdir.diyelim butona 10 kez basildiginda lcd 2.satirda "SA=1YI0"  seklinde yazi cikiyor.normalde " SAYI=10" olmasi gerekir.
   baglantilarini kontrol ettim sorun yok.bu lcd i kullanmadan onceden futurlec deki 2x8 lcd leri kullaniyordum.sorun yoktu.
ilk paragrafda bahsettigim sorun lcd kaynakli bir durum mu?datasheetine gore baglanti yaptim.baglantilarda sorun yok.denmek icin belli miktarda istemistim.denedim.bahsettigim durumlar cikiyor.
Yaşam anlamlandırıldıkça kutsaldır....

Mucit23

Hangi dilde program yazdın ve sakıncası yok ise ekliyebilirmisin?

selvi

Alıntı Yap@ DEVICE pic16F628 'islemci 16F628A
@ DEVICE pic16F628, WDT_OFF 'Watch Dog timer kapali
@ DEVICE pic16F628, PWRT_ON 'Power on timer acik
@ DEVICE pic16F628, PROTECT_OFF 'Kod Protek kapali
@ DEVICE pic16F628, MCLR_OFF 'MCLR pini kullaniliyor.
@ DEVICE pic16F628, XT_OSC 'Dahili osilatör kullanilmayacak
@ DEVICE pic16F628, LVP_OFF
@ DEVICE pic16F628, BOD_OFF

DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTA
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2

DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 25  '9600 baud @ 4mhz
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

CMCON=7           '16F628 de komparatör pinleri iptal hepsi giris çikis
OPTION_REG.7=1    'Dahili pull-up lar pasif yapildi
TRISB=%00001011
TRISA=%00110010
PORTB=0
PORTA=0

VER  VAR BYTE
SAYI VAR BYTE
CLEAR
PAUSE 200
LCDOUT $FE,1
LCDOUT $FE,2,"MERHABA"
LCDOUT $FE,$C0,"DUNYA"
PAUSE 300

START: 
       IF PORTB.0=0 THEN   'sistemi ac   
        VER=73
        LCDOUT $FE,1     
        LCDOUT $FE,2,"ACILDI"
             GOSUB GONDER
        ENDIF     
        IF PORTB.3=0 THEN    ' arttirma
        LCDOUT $FE,1       
        LCDOUT $FE,2,"SAYI"
            SAYI=SAYI+1
            PAUSE 200
        LCDOUT $FE,$C0,"SAYI=",#SAYI
        ENDIF
        IF PORTA.1=0 THEN   ' azaltma
        LCDOUT $FE,1         
        LCDOUT $FE,2,"SAYI"
            SAYI=SAYI-1
            PAUSE 200
        LCDOUT $FE,$C0,"SAYI=",#SAYI
        ENDIF
        IF PORTA.5=0 THEN     'sayac  bilgisini yollama
        LCDOUT $FE,1     
      LCDOUT $FE,2,"GONDER"
            VER=SAYI
      LCDOUT $FE,$C0,"VER=",#VER
            GOSUB GONDER
        ENDIF
         IF PORTA.4=0 THEN    'sistemi kapat
         VER=233
        LCDOUT $FE,1 
      LCDOUT $FE,2,"KAPANDI"
              SAYI=0
                GOSUB GONDER
         ENDIF     
             GOTO START         
'-------------------------ALT PROGRAMLAR---------------------------------------
GONDER:
HSEROUT [REP$AA\5,REP$00\5,REP$FF\5]'uyandirma sinyali preambl
HSEROUT [REP$AA\5,REP$00\5,REP$FF\5]'uyandirma sinyali preambl
HSEROUT [REP$AA\5,REP$00\5,REP$FF\5]'uyandirma sinyali preambl
HSEROUT ["A","R","A",VER] 
HSEROUT ["A","R","A",VER]   
RETURN
END
kodlar yukardaki gibidir.ayni program farkli LCD  de calisiyor.onun icin programi vermemisdim.
Yaşam anlamlandırıldıkça kutsaldır....