avatar_elektro77

8x20 veya 8x40 alphanumerik lcd arıyorum.

Başlatan elektro77, 08 Kasım 2016, 20:09:09

elektro77

8x20 veya 8x40 alphanumerik lcd arıyorum.
Türkiyede satışını yapan bir yer varmı acaba. yardımcı olurmusunuz.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

magic_gun

NT 7108 Chip setli yada standart winstar 128*64 lcd yi 8*20 karakter modunda kullanabilirsin :)
hayal etemeden basaramazsınız
u cnt achieve w/out dreamin

elektro77

Bu ekran 8x20 modda nasıl kullanılır. Bilgi verirmisiniz?
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

magic_gun



Dim li As Byte


START:
Cls
For li=0 To 7
Print At li,0,"01234567890123456789"
Next li
ff:
GoTo ff



http://
hayal etemeden basaramazsınız
u cnt achieve w/out dreamin

elektro77

#4
Bu yaptığınızı pic basic te nasıl yapabilirim. Tek satır bile olsa olur
Ben şölyle bir deneme yaptım ama print komutunun yerine ne kullanacağımı bilemedim.
I VAR Byte


START:
Cls
For I=0 To 7
'Print At li,0,"01234567890123456789"
Next I
RETURN
GoTo START
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

Hattuşa

#5
Alıntı yapılan: elektro77 - 14 Kasım 2016, 15:19:18
Bu yaptığınızı pic basic te nasıl yapabilirim. Tek satır bile olsa olur
Ben şölyle bir deneme yaptım ama print komutunun yerine ne kullanacağımı bilemedim.
I VAR Byte


START:
Cls
For I=0 To 7
'Print At li,0,"01234567890123456789"
Next I
RETURN
GoTo START

sizin kodda return komutunun işlevi nedir. return komutunu silin ve goto start dediğinizde program sürekli ekranı siler rakamları 8 satır yazar sonra başa dönüp tekrar silip 8 satır rakamları yazar ve başa döner yani sonsuz döngü yapmışsınız oysa oraya stop yazsanız veya magıc_gun ustanın yaptığı gibi alta bir döngü kurup program akışını oraya kilitlemiş olursanız 1 kez rakamları 8 satır yazıp program orda kalırdı

elektro77

print komutu pic basicte yok. onun yerine ne kullanabiliriz diye sormuştum
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

elektro77

Galiba forumun diğer konularında buldum gibi. Yine hayran olduğum ETE hocam yanıtlamış.Aşağıda:
Alıntı yapılan: ete - 23 Ekim 2011, 10:04:48
Pic Basic Pro da string tanımlaması yoktur ama kullanmak için bir yöntem vardır. Lookup komutu bu imkanı bize tanımaktadır. Belkide bu nedenle ayrıca bir komut koyulmamış. Kullanım şekli şöyle;
Lookup index,["ABCDEFGHIJKLMN"],VAR
Burada index isimli değişken , dizi içindeki hangi karekterin alınacağını belirler. Index bazında alınan karekterin ASCII numarası ise Var isimli değişkene aktarılır. Örnek kullanım şekli LOOKUP X,["DENEME YAZISI"],AL şeklinde olabilir.
X=0 ise AL="D" (veya AL=68)
X=1 ise AL="E" (veya AL=69)
...
X=12 ise AL="I"
olacaktır.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

ete

Bildiğim kadarı ile alfanümerik LCD lerin 4 satırdan fazlası yok. 8 satır LCD için Grafik LCD (GLCD) kullanılması gerekir.
Bunun PBP da kullanımı eziyetli. Kendin kod gurubu yazman ve Kullandığın bütün harfleri dot matrix olarak tanımlaman gerekiyor.
Proton buna çözüm olabilir zira direk kontrol komutları mevcut. Yukarıda verilen örnek de zaten sanırım Proton kodu.
Dolayısıyla direk PBP da karşılık aramayın bence.
Yoksa PBP da PRINT AT komutununkarşılığı LCDOUT $FE dir. PRINT AT 0,0 komutunun karşılığı LCDOUT $FE,$80 komutudur.

Ete

elektro77

#9
BU KODLARI PROTONDA GARFİK LCD YE GÖRE NASIL DÜZENLEYEBİLİRİZ.

@ DEVICE pic16F628A                      'işlemci 16F628                               
@ DEVICE pic16F628A, WDT_Off             'Watch Dog timer açık
@ DEVICE pic16F628A, PWRT_ON             'Power on timer açık
@ DEVICE pic16F628A, PROTECT_OFF         'Kod Protek kapalı
@ DEVICE pic16F628A, MCLR_off            'MCLR pini kullanılMIYOR.
@ DEVICE pic16F628A, XT_OSC
@ DEVICE pic16F628A, BOD_ON
'@ __config _BODEN_ON & _BOREN_ON & _CP_ON & _PWRTE_ON & _WDT_ON & _LVP_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT
define OSC 8
'------------------------------------------------------------------------
DEFINE LCD_DREG        PORTB    'LCD data bacakları hangi porta bağlı?
DEFINE LCD_DBIT        4        'LCD data bacakları hangi bitten başlıyor?
DEFINE LCD_EREG        PORTB    'LCD Enable Bacağı Hangi Porta bağlı?
DEFINE LCD_EBIT        3        'LCD Enable Bacağı Hangi bite bağlı ?
define LCD RWREG       PORTB    'LCD R/W Bacağı Hangi Porta bağlı?
define LCD_RWBIT       2        'LCD R/W Bacağı Hangi bite bağlı ?
DEFINE LCD_RSREG       PORTB    'LCD RS Bacağı Hangi Porta bağlı ?
DEFINE LCD_RSBIT       1        'LCD RS bacağı Hangi Bite bağlı  ?
DEFINE LCD_BITS        4        'LCD 4 bit mi yoksa 8 bit olarak bağlı?
DEFINE LCD_LINES       4        'LCD Kaç sıra yazabiliyor
'-------------------------------------------------------------------------------
PORTA=0:portb=0
TRISB=%00000001   'PortB tamamı çıkış yapıldı.
TRISA=%00010001   'A portu 0.BİTİ GİRİŞ yapıldı.

ALICI VAR WORD
ALICI=0
PAUSE 1
symbol DINGDONG=PORTA.1
'--------------------------------------------------------------------------
CMCON=7
OPTION_REG=%10000000             'Pull up dirençleri İPTAL- Bölme oranı 1/64.
'ADCON1=%10001110                '7. bit 1 yapıldı 10 bit sonuç almak için.
'INTCON=%11000000                'INTCON.7 ve INTCON.6 bitleri SET edilecek.
'T1CON =%00000000                'Bölme oranı 1/1yapılacak


BASLA:

DINGDONG=0
SERIN2 PORTA.0,396,[WAIT("UG"),ALICI]
DINGDONG=1:PAUSE 200'her data gelişinde mekanik ding donga çıkış verir

IF ALICI=0 THEN
LCDOUT $FE,$D4,  "0"
ENDIF
IF ALICI=100 THEN
LCDOUT $FE,$D4,  " "
ENDIF
IF ALICI=1 THEN
LCDOUT $FE,$C0,  "1"
ENDIF
IF ALICI=101 THEN
LCDOUT $FE,$C0,  " "
ENDIF
IF ALICI=2 THEN
LCDOUT $FE,$C2,  "2"
ENDIF
IF ALICI=102 THEN
LCDOUT $FE,$C2,  " "
ENDIF
IF ALICI=3 THEN
LCDOUT $FE,$C4,  "3"
ENDIF
IF ALICI=103 THEN
LCDOUT $FE,$C4,  " "
ENDIF

GOTO BASLA


END
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

elektro77

Elinde proton olan varsa paylaşabilir mi lütfen? Bilgi paylaştıkça çoğalır mantığıyla.
Ete hocam bu kadar bilgiyi paylaşmasaydı ve her maile cevap vermeseydi hiçbirimiz bu kadar gelişemezdik.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

Hattuşa

Alıntı yapılan: elektro77 - 14 Kasım 2016, 19:24:00
Elinde proton olan varsa paylaşabilir mi lütfen? Bilgi paylaştıkça çoğalır mantığıyla.
Ete hocam bu kadar bilgiyi paylaşmasaydı ve her maile cevap vermeseydi hiçbirimiz bu kadar gelişemezdik.

ETE hocam başkadır, ister proton ister picbasic olsun bu işleri bize öğreten sıkıştığımızda imdadımıza yetişen değerli bir insandır. tek üzüntüm kendisi ile şahsen tanışamamış olamayışım.
ALLAH cc ona ve sevdiklerine uzun ömür versin.

gelelim senin ihtiyacına, sitede proton ile ilgili yeterli bilgi var sadece siteyi incelemen yeterliydi, gene de size linkleri vereyim.

bugün yapılan paylaşım;
http://etepic.com/index.php/topic,3366.msg31909/topicseen.html#msg31909

kurulumsuz olan;
http://etepic.com/index.php/topic,3369.0.html

ve başkası;
http://etepic.com/index.php/topic,3146.0.html


Powered by EzPortal