18F4550 - 3310 GLCD - PROTON IDE

Başlatan Muradım, 28 Ocak 2015, 14:52:17

Muradım

Arkadaşlar çok uzun süredir bir proje ile uğraşıyorum. Kimseye yük olmak istemediğimden uzun sürdü tabiki.  Sayısız kaynağa baktım Projeme en yakın çalışmayı est32 kardeşin projesinde buldum. 18F4550 için gerekli Config ayarlarını bir türlü yapamadım. Problemimin 18F4550 için Sigorta ayarlarını yapamamış olmamdan kaynaklandığını düşünüyorum. Yardımınızı esirgemeyin lütfen.

konuya resim dosyasını nasıl ekleyeceğimi bulamadım kusura bakmayın



Device = 18F4550
'CONFIG CP_OFF,DATA_CP_OFF,WDT_OFF,INTRC_OSC_NOCLKOUT,MCLRE_OFF,LVP_OFF,BODEN_OFF,PWRTE_ON


XTAL = 20   
Declare PROTON_START_ADDRESS = $1000  ' Bu kod Easy Hıd tarafından oluşturulmadığı için kendim yazıyorum

'CMCON=$07           ' bütün portlar dijital

ALL_DIGITAL = TRUE   ' galiba bu da bütün portlar dijital demek oluyor


Symbol RST=PORTD.3   ' RES
Symbol SCE=PORTD.4   ' SCE
Symbol D_C=PORTD.5   ' D_C
Symbol DTA=PORTD.6   ' SDIN
Symbol CLK=PORTD.7   ' SCLK





Dim POSX As Byte,POSY As Byte,I As Word,SATIR As Byte,SUTUN As Byte,SAYI As Word
Dim LCDDATA As Byte,KONUM As Byte,DEGISKEN As Byte,COLUMN [6] As Byte,DIJ As Byte

GoSub LCD_AC
GoSub LCD_SIL
Clear
DelayMS 100
'************************************************************************************************
SATIR_1:
    SATIR=0'İLK SATIR
    For I=1 To 10'ALTTAKİ KÖŞELİ PARANTEZ İÇİNDE KAÇ KARAKTER VARSA I DEĞERİ O KADAR OLACAK
    DEGISKEN=LookUp KONUM,["ESAT METİN"]'YAZMAK İSTEDİĞİNİZ YAZIYI BURAYA YAZIN(DEĞİŞKEN YAZILAMAZ)
    KONUM=KONUM+1'TABLODAN BİR SONRAKİ KARAKTERİ AL
    GoSub SATIR_YAZ'BU ETİKETE GİT VE KARAKTERLERİ DEĞİŞKENLERE YERLEŞTİR
    GoSub YOLLA'DEĞİŞKENLERE YERLEŞTİRİLEN KARAKTERLERİ BU SATIRDA YOLLA
    'GOSUB YAVAS_YAZ'İSTENİRSE SATIR AÇILARAK HARFLER EKRANA YAVAŞ YAVAŞ TANE TANE GETİRİLEBİLİR
    Next'TÜM KARAKTERLERİ GÖNDERENE KADAR DEVAM ET,BURADA 10 DEFA
    Clear SUTUN : Clear KONUM'SUTUN VE TABLOYU SIFIRLA
'***********************************************************************************************
SATIR_2:
    SATIR=1'İKİNCİ SATIR
    For I=1 To 7'ERDOĞAN KELİMESİ 7 KARAKTERDEN OLUŞTUĞU İÇİN DÖNGÜ 7 KEZ TEKRAR EDECEK
    DEGISKEN=LookUp KONUM,["ERDOĞAN"]'YAZINI YAZ,FOR NEXT DÖNGÜSÜNDEKİ SAYI BURADAKİ KARAKTER SAYISI İLE AYNI OLACAK
    KONUM=KONUM+1
    GoSub SATIR_YAZ
    GoSub YOLLA
    'GOSUB YAVAS_YAZ
    Next
    Clear SUTUN : Clear KONUM
'***********************************************************************************************
SATIR_3:
    SATIR=2
    For I=1 To 14'HER KARAKTER 6 SUTUN,EKRAN 84*48 OLDUĞUNDAN EN FAZLA 14 KARAKTER SIĞAR,6X14=84
    DEGISKEN=LookUp KONUM,["NOKIA 3310 LCD"]
    KONUM=KONUM+1
    GoSub SATIR_YAZ
    GoSub YOLLA
    'GOSUB YAVAS_YAZ
    Next
    Clear SUTUN : Clear KONUM
'***********************************************************************************************
SATIR_4:
    SATIR=3
    For I=1 To 6
    DEGISKEN=LookUp KONUM,["SAYI: "]'HER KARAKTER 6 SUTUNDUR.BURADA 6 KARAKTER VAR 6X6=36
    KONUM=KONUM+1
    GoSub SATIR_YAZ
    GoSub YOLLA
    'GOSUB YAVAS_YAZ
    Next
    Clear SUTUN : Clear KONUM
    DelayMS 1000

'////////////////////////////DEĞİŞKEN BU SATIR ALTINDA EKRANA GETİRİLİYOR////////////////////////////                                         

    'SATIR=4'BU SATIRI AÇARSANIZ ALTTAKİ SATIRIN 36.SÜTUNUNA YAZAR,DAHA İYİ ANLAMAK İÇİN DENEYİN
    SUTUN=36'"SAYI: " YAZISINDAN SONRA YAZMAK İÇİN SUTUNU 36 YAPTIK,DEĞİŞTİRİP DENEYEBİLİRSİNİZ
    If SAYI>10000 Then DIJ=4'EKRANDA SAYILARIN BAŞINDAKİ SIFIRLARIN ÇIKMASINI ENGELLER,65535'E KADAR
    If SAYI<10000 Then DIJ=3'ÖRNEK;SAYI=25 İSE EKRANDA 00025 OLARAK GÖRÜNMESİNİ
    If SAYI<1000 Then DIJ=2'BU SATIRLARLA ENGELLEDİM
    If SAYI<100 Then DIJ=1'SAYI 100'DEN KÜÇÜKSE ÇİFT HANE
    If SAYI<10 Then DIJ=0'SAYI 10'DAN KÜÇÜKSE TEK HANE

    For I=DIJ To 0 Step -1'EN KÜÇÜK DEĞERİN EN SAĞDA OLMASI İÇİN ÇIKARMA YAPIYORUZ,YOKSA EN SOLDA GÖRÜNÜR
    DEGISKEN=SAYI Dig I
    If DEGISKEN<48 And DEGISKEN<58 Then DEGISKEN=DEGISKEN+48'RAKAMLARIN ASCİİ KARŞILIĞINI BULMAK İÇİN
    GoSub SATIR_YAZ'ASCİİ TABLOSUNDA 0=48,1=49,2=50,3=51,....,9=57'DİR
    GoSub YOLLA
    Next
   
    SAYI=SAYI+1'SAYIYI 1 ARTIR
    Clear SUTUN
    'GOSUB LCD_SIL'İSTERSEK LCD'Yİ SİLEBİLİRİZ,ÇOK FAZLA SİLERSEK EKRANDA TİTREME OLUR,BU PROGRAMDA SİLMEYE GEREK YOK
    GoTo SATIR_1'EN BAŞA DÖNER,İSTERSENİZ ALT SATIRLARI AÇAR GEREKLİ DÜZENLEMELERİ YAPAR DEVAM EDERSİNİZ

'//////////////////////////////////////////////////////////////////////////////////////////////////////////
'SATIR_5:
    'SATIR=4
    'KONUM=0
    'FOR I=1 TO 14
    'DEGISKEN=LOOKUP KONUM,["LMNOÖPRSŞTUÜVY"]
    'KONUM=KONUM+1
    'GOSUB SATIR_YAZ
    'GOSUB YOLLA
    'GOSUB YAVAS_YAZ
    'NEXT
    'CLEAR SUTUN : CLEAR KONUM
'***********************************************************************************************
'SATIR_6:
    'SATIR=5
    'KONUM=0
    'FOR I=1 TO 14
    'DEGISKEN=LOOKUP KONUM,["Z1234567890+-."]
    'KONUM=KONUM+1
    'GOSUB SATIR_YAZ
    'GOSUB YOLLA
    'GOSUB YAVAS_YAZ
    'NEXT
    'CLEAR SUTUN : CLEAR KONUM
'EKRAN 3310 EKRANI İSE(84X48 İSE)BUNDAN SONRASINI DESTEKLEMEZ,EKRANINIZ 96*64 İSE 8 SATIRA KADAR YAZAR
'***********************************************************************************************
'SATIR_7:
    'SATIR=6
    'KONUM=0
    'FOR I=1 TO 16
    'DEGISKEN=LOOKUP KONUM,["HIİJKLMNOÖPRSŞTU"]
    'KONUM=KONUM+1
    'GOSUB SATIR_YAZ
    'GOSUB YOLLA
    'GOSUB YAVAS_YAZ
    'NEXT
    'CLEAR SUTUN : CLEAR KONUM
'***********************************************************************************************
'SATIR_8:
    'SATIR=7
    'KONUM=0
    'FOR I=1 TO 16
    'DEGISKEN=LOOKUP KONUM,["BU SON SATIR!..."]
    'KONUM=KONUM+1
    'GOSUB SATIR_YAZ
    'GOSUB YOLLA
    'GOSUB YAVAS_YAZ
    'NEXT
    'CLEAR SUTUN : CLEAR KONUM
    'DELAYMS 5000
    'GOSUB LCD_SIL
    'GOTO SATIR_1
'***********************************************************************************************
'YAVAS_YAZ:
    'DELAYMS 50
    'RETURN
'***********************************************************************************************
YOLLA:
    POSX=SUTUN:POSY=SATIR:GoSub LCD_XY_VER:High D_C'EKRANA YAZIYI BURASI YAZIYOR
    SHOut DTA,CLK,1,[COLUMN[0],COLUMN[1],COLUMN[2],COLUMN[3],COLUMN[4],COLUMN[5]]'BU SATIRDA 1 HARF EKRANA YOLLANIYOR
    SUTUN=SUTUN+6'BİR KARAKTER 6 SUTUN KAPLIYOR İSE,YENİ KARAKTERLERİN SAĞA DOĞRU YAZILABİLMESİ İÇİN KAYDIRIYORUZ
    Return'BURAYA KADAR EKRANA SADECE 1 KARAKTER YAZILDI(ÖRN A HARFİ),YENİ KARAKTERLER YAZMAK İÇİN GERİ DÖN VE DÖNGÜYE DEVAM ET
'************************************************************************************************
LCD_YAZ:
    SHOut DTA,CLK,1,[LCDDATA]'EKRANA KOMUT YOLLAMAK İÇİN ÖRNEĞİN KONTRAST AYARI,EKRANI SİLME,EKRANDA YER BELİRLEME...
    Return
'************************************************************************************************
LCD_SIL:
    POSX=0:POSY=0:GoSub LCD_XY_VER
    High D_C
    For I=1 To 252'EKRANINIZ 96*64 İSE BURAYI 500 YAPIN
    LCDDATA=0:GoSub LCD_YAZ '1. yarı siliniyor
    LCDDATA=0:GoSub LCD_YAZ '2. yarı siliniyor   
    Next
    Return
'************************************************************************************************
LCD_XY_VER:
    Low D_C
    LCDDATA=%01000000 | POSY
    GoSub LCD_YAZ
    LCDDATA=%10000000 | POSX
    GoSub LCD_YAZ
    High D_C
    Return
'************************************************************************************************
LCD_AC:
    Low RST
    DelayMS 10 
    High RST 
    Low D_C  ' RESET LCD   
    LCDDATA= $21: GoSub LCD_YAZ         ' LCD EXTENDED COMMANDS
    LCDDATA= $b0: GoSub LCD_YAZ         ' SET LCD Vop (CONTRAST)
    LCDDATA= $06: GoSub LCD_YAZ         ' SET TEMP COEFFICENT
    LCDDATA= %00010101: GoSub LCD_YAZ   ' LCD BIAS MODE
    LCDDATA= $20: GoSub LCD_YAZ         ' LCD STANDARD COMMANDS
    LCDDATA= $0c: GoSub LCD_YAZ         ' LCD IN NORMAL MODE
    Return
'************************************************************************************************
SATIR_YAZ:'YENİ KARAKTER TANIMLAMALARINIZI BU SATIRLARIN ALTINA YAPABİLİRSİNİZ

    Select Case DEGISKEN

    Case "A"'A HARFİNİN 6 SÜTUN OLARAK TANIMI
    COLUMN[0]=$7E
    COLUMN[1]=$11
    COLUMN[2]=$11
    COLUMN[3]=$11
    COLUMN[4]=$7E
    COLUMN[5]=$00

    Case "B"'65
    COLUMN[0]=$7F
    COLUMN[1]=$49
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$36
    COLUMN[5]=$00

    Case "C"
    COLUMN[0]=$3E
    COLUMN[1]=$41
    COLUMN[2]=$41
    COLUMN[3]=$41
    COLUMN[4]=$22
    COLUMN[5]=$00

    Case 199'"Ç"
    COLUMN[0]=$1E
    COLUMN[1]=$21
    COLUMN[2]=$61
    COLUMN[3]=$21
    COLUMN[4]=$12
    COLUMN[5]=$00

    Case "D"'65
    COLUMN[0]=$7F
    COLUMN[1]=$41
    COLUMN[2]=$41
    COLUMN[3]=$22
    COLUMN[4]=$1C
    COLUMN[5]=$00
   
    Case "E"'65
    COLUMN[0]=$7F
    COLUMN[1]=$49
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$41
    COLUMN[5]=$00
   
    Case "F"'65
    COLUMN[0]=$7F
    COLUMN[1]=$09
    COLUMN[2]=$09
    COLUMN[3]=$09
    COLUMN[4]=$01
    COLUMN[5]=$00
   
    Case "G"'65
    COLUMN[0]=$3E
    COLUMN[1]=$41
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$7A
    COLUMN[5]=$00
   
    Case 208'"Ğ"
    COLUMN[0]=$38
    COLUMN[1]=$45
    COLUMN[2]=$55
    COLUMN[3]=$55
    COLUMN[4]=$20
    COLUMN[5]=$00
   
    Case "H"'65
    COLUMN[0]=$7F
    COLUMN[1]=$08
    COLUMN[2]=$08
    COLUMN[3]=$08
    COLUMN[4]=$7F
    COLUMN[5]=$00
   
    Case "I"'65
    COLUMN[0]=$00
    COLUMN[1]=$41
    COLUMN[2]=$7F
    COLUMN[3]=$41
    COLUMN[4]=$00
    COLUMN[5]=$00
   
    Case 221'"İ"
    COLUMN[0]=$00
    COLUMN[1]=$44
    COLUMN[2]=$7D
    COLUMN[3]=$44
    COLUMN[4]=$00
    COLUMN[5]=$00

    Case "J"'65
    COLUMN[0]=$20
    COLUMN[1]=$40
    COLUMN[2]=$41
    COLUMN[3]=$3F
    COLUMN[4]=$01
    COLUMN[5]=$00

    Case "K"'65
    COLUMN[0]=$7F
    COLUMN[1]=$08
    COLUMN[2]=$14
    COLUMN[3]=$22
    COLUMN[4]=$41
    COLUMN[5]=$00
   
    Case "L"'65
    COLUMN[0]=$7F
    COLUMN[1]=$40
    COLUMN[2]=$40
    COLUMN[3]=$40
    COLUMN[4]=$40
    COLUMN[5]=$00

    Case "M"'65
    COLUMN[0]=$7F
    COLUMN[1]=$02
    COLUMN[2]=$0C
    COLUMN[3]=$02
    COLUMN[4]=$7F
    COLUMN[5]=$00

    Case "N"'65
    COLUMN[0]=$7F
    COLUMN[1]=$04
    COLUMN[2]=$08
    COLUMN[3]=$10
    COLUMN[4]=$7F
    COLUMN[5]=$00

    Case "O"'65
    COLUMN[0]=$3E
    COLUMN[1]=$41
    COLUMN[2]=$41
    COLUMN[3]=$41
    COLUMN[4]=$3E
    COLUMN[5]=$00

    Case 214'"Ö" $3C,$43,$42,$43,$3C,$00
    COLUMN[0]=$3C
    COLUMN[1]=$43
    COLUMN[2]=$42
    COLUMN[3]=$43
    COLUMN[4]=$3C
    COLUMN[5]=$00
   
    Case "P"'65
    COLUMN[0]=$7F
    COLUMN[1]=$09
    COLUMN[2]=$09
    COLUMN[3]=$09
    COLUMN[4]=$06
    COLUMN[5]=$00

    Case "R"'65
    COLUMN[0]=$7F
    COLUMN[1]=$09
    COLUMN[2]=$19
    COLUMN[3]=$29
    COLUMN[4]=$46
    COLUMN[5]=$00
   
    Case "S"'65
    COLUMN[0]=$46
    COLUMN[1]=$49
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$31
    COLUMN[5]=$00

    Case 222'"Ş"$22,$65,$65,$25,$19,$00
    COLUMN[0]=$22
    COLUMN[1]=$65
    COLUMN[2]=$65
    COLUMN[3]=$25
    COLUMN[4]=$19
    COLUMN[5]=$00

    Case "T"'65
    COLUMN[0]=$01
    COLUMN[1]=$01
    COLUMN[2]=$7F
    COLUMN[3]=$01
    COLUMN[4]=$01
    COLUMN[5]=$00

    Case "U"'65
    COLUMN[0]=$3F
    COLUMN[1]=$40
    COLUMN[2]=$40
    COLUMN[3]=$40
    COLUMN[4]=$3F
    COLUMN[5]=$00
   
    Case 220'"Ü"  $3D,$40,$40,$40,$3D,$00
    COLUMN[0]=$3D
    COLUMN[1]=$40
    COLUMN[2]=$40
    COLUMN[3]=$40
    COLUMN[4]=$3D
    COLUMN[5]=$00
   
    Case "V"'65
    COLUMN[0]=$1F
    COLUMN[1]=$20
    COLUMN[2]=$40
    COLUMN[3]=$20
    COLUMN[4]=$1F
    COLUMN[5]=$00
   
    Case "Y"' $07,$08,$70,$08,$07,$00
    COLUMN[0]=$07
    COLUMN[1]=$08
    COLUMN[2]=$70
    COLUMN[3]=$08
    COLUMN[4]=$07
    COLUMN[5]=$00
   
    Case "Z"'65
    COLUMN[0]=$61
    COLUMN[1]=$51
    COLUMN[2]=$49
    COLUMN[3]=$45
    COLUMN[4]=$43
    COLUMN[5]=$00

    Case "0"'65
    COLUMN[0]=$3E
    COLUMN[1]=$51
    COLUMN[2]=$49
    COLUMN[3]=$45
    COLUMN[4]=$3E
    COLUMN[5]=$00

    Case "1"'65
    COLUMN[0]=$00
    COLUMN[1]=$42
    COLUMN[2]=$7F
    COLUMN[3]=$40
    COLUMN[4]=$00
    COLUMN[5]=$00

    Case "2"'65
    COLUMN[0]=$42
    COLUMN[1]=$61
    COLUMN[2]=$51
    COLUMN[3]=$49
    COLUMN[4]=$46
    COLUMN[5]=$00

    Case "3"'65
    COLUMN[0]=$21
    COLUMN[1]=$41
    COLUMN[2]=$45
    COLUMN[3]=$4B
    COLUMN[4]=$31
    COLUMN[5]=$00

    Case "4"'65
    COLUMN[0]=$18
    COLUMN[1]=$14
    COLUMN[2]=$12
    COLUMN[3]=$7F
    COLUMN[4]=$10
    COLUMN[5]=$00

    Case "5"'65
    COLUMN[0]=$27
    COLUMN[1]=$45
    COLUMN[2]=$45
    COLUMN[3]=$45
    COLUMN[4]=$39
    COLUMN[5]=$00

    Case "6"'65
    COLUMN[0]=$3C
    COLUMN[1]=$4A
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$30
    COLUMN[5]=$00

    Case "7"'65
    COLUMN[0]=$01
    COLUMN[1]=$71
    COLUMN[2]=$09
    COLUMN[3]=$05
    COLUMN[4]=$03
    COLUMN[5]=$00

    Case "8"'65
    COLUMN[0]=$36
    COLUMN[1]=$49
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$36
    COLUMN[5]=$00

    Case "9"'65
    COLUMN[0]=$06
    COLUMN[1]=$49
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$3E
    COLUMN[5]=$00

    Case " "'65
    COLUMN[0]=$00
    COLUMN[1]=$00
    COLUMN[2]=$00
    COLUMN[3]=$00
    COLUMN[4]=$00
    COLUMN[5]=$00

    Case "+"'65
    COLUMN[0]=$08
    COLUMN[1]=$08
    COLUMN[2]=$3E
    COLUMN[3]=$08
    COLUMN[4]=$08
    COLUMN[5]=$00
   
    Case "-"'65
    COLUMN[0]=$08
    COLUMN[1]=$08
    COLUMN[2]=$08
    COLUMN[3]=$08
    COLUMN[4]=$08
    COLUMN[5]=$00

    Case "."
    COLUMN[0]=$00
    COLUMN[1]=$00
    COLUMN[2]=$60
    COLUMN[3]=$60
    COLUMN[4]=$00
    COLUMN[5]=$00

    Case "*"
    COLUMN[0]=$14
    COLUMN[1]=$08
    COLUMN[2]=$3E
    COLUMN[3]=$08
    COLUMN[4]=$14
    COLUMN[5]=$00

    Case ":"
    COLUMN[0]=$00
    COLUMN[1]=$36
    COLUMN[2]=$36
    COLUMN[3]=$00
    COLUMN[4]=$00
    COLUMN[5]=$00
   
    Case ","
    COLUMN[0]=$00
    COLUMN[1]=$40
    COLUMN[2]=$50
    COLUMN[3]=$30
    COLUMN[4]=$00
    COLUMN[5]=$00
   
    Case "!"
    COLUMN[0]=$00
    COLUMN[1]=$00
    COLUMN[2]=$5F
    COLUMN[3]=$00
    COLUMN[4]=$00
    COLUMN[5]=$00

    End Select
    Return'1 KARAKTER BULUNUP DEĞİŞKENLERE YERLEŞTİRİLDİ VE GERİ DÖN
'************************************************************************************************
'KENDİ TANIMLADIĞIM KARAKTERLER
'0x3E,0x51,0x49,0x45,0x3E,0,_'0
'0x00,0x42,0x7F,0x40,0x00,0,_'1
'0x42,0x61,0x51,0x49,0x46,0,_'2
'0x22,0x49,0x49,0x49,0x3E,0,_'3
'0x18,0x14,0x12,0x7F,0x10,0,_'4
'0x4F,0x49,0x49,0x49,0x31,0,_'5
'0x3E,0x49,0x49,0x49,0x32,0,_'6
'0x01,0x01,0x79,0x05,0x03,0,_'7
'0x36,0x49,0x49,0x49,0x36,0,_'8
'0x06,0x49,0x49,0x29,0x1E,0,_'9
'0x7C,0x12,0x11,0x12,0x7C,0,_'A
'0x7F,0x49,0x49,0x49,0x36,0,_'B
'0x3E,0x41,0x41,0x41,0x22,0,_'C
'0x1E,0x21,0x61,0x21,0x12,0,_'Ç
'0x41,0x7F,0x41,0x41,0x3E,0,_'D
'0x7F,0x49,0x49,0x49,0x41,0,_'E
'0x7F,0x09,0x09,0x09,0x01,0,_'F
'0x3E,0x41,0x49,0x49,0x30,0,_'G
'0x38,0x45,0x55,0x55,0x20,0,_'Ğ
'0x7F,0x08,0x08,0x08,0x7F,0,_'H
'0x00,0x41,0x7F,0x41,0x00,0,_'I
'0x00,0x44,0x7D,0x44,0x00,0,_'İ
'0x40,0x44,0x3D,0x04,0x00,0,_'J
'0x7F,0x08,0x14,0x22,0x41,0,_'K
'0x7F,0x40,0x40,0x40,0x40,0,_'L
'0x7F,0x02,0x04,0x02,0x7F,0,_'M
'0x7F,0x02,0x04,0x08,0x7F,0,_'N
'0x3E,0x41,0x41,0x41,0x3E,0,_'O
'0x38,0x45,0x44,0x45,0x38,0,_'Ö
'0x7F,0x09,0x09,0x09,0x06,0,_'P
'0x7F,0x11,0x11,0x11,0x6E,0,_'R
'0x26,0x49,0x49,0x49,0x32,0,_'S
'0x26,0x29,0x69,0x29,0x11,0,_'Ş
'0x01,0x01,0x7F,0x01,0x01,0,_'T
'0x3F,0x40,0x40,0x40,0x3F,0,_'U
'0x3C,0x41,0x40,0x41,0x3C,0,_'Ü
'0x1F,0x20,0x40,0x20,0x1F,0,_'V
'0x07,0x08,0x70,0x08,0x07,0,_'Y
'0x61,0x51,0x49,0x45,0x43,0,_'Z
'0x00,0x00,0x00,0x00,0x00,_'BOŞLUK
'0x00,0x60,0x60,0x00,0x00,0,_'.
'0x00,0x40,0x50,0x30,0x00,0,_',
'0x00,0x66,0x66,0x00,0x00,0,_':
'0x00,0x00,0x56,0x36,0x00,0,_';


Muradım

#1
Küçük bişey daha söylemek istiyorum.

Verilen kodlar içinde
----------------------------------------------------------
Tris Yok
Dim Yok
Declare Yok
Symbol - var ama örneğin başka bir projede bulduğum
Declare LCD_DTPIN PORTB.4 gibi bir kod bulunmalımı_? Diğer Ekranlarda DTPIN diye bi pin var ama benim ekranımda bu yok. Anlatamadığımı düşünüyorum. Yani Şunu projeye şu şekilde yazamayacağımı biliyorum.
Declare LCD_SDIN PORTB.4
LCD_DTPIN inc dosyası içindenmi geliyor.

gergy

#2
Sorun nedir belirtmemişsiniz.  :o  Kodlar alıntı sanırım. Config ayarlarına örnek kısım ekledim. Dim tanımlamaları yanlış yapılmış, yan yana virgülle ayrılarak yazılmış, düzelttim. Dig komutu yanlış kullanılmış düzelttim, ancak kod düzgün çalışıyor mu incelemedim ve derleyince sorunsuz derlendi. Ama şöyle göz ucuyla bakınca kod çalışır gibi görünüyor. Nokia 3310 ekranı kullandığınız için sizin verdiğiniz LCD tanımlamaları kullanamazsınız, keza alfanumerik LCD içindir onlar. USB tanımlamalarını göremedim ama fotoda kullanımı mevcut. Kodları tam vermediniz sanırım, şema da olmayınca olduğu kadarı ile elimden gelen budur.

;-------------------------------------------------------------------------------
;**** Added by Fuse Configurator ****
; Use the Fuse Configurator plug-in to change these settings

Device = 18F4550

Config_Start
  PLLDIV = 5 ;Divide by 5 (20 MHz oscillator input)
  CPUDIV = OSC1_PLL2 ;[Primary Oscillator Src: /1][96 MHz PLL Src: /2]
  USBDIV = 1 ;USB clock source comes directly from the primary oscillator block with no postscale
  FOSC = HSPLL_HS ;HS oscillator, PLL enabled (HSPLL)
  FCMEN = On ;Fail-Safe Clock Monitor enabled
  IESO = On ;Oscillator Switchover mode enabled
  PWRT = OFF ;PWRT disabled
  BOR = OFF ;Brown-out Reset disabled in hardware and software
  BORV = 3 ;Minimum setting
  VREGEN = OFF ;USB voltage regulator disabled
  WDT = OFF ;WDT disabled (control is placed on the SWDTEN bit)
  WDTPS = 32768 ;1:32768
  CCP2MX = On ;CCP2 input/output is multiplexed with RC1
  PBADEN = OFF ;PORTB<4:0> pins are configured as digital I/O on Reset
  LPT1OSC = OFF ;Timer1 configured for higher power operation
  MCLRE = On ;MCLR pin enabled; RE3 input pin disabled
  STVREN = On ;Stack full/underflow will cause Reset
  LVP = OFF ;Single-Supply ICSP disabled
  ICPRT = OFF ;ICPORT disabled
  XINST = OFF ;Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
  Debug = OFF ;Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins
  CP0 = OFF ;Block 0 (000800-001FFFh) is not code-protected
  CP1 = OFF ;Block 1 (002000-003FFFh) is not code-protected
  CP2 = OFF ;Block 2 (004000-005FFFh) is not code-protected
  CP3 = OFF ;Block 3 (006000-007FFFh) is not code-protected
  CPB = OFF ;Boot block (000000-0007FFh) is not code-protected
  CPD = OFF ;Data EEPROM is not code-protected
  WRT0 = OFF ;Block 0 (000800-001FFFh) is not write-protected
  WRT1 = OFF ;Block 1 (002000-003FFFh) is not write-protected
  WRT2 = OFF ;Block 2 (004000-005FFFh) is not write-protected
  WRT3 = OFF ;Block 3 (006000-007FFFh) is not write-protected
  WRTC = OFF ;Configuration registers (300000-3000FFh) are not write-protected
  WRTB = OFF ;Boot block (000000-0007FFh) is not write-protected
  WRTD = OFF ;Data EEPROM is not write-protected
  EBTR0 = OFF ;Block 0 (000800-001FFFh) is not protected from table reads executed in other blocks
  EBTR1 = OFF ;Block 1 (002000-003FFFh) is not protected from table reads executed in other blocks
  EBTR2 = OFF ;Block 2 (004000-005FFFh) is not protected from table reads executed in other blocks
  EBTR3 = OFF ;Block 3 (006000-007FFFh) is not protected from table reads executed in other blocks
  EBTRB = OFF ;Boot block (000000-0007FFh) is not protected from table reads executed in other blocks
Config_End

;**** End of Fuse Configurator Settings ****
;-------------------------------------------------------------------------------
'CONFIG CP_OFF,DATA_CP_OFF,WDT_OFF,INTRC_OSC_NOCLKOUT,MCLRE_OFF,LVP_OFF,BODEN_OFF,PWRTE_ON


Xtal = 20   
Declare PROTON_START_ADDRESS = $1000  ' Bu kod Easy Hıd tarafından oluşturulmadığı için kendim yazıyorum

'CMCON=$07           ' bütün portlar dijital

All_Digital = TRUE   ' galiba bu da bütün portlar dijital demek oluyor


Symbol RST=PORTD.3   ' RES
Symbol SCE=PORTD.4   ' SCE
Symbol D_C=PORTD.5   ' D_C
Symbol DTA=PORTD.6   ' SDIN
Symbol CLK=PORTD.7   ' SCLK




Dim POSX As Byte
Dim POSY As Byte
Dim I As Word
Dim SATIR As Byte
Dim SUTUN As Byte
Dim SAYI As Word
Dim LCDDATA As Byte
Dim KONUM As Byte
Dim DEGISKEN As Byte
Dim COLUMN [6] As Byte
Dim DIJ As Byte

GoSub LCD_AC
GoSub LCD_SIL
Clear
DelayMS 100
'************************************************************************************************
SATIR_1:
    SATIR=0'İLK SATIR
    For I=1 To 10'ALTTAKİ KÖŞELİ PARANTEZ İÇİNDE KAÇ KARAKTER VARSA I DEĞERİ O KADAR OLACAK
    DEGISKEN=LookUp KONUM,["ESAT METİN"]'YAZMAK İSTEDİĞİNİZ YAZIYI BURAYA YAZIN(DEĞİŞKEN YAZILAMAZ)
    KONUM=KONUM+1'TABLODAN BİR SONRAKİ KARAKTERİ AL
    GoSub SATIR_YAZ'BU ETİKETE GİT VE KARAKTERLERİ DEĞİŞKENLERE YERLEŞTİR
    GoSub YOLLA'DEĞİŞKENLERE YERLEŞTİRİLEN KARAKTERLERİ BU SATIRDA YOLLA
    'GOSUB YAVAS_YAZ'İSTENİRSE SATIR AÇILARAK HARFLER EKRANA YAVAŞ YAVAŞ TANE TANE GETİRİLEBİLİR
    Next'TÜM KARAKTERLERİ GÖNDERENE KADAR DEVAM ET,BURADA 10 DEFA
    Clear SUTUN : Clear KONUM'SUTUN VE TABLOYU SIFIRLA
'***********************************************************************************************
SATIR_2:
    SATIR=1'İKİNCİ SATIR
    For I=1 To 7'ERDOĞAN KELİMESİ 7 KARAKTERDEN OLUŞTUĞU İÇİN DÖNGÜ 7 KEZ TEKRAR EDECEK
    DEGISKEN=LookUp KONUM,["ERDOĞAN"]'YAZINI YAZ,FOR NEXT DÖNGÜSÜNDEKİ SAYI BURADAKİ KARAKTER SAYISI İLE AYNI OLACAK
    KONUM=KONUM+1
    GoSub SATIR_YAZ
    GoSub YOLLA
    'GOSUB YAVAS_YAZ
    Next
    Clear SUTUN : Clear KONUM
'***********************************************************************************************
SATIR_3:
    SATIR=2
    For I=1 To 14'HER KARAKTER 6 SUTUN,EKRAN 84*48 OLDUĞUNDAN EN FAZLA 14 KARAKTER SIĞAR,6X14=84
    DEGISKEN=LookUp KONUM,["NOKIA 3310 LCD"]
    KONUM=KONUM+1
    GoSub SATIR_YAZ
    GoSub YOLLA
    'GOSUB YAVAS_YAZ
    Next
    Clear SUTUN : Clear KONUM
'***********************************************************************************************
SATIR_4:
    SATIR=3
    For I=1 To 6
    DEGISKEN=LookUp KONUM,["SAYI: "]'HER KARAKTER 6 SUTUNDUR.BURADA 6 KARAKTER VAR 6X6=36
    KONUM=KONUM+1
    GoSub SATIR_YAZ
    GoSub YOLLA
    'GOSUB YAVAS_YAZ
    Next
    Clear SUTUN : Clear KONUM
    DelayMS 1000

'////////////////////////////DEĞİŞKEN BU SATIR ALTINDA EKRANA GETİRİLİYOR////////////////////////////                                         

    'SATIR=4'BU SATIRI AÇARSANIZ ALTTAKİ SATIRIN 36.SÜTUNUNA YAZAR,DAHA İYİ ANLAMAK İÇİN DENEYİN
    SUTUN=36'"SAYI: " YAZISINDAN SONRA YAZMAK İÇİN SUTUNU 36 YAPTIK,DEĞİŞTİRİP DENEYEBİLİRSİNİZ
    If SAYI>10000 Then DIJ=4'EKRANDA SAYILARIN BAŞINDAKİ SIFIRLARIN ÇIKMASINI ENGELLER,65535'E KADAR
    If SAYI<10000 Then DIJ=3'ÖRNEK;SAYI=25 İSE EKRANDA 00025 OLARAK GÖRÜNMESİNİ
    If SAYI<1000 Then DIJ=2'BU SATIRLARLA ENGELLEDİM
    If SAYI<100 Then DIJ=1'SAYI 100'DEN KÜÇÜKSE ÇİFT HANE
    If SAYI<10 Then DIJ=0'SAYI 10'DAN KÜÇÜKSE TEK HANE

    For I=DIJ To 0 Step -1'EN KÜÇÜK DEĞERİN EN SAĞDA OLMASI İÇİN ÇIKARMA YAPIYORUZ,YOKSA EN SOLDA GÖRÜNÜR
    DEGISKEN=Dig SAYI, I
    If DEGISKEN<48 And DEGISKEN<58 Then DEGISKEN=DEGISKEN+48'RAKAMLARIN ASCİİ KARŞILIĞINI BULMAK İÇİN
    GoSub SATIR_YAZ'ASCİİ TABLOSUNDA 0=48,1=49,2=50,3=51,....,9=57'DİR
    GoSub YOLLA
    Next
   
    SAYI=SAYI+1'SAYIYI 1 ARTIR
    Clear SUTUN
    'GOSUB LCD_SIL'İSTERSEK LCD'Yİ SİLEBİLİRİZ,ÇOK FAZLA SİLERSEK EKRANDA TİTREME OLUR,BU PROGRAMDA SİLMEYE GEREK YOK
    GoTo SATIR_1'EN BAŞA DÖNER,İSTERSENİZ ALT SATIRLARI AÇAR GEREKLİ DÜZENLEMELERİ YAPAR DEVAM EDERSİNİZ

'//////////////////////////////////////////////////////////////////////////////////////////////////////////
'SATIR_5:
    'SATIR=4
    'KONUM=0
    'FOR I=1 TO 14
    'DEGISKEN=LOOKUP KONUM,["LMNOÖPRSŞTUÜVY"]
    'KONUM=KONUM+1
    'GOSUB SATIR_YAZ
    'GOSUB YOLLA
    'GOSUB YAVAS_YAZ
    'NEXT
    'CLEAR SUTUN : CLEAR KONUM
'***********************************************************************************************
'SATIR_6:
    'SATIR=5
    'KONUM=0
    'FOR I=1 TO 14
    'DEGISKEN=LOOKUP KONUM,["Z1234567890+-."]
    'KONUM=KONUM+1
    'GOSUB SATIR_YAZ
    'GOSUB YOLLA
    'GOSUB YAVAS_YAZ
    'NEXT
    'CLEAR SUTUN : CLEAR KONUM
'EKRAN 3310 EKRANI İSE(84X48 İSE)BUNDAN SONRASINI DESTEKLEMEZ,EKRANINIZ 96*64 İSE 8 SATIRA KADAR YAZAR
'***********************************************************************************************
'SATIR_7:
    'SATIR=6
    'KONUM=0
    'FOR I=1 TO 16
    'DEGISKEN=LOOKUP KONUM,["HIİJKLMNOÖPRSŞTU"]
    'KONUM=KONUM+1
    'GOSUB SATIR_YAZ
    'GOSUB YOLLA
    'GOSUB YAVAS_YAZ
    'NEXT
    'CLEAR SUTUN : CLEAR KONUM
'***********************************************************************************************
'SATIR_8:
    'SATIR=7
    'KONUM=0
    'FOR I=1 TO 16
    'DEGISKEN=LOOKUP KONUM,["BU SON SATIR!..."]
    'KONUM=KONUM+1
    'GOSUB SATIR_YAZ
    'GOSUB YOLLA
    'GOSUB YAVAS_YAZ
    'NEXT
    'CLEAR SUTUN : CLEAR KONUM
    'DELAYMS 5000
    'GOSUB LCD_SIL
    'GOTO SATIR_1
'***********************************************************************************************
'YAVAS_YAZ:
    'DELAYMS 50
    'RETURN
'***********************************************************************************************
YOLLA:
    POSX=SUTUN:POSY=SATIR:GoSub LCD_XY_VER:High D_C'EKRANA YAZIYI BURASI YAZIYOR
    SHOut DTA,CLK,1,[COLUMN[0],COLUMN[1],COLUMN[2],COLUMN[3],COLUMN[4],COLUMN[5]]'BU SATIRDA 1 HARF EKRANA YOLLANIYOR
    SUTUN=SUTUN+6'BİR KARAKTER 6 SUTUN KAPLIYOR İSE,YENİ KARAKTERLERİN SAĞA DOĞRU YAZILABİLMESİ İÇİN KAYDIRIYORUZ
    Return'BURAYA KADAR EKRANA SADECE 1 KARAKTER YAZILDI(ÖRN A HARFİ),YENİ KARAKTERLER YAZMAK İÇİN GERİ DÖN VE DÖNGÜYE DEVAM ET
'************************************************************************************************
LCD_YAZ:
    SHOut DTA,CLK,1,[LCDDATA]'EKRANA KOMUT YOLLAMAK İÇİN ÖRNEĞİN KONTRAST AYARI,EKRANI SİLME,EKRANDA YER BELİRLEME...
    Return
'************************************************************************************************
LCD_SIL:
    POSX=0:POSY=0:GoSub LCD_XY_VER
    High D_C
    For I=1 To 252'EKRANINIZ 96*64 İSE BURAYI 500 YAPIN
    LCDDATA=0:GoSub LCD_YAZ '1. yarı siliniyor
    LCDDATA=0:GoSub LCD_YAZ '2. yarı siliniyor   
    Next
    Return
'************************************************************************************************
LCD_XY_VER:
    Low D_C
    LCDDATA=%01000000 | POSY
    GoSub LCD_YAZ
    LCDDATA=%10000000 | POSX
    GoSub LCD_YAZ
    High D_C
    Return
'************************************************************************************************
LCD_AC:
    Low RST
    DelayMS 10 
    High RST 
    Low D_C  ' RESET LCD   
    LCDDATA= $21: GoSub LCD_YAZ         ' LCD EXTENDED COMMANDS
    LCDDATA= $b0: GoSub LCD_YAZ         ' SET LCD Vop (CONTRAST)
    LCDDATA= $06: GoSub LCD_YAZ         ' SET TEMP COEFFICENT
    LCDDATA= %00010101: GoSub LCD_YAZ   ' LCD BIAS MODE
    LCDDATA= $20: GoSub LCD_YAZ         ' LCD STANDARD COMMANDS
    LCDDATA= $0c: GoSub LCD_YAZ         ' LCD IN NORMAL MODE
    Return
'************************************************************************************************
SATIR_YAZ:'YENİ KARAKTER TANIMLAMALARINIZI BU SATIRLARIN ALTINA YAPABİLİRSİNİZ

    Select Case DEGISKEN

    Case "A"'A HARFİNİN 6 SÜTUN OLARAK TANIMI
    COLUMN[0]=$7E
    COLUMN[1]=$11
    COLUMN[2]=$11
    COLUMN[3]=$11
    COLUMN[4]=$7E
    COLUMN[5]=$00

    Case "B"'65
    COLUMN[0]=$7F
    COLUMN[1]=$49
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$36
    COLUMN[5]=$00

    Case "C"
    COLUMN[0]=$3E
    COLUMN[1]=$41
    COLUMN[2]=$41
    COLUMN[3]=$41
    COLUMN[4]=$22
    COLUMN[5]=$00

    Case 199'"Ç"
    COLUMN[0]=$1E
    COLUMN[1]=$21
    COLUMN[2]=$61
    COLUMN[3]=$21
    COLUMN[4]=$12
    COLUMN[5]=$00

    Case "D"'65
    COLUMN[0]=$7F
    COLUMN[1]=$41
    COLUMN[2]=$41
    COLUMN[3]=$22
    COLUMN[4]=$1C
    COLUMN[5]=$00
   
    Case "E"'65
    COLUMN[0]=$7F
    COLUMN[1]=$49
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$41
    COLUMN[5]=$00
   
    Case "F"'65
    COLUMN[0]=$7F
    COLUMN[1]=$09
    COLUMN[2]=$09
    COLUMN[3]=$09
    COLUMN[4]=$01
    COLUMN[5]=$00
   
    Case "G"'65
    COLUMN[0]=$3E
    COLUMN[1]=$41
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$7A
    COLUMN[5]=$00
   
    Case 208'"Ğ"
    COLUMN[0]=$38
    COLUMN[1]=$45
    COLUMN[2]=$55
    COLUMN[3]=$55
    COLUMN[4]=$20
    COLUMN[5]=$00
   
    Case "H"'65
    COLUMN[0]=$7F
    COLUMN[1]=$08
    COLUMN[2]=$08
    COLUMN[3]=$08
    COLUMN[4]=$7F
    COLUMN[5]=$00
   
    Case "I"'65
    COLUMN[0]=$00
    COLUMN[1]=$41
    COLUMN[2]=$7F
    COLUMN[3]=$41
    COLUMN[4]=$00
    COLUMN[5]=$00
   
    Case 221'"İ"
    COLUMN[0]=$00
    COLUMN[1]=$44
    COLUMN[2]=$7D
    COLUMN[3]=$44
    COLUMN[4]=$00
    COLUMN[5]=$00

    Case "J"'65
    COLUMN[0]=$20
    COLUMN[1]=$40
    COLUMN[2]=$41
    COLUMN[3]=$3F
    COLUMN[4]=$01
    COLUMN[5]=$00

    Case "K"'65
    COLUMN[0]=$7F
    COLUMN[1]=$08
    COLUMN[2]=$14
    COLUMN[3]=$22
    COLUMN[4]=$41
    COLUMN[5]=$00
   
    Case "L"'65
    COLUMN[0]=$7F
    COLUMN[1]=$40
    COLUMN[2]=$40
    COLUMN[3]=$40
    COLUMN[4]=$40
    COLUMN[5]=$00

    Case "M"'65
    COLUMN[0]=$7F
    COLUMN[1]=$02
    COLUMN[2]=$0C
    COLUMN[3]=$02
    COLUMN[4]=$7F
    COLUMN[5]=$00

    Case "N"'65
    COLUMN[0]=$7F
    COLUMN[1]=$04
    COLUMN[2]=$08
    COLUMN[3]=$10
    COLUMN[4]=$7F
    COLUMN[5]=$00

    Case "O"'65
    COLUMN[0]=$3E
    COLUMN[1]=$41
    COLUMN[2]=$41
    COLUMN[3]=$41
    COLUMN[4]=$3E
    COLUMN[5]=$00

    Case 214'"Ö" $3C,$43,$42,$43,$3C,$00
    COLUMN[0]=$3C
    COLUMN[1]=$43
    COLUMN[2]=$42
    COLUMN[3]=$43
    COLUMN[4]=$3C
    COLUMN[5]=$00
   
    Case "P"'65
    COLUMN[0]=$7F
    COLUMN[1]=$09
    COLUMN[2]=$09
    COLUMN[3]=$09
    COLUMN[4]=$06
    COLUMN[5]=$00

    Case "R"'65
    COLUMN[0]=$7F
    COLUMN[1]=$09
    COLUMN[2]=$19
    COLUMN[3]=$29
    COLUMN[4]=$46
    COLUMN[5]=$00
   
    Case "S"'65
    COLUMN[0]=$46
    COLUMN[1]=$49
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$31
    COLUMN[5]=$00

    Case 222'"Ş"$22,$65,$65,$25,$19,$00
    COLUMN[0]=$22
    COLUMN[1]=$65
    COLUMN[2]=$65
    COLUMN[3]=$25
    COLUMN[4]=$19
    COLUMN[5]=$00

    Case "T"'65
    COLUMN[0]=$01
    COLUMN[1]=$01
    COLUMN[2]=$7F
    COLUMN[3]=$01
    COLUMN[4]=$01
    COLUMN[5]=$00

    Case "U"'65
    COLUMN[0]=$3F
    COLUMN[1]=$40
    COLUMN[2]=$40
    COLUMN[3]=$40
    COLUMN[4]=$3F
    COLUMN[5]=$00
   
    Case 220'"Ü"  $3D,$40,$40,$40,$3D,$00
    COLUMN[0]=$3D
    COLUMN[1]=$40
    COLUMN[2]=$40
    COLUMN[3]=$40
    COLUMN[4]=$3D
    COLUMN[5]=$00
   
    Case "V"'65
    COLUMN[0]=$1F
    COLUMN[1]=$20
    COLUMN[2]=$40
    COLUMN[3]=$20
    COLUMN[4]=$1F
    COLUMN[5]=$00
   
    Case "Y"' $07,$08,$70,$08,$07,$00
    COLUMN[0]=$07
    COLUMN[1]=$08
    COLUMN[2]=$70
    COLUMN[3]=$08
    COLUMN[4]=$07
    COLUMN[5]=$00
   
    Case "Z"'65
    COLUMN[0]=$61
    COLUMN[1]=$51
    COLUMN[2]=$49
    COLUMN[3]=$45
    COLUMN[4]=$43
    COLUMN[5]=$00

    Case "0"'65
    COLUMN[0]=$3E
    COLUMN[1]=$51
    COLUMN[2]=$49
    COLUMN[3]=$45
    COLUMN[4]=$3E
    COLUMN[5]=$00

    Case "1"'65
    COLUMN[0]=$00
    COLUMN[1]=$42
    COLUMN[2]=$7F
    COLUMN[3]=$40
    COLUMN[4]=$00
    COLUMN[5]=$00

    Case "2"'65
    COLUMN[0]=$42
    COLUMN[1]=$61
    COLUMN[2]=$51
    COLUMN[3]=$49
    COLUMN[4]=$46
    COLUMN[5]=$00

    Case "3"'65
    COLUMN[0]=$21
    COLUMN[1]=$41
    COLUMN[2]=$45
    COLUMN[3]=$4B
    COLUMN[4]=$31
    COLUMN[5]=$00

    Case "4"'65
    COLUMN[0]=$18
    COLUMN[1]=$14
    COLUMN[2]=$12
    COLUMN[3]=$7F
    COLUMN[4]=$10
    COLUMN[5]=$00

    Case "5"'65
    COLUMN[0]=$27
    COLUMN[1]=$45
    COLUMN[2]=$45
    COLUMN[3]=$45
    COLUMN[4]=$39
    COLUMN[5]=$00

    Case "6"'65
    COLUMN[0]=$3C
    COLUMN[1]=$4A
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$30
    COLUMN[5]=$00

    Case "7"'65
    COLUMN[0]=$01
    COLUMN[1]=$71
    COLUMN[2]=$09
    COLUMN[3]=$05
    COLUMN[4]=$03
    COLUMN[5]=$00

    Case "8"'65
    COLUMN[0]=$36
    COLUMN[1]=$49
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$36
    COLUMN[5]=$00

    Case "9"'65
    COLUMN[0]=$06
    COLUMN[1]=$49
    COLUMN[2]=$49
    COLUMN[3]=$49
    COLUMN[4]=$3E
    COLUMN[5]=$00

    Case " "'65
    COLUMN[0]=$00
    COLUMN[1]=$00
    COLUMN[2]=$00
    COLUMN[3]=$00
    COLUMN[4]=$00
    COLUMN[5]=$00

    Case "+"'65
    COLUMN[0]=$08
    COLUMN[1]=$08
    COLUMN[2]=$3E
    COLUMN[3]=$08
    COLUMN[4]=$08
    COLUMN[5]=$00
   
    Case "-"'65
    COLUMN[0]=$08
    COLUMN[1]=$08
    COLUMN[2]=$08
    COLUMN[3]=$08
    COLUMN[4]=$08
    COLUMN[5]=$00

    Case "."
    COLUMN[0]=$00
    COLUMN[1]=$00
    COLUMN[2]=$60
    COLUMN[3]=$60
    COLUMN[4]=$00
    COLUMN[5]=$00

    Case "*"
    COLUMN[0]=$14
    COLUMN[1]=$08
    COLUMN[2]=$3E
    COLUMN[3]=$08
    COLUMN[4]=$14
    COLUMN[5]=$00

    Case ":"
    COLUMN[0]=$00
    COLUMN[1]=$36
    COLUMN[2]=$36
    COLUMN[3]=$00
    COLUMN[4]=$00
    COLUMN[5]=$00
   
    Case ","
    COLUMN[0]=$00
    COLUMN[1]=$40
    COLUMN[2]=$50
    COLUMN[3]=$30
    COLUMN[4]=$00
    COLUMN[5]=$00
   
    Case "!"
    COLUMN[0]=$00
    COLUMN[1]=$00
    COLUMN[2]=$5F
    COLUMN[3]=$00
    COLUMN[4]=$00
    COLUMN[5]=$00

    End Select
    Return'1 KARAKTER BULUNUP DEĞİŞKENLERE YERLEŞTİRİLDİ VE GERİ DÖN
'************************************************************************************************
'KENDİ TANIMLADIĞIM KARAKTERLER
'0x3E,0x51,0x49,0x45,0x3E,0,_'0
'0x00,0x42,0x7F,0x40,0x00,0,_'1
'0x42,0x61,0x51,0x49,0x46,0,_'2
'0x22,0x49,0x49,0x49,0x3E,0,_'3
'0x18,0x14,0x12,0x7F,0x10,0,_'4
'0x4F,0x49,0x49,0x49,0x31,0,_'5
'0x3E,0x49,0x49,0x49,0x32,0,_'6
'0x01,0x01,0x79,0x05,0x03,0,_'7
'0x36,0x49,0x49,0x49,0x36,0,_'8
'0x06,0x49,0x49,0x29,0x1E,0,_'9
'0x7C,0x12,0x11,0x12,0x7C,0,_'A
'0x7F,0x49,0x49,0x49,0x36,0,_'B
'0x3E,0x41,0x41,0x41,0x22,0,_'C
'0x1E,0x21,0x61,0x21,0x12,0,_'Ç
'0x41,0x7F,0x41,0x41,0x3E,0,_'D
'0x7F,0x49,0x49,0x49,0x41,0,_'E
'0x7F,0x09,0x09,0x09,0x01,0,_'F
'0x3E,0x41,0x49,0x49,0x30,0,_'G
'0x38,0x45,0x55,0x55,0x20,0,_'Ğ
'0x7F,0x08,0x08,0x08,0x7F,0,_'H
'0x00,0x41,0x7F,0x41,0x00,0,_'I
'0x00,0x44,0x7D,0x44,0x00,0,_'İ
'0x40,0x44,0x3D,0x04,0x00,0,_'J
'0x7F,0x08,0x14,0x22,0x41,0,_'K
'0x7F,0x40,0x40,0x40,0x40,0,_'L
'0x7F,0x02,0x04,0x02,0x7F,0,_'M
'0x7F,0x02,0x04,0x08,0x7F,0,_'N
'0x3E,0x41,0x41,0x41,0x3E,0,_'O
'0x38,0x45,0x44,0x45,0x38,0,_'Ö
'0x7F,0x09,0x09,0x09,0x06,0,_'P
'0x7F,0x11,0x11,0x11,0x6E,0,_'R
'0x26,0x49,0x49,0x49,0x32,0,_'S
'0x26,0x29,0x69,0x29,0x11,0,_'Ş
'0x01,0x01,0x7F,0x01,0x01,0,_'T
'0x3F,0x40,0x40,0x40,0x3F,0,_'U
'0x3C,0x41,0x40,0x41,0x3C,0,_'Ü
'0x1F,0x20,0x40,0x20,0x1F,0,_'V
'0x07,0x08,0x70,0x08,0x07,0,_'Y
'0x61,0x51,0x49,0x45,0x43,0,_'Z
'0x00,0x00,0x00,0x00,0x00,_'BOŞLUK
'0x00,0x60,0x60,0x00,0x00,0,_'.
'0x00,0x40,0x50,0x30,0x00,0,_',
'0x00,0x66,0x66,0x00,0x00,0,_':
'0x00,0x00,0x56,0x36,0x00,0,_';

Muradım

Sayın gergy cevabınız için teşekkür ederim.
Kodların %99'u Sayın est32 beyin bir çalışmasından alıntıdır.
Devrem üzerinde daha önceden çok çalışmalar yaptım. Usb bağlantısı üzerine yaptığınız yorumdan çok tecrübeli olduğunuzu hissediyorum.
Usb ile ilgili kodları çıkararak ekrana yazı yazdırmayı denedim. Ekrana bir nokta koyabilsem gerisi gelecek ama başarı sağlayamadım. Verdiğiniz kodları çalıştırdığımda Config_Start satırında takılıp kalıyor. Aşağıdaki uyarıda ise "Config_Start Without Config_End!" yazıyor. Konfigurasyon başlangıcını görüyor ama bitişini göremiyor. Bi yazım hatası varmı acaba. Minnettarım.

gergy

Config_end komutunu kodda görüyorsunuz zaten, bence sizin derleyicide sorun var ya da kopyalayıp yapıştırırken hata yapmış olabilirsiniz. Ben bas ve hex uzantılı dosyaları ekliyorum. Bu arada sizin derleyicinin sürümü nedir?

http://s3.dosya.tc/server31/aYtc1d/deneme.rar.html


Muradım

Bana yardım etmeye çalıştığınız için çok teşekkür ederim.
Benim proton dan kaynaklanabilir. Bana ilk defa gönderdiğiniz yanıttaki siyah pencereden kopyaladığım tüm kodu protona yapıştırıyorum her satırda hata veriyor. Yani sadece sizinkini değil siyah pencereden aldığım ama nereden olursa olsun hata veriyor. Bende iki kelime arasında kalan boşluk hariç her satır başında ve satır sonundaki tüm boşlukları silip tekrar oluşturuyorum. Anlatabildimmi bilmiyorum. Sizin önereceğiniz bir Proton IDE Version'u ve onu indirebileceğim bir sağlıklı link varmı.

Bendeki Proton IDE Programının Hakkında Kısmında Yazanlar Şunlar
-------------------------------------------------------------------------------------
Proton IDE 1.0.4.6
Proton + BASIC Compiler
Loader Version 1.3.1.0
Compiler Version 3.2.5.5

gergy

#6
Ben 3.5.5.5 sürümünü kullanıyorum ancak link konusunda ben bile nereden indirdiğimi hatırlamıyorum. Bulursam bildiririm. Belki diğer üyelerin de bu konuda yardımı olur. Ö.M. attım bir bakın.

gergy

Forumda bulunan Maxim üstadın verdiği bu linkte de söz konusu sürüm var;

http://www.picproje.org/index.php/topic,45366.15.html

Muradım

 Ö.M. ile gönderdiğiniz linkten indirdim.
Aynı kodlarla
Error : Missing securtiy key
hatası verip derleme yapmıyor. Eğer çok olmuyorsam telefon numaranızı istesem.
Bu arada Maxim abinin verdiği link için picproje'ye üye olmaya çalışıyorum.

Muradım

#9
Ne olur bi boşluğunuzda şuna yardım edin. Sabah 7 oldu saat. Biraz istirahate gidiyorum.
1 - ISIS ta ekrandaki karakter sayısı doğru ama her karakteri rakam olarak gösteriyor ve  her karakter 1-2-3 diye sıralı yükseliyor. Bunun DIJ ile bir ilgisi var Ama  bilemedim
     DEGISKEN=Dig SAYI, I        Bu şekilde yazım hatalı olduğunu tahmin ediyorum ama derlemede hata vermiyor
     DEGISKEN=SAYI Dig I         Doğru hali bu ama derlemede sürekli buraya takılıyor.
2 - Devremin üzerinde yazı yok. Acaba kontrasttan bi problem olurmu. 3 tane yeni 3310 ekranı var ilk ikisinde vdd usb enerjisinden yani 5v veriyordum sonra bozdum şüphesiyle üçüncüye 3v pil taktım.

Maxim

DEGISKEN=Dig SAYI, I
bu yanlış

0123 diye yazmak gerekiyor
mesela ilk digit 0
ikinci digit için 1 yazmalı

DEGISKEN=Dig SAYI, 1 gibi
(diyelim SAYI 1234, 2 yi almış oluyoruz böylece)

Muradım

Anladığıma göre burdaki "Isparta" nın I'sı da bir değişken olduğuna göre yazım şekli doğru diyorsunuz. Ama derlemede bu satırda hata veriyor. Gönderdiğim proje.rar dosyasında ISIS dosyası var. Ne olur onu bi denetleyin.


gergy

#12
Sorun dig komutunda değil, sorun lookup komutunda programda lookup komutlarını LookUpL ile değiştirince sorunsuz çalışıyor. LookupL komutu sabit ve değişken kullanımına izin veren tipi diyebiliriz Lookup komutunun.

bir de şu şekilde düzeltme yaptım If DEGISKEN<48 And DEGISKEN<58 Then .... değil If DEGISKEN<58 Then DEGISKEN=DEGISKEN+48 olmalı. Düzeltilmiş ve çalışan halini ekte gönderdim.

USB dahil ettiğiniz halinin basic kodunu vermemişsiniz, yine de bu kısım sorunsuz çözüldüğüne göre gerisini halledersiniz ;)

http://s3.dosya.tc/server31/AAjDqA/Proje_Gergy.rar.html

gergy

#13
Alıntı yapılan: Maxim - 29 Ocak 2015, 11:59:50
DEGISKEN=Dig SAYI, I
bu yanlış

0123 diye yazmak gerekiyor
mesela ilk digit 0
ikinci digit için 1 yazmalı

DEGISKEN=Dig SAYI, 1 gibi
(diyelim SAYI 1234, 2 yi almış oluyoruz böylece)
Üstadım, I vb. gibi değişken ile de çalışıyor Dig komutu. Zaten, manualinde de "Digit number is a constant, variable, or expression, that represents the digit to extract from value. (0 - 4 with 0 being the rightmost digit)." şeklinde sabit, değişken veya ifade olabilir diye açıklamış.

Muradım

Beni adam yerine koyup ta cevap yazdıkları için Sayın Maxim ve Gergy kardeşlerime minnettarım.
Gergy kardeşim geri dönüş yaptığın haliyle sorunsuz olarak çalıştı. Garip karşıladığım şey forum üyelerinden est32 kardeşin hazırladığı bir projeyi aldım ve üzerine 18F4550 için Konfigurasyon ayarlarını yine senin gönderdiğin haliyle projeye dahil ettim. Üzerinde değişiklik yapmadan çalışması gerekirken çalışmadı. Yinede çok sevinçliyim. Tekrar tekrar teşekkür ederim.

Bu arada donanım da bir yazı elde edemedim bunun için uğraşıyorum.

Powered by EzPortal