Gönderen Konu: picbasic pro  (Okunma sayısı 3927 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı YILDIRAY

  • Yüzbaşı
  • ***
  • İleti: 834
picbasic pro
« : 15 Mayıs 2013, 23:20:57 »

s.a  bu picbasic örneği üzerinde çalışıyorum. micro studio combile dediğimde mpsam 62 karekteri desteklediğini bunda ise 125 karekter olduğunu söylüyor. bunu nasıl düzeltebiliriz.ayrıca arkadaşlar her adımın açıklamasını yapabilirseniz çok memnun olurum.
porta=0  :  portb=0  :  portc=0  :  portd=0
trisa=0  :  trisb=0  :  trisc=0  :  trisd=0
porte=0  : trise=0
harf_reg var byte
adres_sec var byte
yinele var byte
sutun_reg var byte[300]
veri var byte
yazi_reg var byte
i VAR BYTE
x var byte
z var byte
y var byte
t var byte
q var byte
sure var byte
yedek var byte


CLEAR  :  portd=255:sure=200 :GOTO oku:
oku:
call yazi  : yazi_reg=yazi_reg+1  :  z=harf_reg
    for i=1 to z
        call yazi  : yazi_reg=yazi_reg+1  : call data_sec
        for y=0 to yinele
            call datalar
            sutun_reg[t]=veri  :  t=t+1
            adres_sec=adres_sec+1
        next y
    next i
t=0
goto gonder
gonder:
FOR Q=0 TO 5
    for i=0 to 15
        portb=sutun_reg[t]  :  t=t+1
        porta=i
        portc=%11111110:pauseus sure:portc=%11111111
    next i
    for i=0 to 15
        portb=sutun_reg[t]  :  t=t+1
        porta=i
        portc=%11111101:pauseus sure:portc=%11111111
    next i
    for i=0 to 15
        portb=sutun_reg[t]  :  t=t+1
        porta=i
        portc=%11111011:pauseus sure:portc=%11111111
    next i
    for i=0 to 11
        portb=sutun_reg[t]  :  t=t+1
        porta=i
        portc=%11110111:pauseus sure:portc=%11111111
    next i
t=0
NEXT Q
goto kaydir
kaydir:
    yedek=sutun_reg[0]
    for i=0 to 239
        sutun_reg=sutun_reg[i+1]
    next i
        sutun_reg[240]=yedek
goto gonder
yazi:
lookup yazi_reg,[40,"ELEKTROTEKNO PAYLASiM MERKEZi          "],harf_reg
return


data_sec:
select case harf_reg
case "A"
adres_sec=0  :  yinele=5  :  return
case "B"
adres_sec=6  :  yinele=5  :  return
case "C"
adres_sec=12  :  yinele=5  :  return
case "D"
adres_sec=18  :  yinele=5  :  return
case "E"
adres_sec=24  :  yinele=5  :  return
case "F"
adres_sec=30  :  yinele=5  :  return
case "G"
adres_sec=36  :  yinele=5  :  return
case "H"
adres_sec=42  :  yinele=5  :  return
case "I"
adres_sec=48  :  yinele=3  :  return
case "i"
adres_sec=52  :  yinele=3  :  return
case "J"
adres_sec=56  :  yinele=5  :  return
case "K"
adres_sec=62  :  yinele=5  :  return
case "L"
adres_sec=68  :  yinele=5  :  return
case "M"
adres_sec=74  :  yinele=5  :  return
case "N"
adres_sec=80  :  yinele=5  :  return
case "O"
adres_sec=86  :  yinele=5  :  return
case "P"
adres_sec=92  :  yinele=5  :  return
case "Q"
adres_sec=98  :  yinele=5  :  return
case "R"
adres_sec=104  :  yinele=5  :  return
case "S"
adres_sec=110  :  yinele=5  :  return
case "T"
adres_sec=116  :  yinele=5  :  return
case "U"
adres_sec=122  :  yinele=5  :  return
case "ü"
adres_sec=128  :  yinele=5  :  return
case "V"
adres_sec=134  :  yinele=5  :  return
case "W"
adres_sec=140  :  yinele=5  :  return
case "X"
adres_sec=146  :  yinele=5  :  return
case "Y"
adres_sec=152  :  yinele=5  :  return
case "Z"
adres_sec=158  :  yinele=5  :  return
case " "
adres_sec=164  :  yinele=5  :  return
case "0"
adres_sec=170  :  yinele=5  :  return
case "1"
adres_sec=176  :  yinele=3  :  return
case "2"
adres_sec=180  :  yinele=5  :  return
case "3"
adres_sec=186  :  yinele=5  :  return
case "4"
adres_sec=192  :  yinele=5  :  return
case "5"
adres_sec=198  :  yinele=5  :  return
case "6"
adres_sec=204  :  yinele=5  :  return
case "7"
adres_sec=210  :  yinele=5  :  return
case "8"
adres_sec=216  :  yinele=5  :  return
case "9"
adres_sec=222  :  yinele=5  :  return
end select


datalar:


 lookup adres_sec,[$7C,$0A,$09,$0A,$7C,0_      ;A
                   ,$7F,$49,$49,$49,$36,0_      ;B
                   ,$3E,$41,$41,$41,$22,0_      ;C
                   ,$7F,$41,$41,$41,$3E,0_      ;D
                   ,$7F,$49,$49,$49,$41,0_      ;E
                   ,$7F,$09,$09,$09,$01,0_      ;F
                   ,$3E,$41,$49,$49,$3A,0_      ;G
                   ,$7F,$08,$08,$08,$7F,0_      ;H
                   ,$41,$7F,$41,0_              ;I
                   ,$44,$7D,$44,0_              ;İ
                   ,$20,$40,$41,$3F,$01,0_      ;J
                   ,$7F,$08,$14,$22,$41,0_      ;K
                   ,$7F,$40,$40,$40,$40,0_      ;L
                   ,$7F,$02,$04,$02,$7F,0_      ;M
                   ,$7F,$04,$08,$10,$7F,0_      ;N
                   ,$3E,$41,$41,$41,$3E,0_      ;O
                   ,$7F,$09,$09,$09,$06,0_      ;P
                   ,$3E,$41,$51,$61,$3E,0_      ;Q
                   ,$7F,$09,$19,$29,$46,0_      ;R
                   ,$26,$49,$49,$49,$32,0_      ;S
                   ,$01,$01,$7F,$01,$01,0_      ;T
                   ,$3F,$40,$40,$40,$3F,0_      ;U
                   ,$1E,$41,$01,$41,$1E,0_      ;Ü
                   ,$1F,$20,$40,$20,$1F,0_      ;V
                   ,$3F,$40,$30,$40,$3F,0_      ;W
                   ,$63,$14,$08,$14,$63,0_      ;X
                   ,$07,$08,$70,$08,$07,0_      ;Y
                   ,$61,$51,$49,$45,$43,0_      ;Z
                   ,$00,$00,$00,$00,$00,0_      ;Space
                   ,$3E,$51,$49,$45,$3E,0_      ;0
                   ,$42,$7F,$40,0_              ;1
                   ,$62,$51,$49,$45,$42,0_      ;2   
                   ,$22,$49,$49,$49,$36,0_      ;3
                   ,$18,$14,$12,$7F,$10,0_      ;4
                   ,$2F,$49,$49,$49,$31,0_      ;5
                   ,$3E,$49,$49,$49,$32,0_      ;6
                   ,$61,$11,$09,$05,$03,0_      ;7
                   ,$36,$49,$49,$49,$36,0_      ;8
                   ,$26,$49,$49,$49,$3E,0],veri ;9
return


Çevrimdışı YILDIRAY

  • Yüzbaşı
  • ***
  • İleti: 834
Ynt: picbasic pro
« Yanıtla #1 : 26 Mayıs 2013, 19:51:44 »
vay beee. herkes benim gibi hiç bilmiyor..

Çevrimdışı pro-TR

  • Yarbay
  • *****
  • İleti: 2294
Ynt: picbasic pro
« Yanıtla #2 : 27 Mayıs 2013, 22:19:54 »
s.a. yıldıray usta bir süredir şehir dışındaydım vermiş olduğun kodu dilim döndüğünce anlatayım;

porta=0  :  portb=0  :  portc=0  :  portd=0trisa=0  :  trisb=0  :  trisc=0  :  trisd=0porte=0  : trise=0harf_reg var byteadres_sec var byteyinele var bytesutun_reg var byte[300]veri var byteyazi_reg var byte i VAR BYTEx var bytez var bytey var bytet var byteq var bytesure var byteyedek var byte
Alıntı

yukarıda ki kısım port-pinlerin durumu ve değişkenlerin isimlendirilmesidir.

CLEAR  :  portd=255:sure=200 :GOTO oku:
Alıntı

[size=78%]portd pinlerini set etmiş, sure değeri olarakta 200 değerini belirtmiş ve goto oku diyerek programa girmiş[/size]

call yazi
Alıntı
[size=78%]call =çağır komutudur (ASM komutudur) yazi adlı alt rutini çağırmış ve o alt rutini işlemiştir. yazi rutininde;[/size]

[/code]yazi:lookup yazi_reg,[40,"ELEKTROTEKNO PAYLASiM MERKEZi          "],harf_reg

return
Kod: [Seç]


lookup tablosu vardır, yani köşeli parantezin içindeki [font=verdana][size=11px]40,"ELEKTROTEKNO PAYLASiM MERKEZi          " ifadesi tabloyu oluşturmaktadır.[/size][/font][/size]
[font=verdana][size=11px]PBP ve protonda ":" işareti alt satıra geçme yerine kullanılır.yani alt satıra geçmeden işlemi devam ettirir, amaç yer kaplamaması içindir[/size][/font][/size]
[font=verdana][size=11px]
yazi_reg=yazi_reg+1
Kod: [Seç]
[size=78%]yazi_reg değerini bu noktaya her geldiğinde 1 değer artırmak içindir. yani sayaç amaçlıdır.[/size][/font]
[size=78%]z değerinide harf_reg değeri olarak yüklemiştir.[/size]
[/size]
[font=verdana][size=11px]
for i=1 to z        call yazi  : yazi_reg=yazi_reg+1  : call data_sec        for y=0 to yinele            call datalar            sutun_reg[t]=veri  :  t=t+1            adres_sec=adres_sec+1        next y
    next i
Kod: [Seç]

[size=78%]bu kısım for döngüsüdür, burada iç içe 2 adet döngü vardır. 1. döngü i, 2. döngü y kadardır. 1 döngünün bitimini z, 2. döngünün bitimini ise yenile değeri belirtmektedir. [/size][/font]
[size=78%]buraya kadar olan kısım inş. işine yarar[/size]
« Son Düzenleme: 27 Mayıs 2013, 22:21:31 Gönderen: pro-TR »
Güzeli güzel yapan EDEBTİR,
Edeb güzeli sevmeye SEBEBTİR...

"Rufailer giyer pembe kırmızı
Tacının üstünde nurdan yıldızı
Evlatları tutar şişi ateşi, közü
Bülbül güle hayran ben de şeyhime"

Çevrimdışı YILDIRAY

  • Yüzbaşı
  • ***
  • İleti: 834
Ynt: picbasic pro
« Yanıtla #3 : 29 Mayıs 2013, 21:14:47 »
s.a yaşa varol pro-tr hocam

Çevrimdışı syo

  • Teğmen
  • *
  • İleti: 53
  • Cinsiyet: Bay
Ynt: picbasic pro
« Yanıtla #4 : 11 Haziran 2013, 15:22:36 »
Şu pic programlama ya başlayayım dedim ne fırsat oldu nede zaman.geçti bizden artık.
BİR NAMAZLIK SALTANATIN OLACAK TAHT MİSALİ O MUSALLA TAŞINDA

Çevrimdışı has_artvin_li

  • Er
  • İleti: 6
  • www.teknolojiekibi.com
Ynt: picbasic pro
« Yanıtla #5 : 24 Aralık 2013, 17:33:31 »
Değerli ustalarım her yiğidin bir yoğurt yiyiş tarzı vardır ben de yiğidin yoğurt yeme tarzına karışamam elbetta ama fikir olarak iyi olduğunu düşündüğüm şeyleri söylemekten depaylaşmaktan da mutluluk duyarım bu sebepledir ki siz değerli ustalarıma pic basic pro yerine proton basic programını tavsiye ediyorum...


Neden diyecek olursanız işlev olarak pic basicden çok daha fazla anlaşılır ve esnek bir dil ayrıca komutları da nerdeyse bire bir pic basic uyumlu ama işlev olarak pic basicde zorlanacağımız şeyler proton ile çok basit hale getirilebiliyor.


Örneğin lcd ekrana yazı yazdırmak için komut yapısı çok güzel
Print at 1,1," isi degeri : ",#deger


print at 2,1,"ham deger : ",#ham


gibi komutları daha anlaşılır kılıyor lcd ekranda adres bilmenize gerek kalmıyor 1,1 diyerek 1. satırın 1. sutunundan başla şeklinde


Eğer ilgilenen arkadaşlarımız olursa şu anda kullandığım versiyonun setup'unu siz değerli ustalarım ile paylaşabilirim....


Çevrimdışı UNIQUE - TA5IFD

  • Global Moderator
  • Binbaşı
  • *****
  • İleti: 1345
  • Cinsiyet: Bay
  • TA5IFD
    • www.teknolojiekibi.com
Ynt: picbasic pro
« Yanıtla #6 : 29 Aralık 2013, 09:57:28 »
ccs c en esnek dil bence. Pic basic ten ccs c ye geçince ccs c siz pic boş geldi şahsen. ama işinizi sorunsuz görüyorsa tüm diler aynı. fanteziye gerek yok. Bildiğiniz dilde yapın gitsin. Yeni dil öğrenene kadar 5 proje yaparsınız bildiğiniz dille.
Kasmayın. Bildiğiniz dil en iyi dil , İşinizi yapıyorsa sorun yoktur.
TA5IFD