Yavaş LCD

Başlatan Maxim, 05 Mart 2007, 09:40:05

Maxim

elimdeki LCD yavaş çalışıyor ,yani ekranda haraket eden birşeyin gölgesi oluşuyor veya birşeyi hızlı haraket ettiremiyorsunuz .
Bu lcd nin dandik olduğunumu gösterir ?
1/16 duty diye bir özellik yazmışlar ,2x16 karakter lcd.

Bu olaya müdahale edilebilirmi ?
Yazdığına göre kontrol entegreleri ,
S6A0065 ve S6A0069 samsung.

aslan_korhan

Büyük bir ihtimal ile yazılımsal bir problemdir. Başka bir LCD bağladığında ayni olay oluyormu?
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

Maxim

aynı kodu elimde bulunan vfd ekran ile denedim ,
noritake itron marka vfd 4x20 ,
en küçük bir problem yok .

yazılım standart en basit lcd tanımlaması ,her zaman kullanılan ,
proton basic kullanıyorum bu arada .
mesela 4 haneli değişen sayılarımız olsun ,çok hızlı değişiklik olursa rakamlarda netlik kayboluyor .

lcd tanımlarındaki delay komutlarını denedim ,birşey değişmiyor .

:roll:

Maxim

daha güzel bir örnek vereyim ,



Bu animasyonu yapıyorum ve dönen şeyleri göremiyorsun !

ama vfd ekranımda canavar gibi.




Not:Resim Dinçer Aydın`ın sayfasından alıntıdır .

aslan_korhan

O zaman gerçekten LCD dandik. Bende de bazen ayni sorun oluyordu çünkü.
Gerçi örnekte gösterdiğin animasyonu senin LCD'de hiç göremiyorsan baya dandik bir LCD'ye denk gelmişsindir o zaman...
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

Maxim

animasyonu yavaşlatırsam görebiliyorumdur.

fatihsatir

Dostum bende ilk başta okumaya başladığımda yazılımsal bir sorun herhalde dedim ama......! Sonra başkasında iyi gösteriyor dediğine göre LCD de sorun vardır. Aynı olay bende olmuştu fakat benimki yazılımsaldı.
Dünya güzelliklerine dalıp ahiret hayatını unutma..!

Maxim

Alıntı yapılan: "fatihsatir"Dostum bende ilk başta okumaya başladığımda yazılımsal bir sorun herhalde dedim ama......! Sonra başkasında iyi gösteriyor dediğine göre LCD de sorun vardır. Aynı olay bende olmuştu fakat benimki yazılımsaldı.

Başka bir LCD daha denedim ,
o da yavaş !

vfd de sorun yok halbuki ..
acaba yazılım olayını biraz açarmısınız ?

Analyzer

Selam,

İşlemci kesmelere cevap vermeye çalışıyordur. Lcd zamanlamaları kullanılan sürücüye uygun değildir. Lcd yazma işlemi gereksiz kod içeriyordur. Yazma fonksiyonu kodun uygun olmayan yerindedir gibi...

Analyzer
Üşeniyorum, öyleyse yarın!

Eagle_Tim

Büyük ihtimalle yazılımsal olabilir.. LCD yavaşlığından ziyade bu işin 1 de data gönderim hızı ile alakası var. yazdığın yazılımda LCD ye gönderdiğin verilerin lcd tarafından alınıp alınmadığını RW ve Data Yolunu kullanarak test ediyormusun ?  bu şekilde gönderim yaptığın zaman LCD i max veri alma hızında veri alır hemde verinin LCD tarafından Doğru biçimde Alınıp-Alınmadığını anlarsın, böylece üzerine yazma gibi bir durum oluşmayacağı için gölgesel bir görüntü oluşmaz ve lcdnin max hızında efektin nasıl göründüğü anlaşılır. Ancak bundan sonra LCD yavaş veya hızlı denilebilir...
Software and Hardware Design...

XX_CİHAN_XX

Gözünü seveyim asm nin!!!Bende bir ara boyle dandık bır lcd ye denk gelmiştim.Pratik olsun diye pbp ile basit bir kod yazmıştım ama aşırı derecede yavaslık vardı.(Bu aşırılık biraz yazılımsal brazda lcd den)
Daha sonra lcd yi değiştirmek yerine pek hakım olmadıgım pbp dilini değiştirdim ve asm de aynı kodları yazdım.Lcd nın dandıklıgıne ragmen bu yavaşlamalardan kurtulmuştum.Burada zaman kazanmak ıcın pbp kullanıp zaman kaybı ıle karsılasmıstım.Tabı pbp ye hakım olmadıgım ıcın olsa gerek ama soz konus dandık bır lcd ıse ve asm bılgın var ıse en azından asm ıle bır denemenı ısterım.En azından lcd ye ne gonderdıgını kodların ıcınde gereksız fazlalıklar ve zaman gecıkmelerı olmadıgını bılerek ıcın rahat bır sekılde lcd yı cope atabılırsın :)
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

Maxim

Şimdi arkadaşlar ,
test kodum böyle ,
bu kod ile yukarıdaki animasyon gibi birşey çıkıyor ,

bana bu konuda nasıl yardımcı olabilirsiniz ?
bu lcd nin hızını nasıl test edebilirim ?
dediğim gibi başka bir lcd de denedim o da yavaş ,
şunu belirteyim ,konu sadece bu animasyondaki yavaşlık değildir .
genel olarak bir yavaşlama sözkonusu ,
mesela en soldan en sağa "picproje" yazısını yürütün ,gene yavaş .

command_us ve data_us komutlarınıda değiştirip denedim ,birşey farketmiyor .
@Eagle_tim yardım ?

Açıkçası LCD pek dandik bir mala benzemiyor taiwan malı ,
diğer lcd yide karaköyden almıştım ,

Bu arada tekrar yazayım ,
Samsung S6A0069 ve S6A0065 chipleri kullanılmış lcd de .

DEVICE 16F628
Declare XTAL 4
CONFIG INTRC_OSC_NOCLKOUT,WDT_OFF,PWRTE_ON,LVP_OFF,CP_alL,MCLRE_OFF,BODEN_ON

ALL_DIGITAL = TRUE
CMCON=7

Declare LCD_TYPE 0
Declare LCD_DTPIN	PortB.4
Declare	LCD_RSPIN	PortB.1
Declare	LCD_ENPIN	PortB.2
Declare	LCD_INTERFACE	4
Declare	LCD_LINES	2
'DECLARE LCD_COMMANDUS 2500
'DECLARE LCD_DATAUS 100
cls
delayms 1000
cls

TRISA=1 
TRISB=0

LOOP:

print $FE, $40,$10, $08, $04, $02, $01, $00, $00, $00 
Print At 2,1, 0
delayms 100
print $FE, $40,$04, $04, $04, $04, $04, $04, $00, $00 
Print At 2,1, 0
delayms 100
print $FE, $40,$01, $02, $04, $08, $10, $00, $00, $00
Print At 2,1, 0
delayms 100
print $FE, $40,$00, $00, $1F, $00, $00, $00, $00, $00
Print At 2,1, 0
delayms 100

goto loop

SpeedyX

print $FE demek lcd yi sil demek, lcd clear işlemleri zaten biraz zaman alır, onun yerine ilk satıra konumlanmayı deneyebilirsin. Bu seni biraz hızlandırır diye düşünüyorum.

cenkara

maxiboost   arkadaşım     ""noritake itron marka vfd 4x20 ""
displaydan bahsediyorsun banada bu marka displayın 2x40 olanından lazım temin ettiğin yeri öğrenebilirmiyim.

Teşekküerler.

Eagle_Tim

Arkadaşım cihan dostumun dediği gibi bende asmciyim pbp yu hiç kullanmadım.çünki paket yordamlar yavaşlıktan ziyade ciddi bellek sorunuda çıkarabiliyor yavaşlıkta oluyor tabiki.. Asm olarak yardım işini görecek ise , sana yardım etmek boynumuzun borcu oldu, işine yarıycaksa söyle ben kodları buraya koyarım iyi çalışmalar..
edit:
neyse sana yaramasa bile elbet birine yarıcaktır asm olarak koyayım şurada dursun  :)


Aslında Asm de RW ucunu kullanmadan bile LCD de en hızlı süreyi tutturabilirsin hemde çok kolay

LIST		P=16F84A
		INCLUDE		"P16F84A.INC"
	__CONFiG(_CP_OFF & _PWRTE_OFF & _XT_OSC & _WDT_OFF)
;****************************************************
#DEFINE		EN		PORTA,0
#DEFINE		RS		PORTA,1

		CBLOCK  	H'0C'

	SAYAC,SAYAC1,SAYAC2,SAYAC3,SAYAC4,KONTROL4,KONTROL5
		
		ENC
;=================PORTLARI KUR=====================
		ORG		H'00'
		GOTO		KARTAL
KARTAL
		BSF		STATUS,5
		CLRF		TRISB
		CLRF		TRISA
		BCF		STATUS,5
;*******************LCD KUR*************************
		CLRF		PORTA
		CLRF		PORTB
START		
		CALL		LCD_SETUP  ; lcd yi hazırla
		CALL		YAZDIR     ; ekrana yaz

		BCF		RS
		MOVLW		H'80'      ; kursoru ilk satırın başına gertir buraya veriyi yukleyip 
		CALL		ZAMAN	   ; kursoru tekrar ilk satırn başına getir yeni veriyi yükle	
		BSF		RS	   ; böylece ilk satırdaki ilk veri hareketli gibi görünür doğru konumlar yüklenir ise..
		MOVFW		DATAX  	   ; CGRAMA TANITILAN KOD BURAYA YUKLENECEK DATAX
		CALL		ZAMAN        ; LCD ye gönder..
		CALL            BEKLET        ; Gözün görebilmesi için ayırca bir bekletme koymalısın yoksa çok hızlı olur ve düzgün bir görüntü olmaz unutmadan beklet alt yordamını progrma eklemedim kendiniz eklemelisiniz basit bir zaman programı işte..
		GOTO		$-7     

;***************************************************************
LCD_SETUP
		BCF		RS
		MOVLW		H'38'
		CALL		ZAMAN
		MOVLW		H'01'
		CALL		ZAMAN
		MOVLW		H'06'
		CALL		ZAMAN
		MOVLW		H'0C'
		CALL		ZAMAN
		RETURN
YAZDIR
		BSF		RS
		MOVFW		DATAX
		CALL		ZAMAN
		MOVLW		'E'
		CALL		ZAMAN
		MOVLW		'A'
		CALL		ZAMAN
		MOVLW		'G'
		MOVWF		PORTB
		CALL		ZAMAN
		MOVLW		'L'
		CALL		ZAMAN
		MOVLW		'E'
		CALL		ZAMAN
		MOVLW		'_'
		CALL		ZAMAN
		MOVLW		'T'
		CALL		ZAMAN
		MOVLW		'i'
		CALL		ZAMAN	
		MOVLW		'M'
		CALL		ZAMAN
		RETURN
ZAMAN					
		MOVWF		PORTB
		BSF		EN
		NOP
		NOP
		BCF		EN
		MOVLW		H'FF'  ; BU SAYI İLE oynayarak lcdnin max hızında veri yollayabilirsin 
		MOVWF		SAYAC		
		NOP
		NOP
		DECFSZ		SAYAC,F
		GOTO		$-3
		RETURN
		END
Software and Hardware Design...