pic basic pro ile yazılmış programda değişiklik

Katılım
14 Eki 2011
Mesajlar
32
Puanları
1
merhaba arkadaşlar
ben kayan yazı devresi yapmak istiyorum istediğim türde bir devre buldum. yazılımda değişik isim yazılı kendi ismimi ve soyismimi yazmak istiyorum bu değişikliği yapamadım yardım ederseniz sevinirim işte pbp yazılımı ...

i VAR BYTE
i1 VAR BYTE
p1 VAR BYTE
p2 VAR BYTE
'PORTA değişkenleri
pa1 VAR BYTE
pa2 VAR BYTE
pa3 VAR BYTE
pa4 VAR BYTE
pa5 VAR BYTE
pa6 VAR BYTE
pa7 VAR BYTE
pa8 VAR BYTE
pa9 VAR BYTE
pa10 VAR BYTE
pa11 VAR BYTE
pa12 VAR BYTE
pa13 VAR BYTE
pa14 VAR BYTE
pa15 VAR BYTE
pa16 VAR BYTE
pa17 VAR BYTE
pa18 VAR BYTE
pa19 VAR BYTE
pa20 VAR BYTE
pa21 VAR BYTE
pa22 VAR BYTE
pa23 VAR BYTE
pa24 VAR BYTE
pa25 VAR BYTE
pa26 VAR BYTE
pa27 VAR BYTE
pa28 VAR BYTE
pa29 VAR BYTE
pa30 VAR BYTE
pa31 VAR BYTE
pa32 VAR BYTE
'şekil değişkenleri
d1 VAR BYTE
d2 VAR BYTE
d3 VAR BYTE
d4 VAR BYTE
d5 VAR BYTE
d6 VAR BYTE
d7 VAR BYTE
d8 VAR BYTE
d9 VAR BYTE
d10 VAR BYTE
d11 VAR BYTE
d12 VAR BYTE
d13 VAR BYTE
d14 VAR BYTE
d15 VAR BYTE
d16 VAR BYTE
d17 VAR BYTE
d18 VAR BYTE
d19 VAR BYTE
d20 VAR BYTE
d21 VAR BYTE
d22 VAR BYTE
d23 VAR BYTE
d24 VAR BYTE
d25 VAR BYTE
d26 VAR BYTE
d27 VAR BYTE
d28 VAR BYTE
d29 VAR BYTE
d30 VAR BYTE
d31 VAR BYTE
d32 VAR BYTE
'=====port giriş çıkış ayarları=====
TRISA=%00000000 'tüm portlar çıkışa ayarlandı
TRISB=%00000000 'zaten geride boş port kalmadı
PORTB=0 'PORTB başlangıçta 0 olacak
PORTA=1 '74HC154 tarama işleminde lojik 0 çıkışlı tarama yapar
'bu durumda başlangıç için PORTA=1 olmalı
'=====Sayıcıların ayarı=====
i=0 'Bu değer sabit kalsın
i1=8 'kayma hızını belirliyor(İSTEDİĞİNİZ HIZI BELİRLEYEBİLİRSİNİZ)
'=====Bekleme ayarları=====
p1=1 'sütun geçişleri arasındaki bekleme(TİTREMEYİ ÖNLEYECEK DEĞER)
'=====Görüntü oluşturan değişkenler tanımlanıyor=====
'görünmesini istediğiniz şekli oluşturmak için,
'görünen için=1 siyah kalan için=0 olarak değer verin.
'değerlerin anlaşılabilir olması açısından binary
'olarak verilmiştir.
'Teknoloji
d1=%00000001
d2=%00000001
d3=%01111111
d4=%00000001
d5=%00111001
d6=%01010100
d7=%01011000
d8=%00000000
d9=%01111111
d10=%00010000
d11=%00101000
d12=%01000100
d13=%00000000
d14=%01111100
d15=%00000100
d16=%01111000
d17=%00000000
d18=%00111000
d19=%01000100
d20=%00111000
d21=%00000000
d22=%01111111
d23=%00000000
d24=%00111000
d25=%01000100
d26=%00111000
d27=%00000000
d28=%10000000
d29=%01111101
d30=%00000000
d31=%01111101
d32=%00000000
'PORTA tanımlaması
pa1=0
pa2=1
pa3=2
pa4=3
pa5=4
pa6=5
pa7=6
pa8=7
pa9=8
pa10=9
pa11=10
pa12=11
pa13=12
pa14=13
pa15=14
pa16=15
pa17=16
pa18=17
pa19=18
pa20=19
pa21=20
pa22=21
pa23=22
pa24=23
pa25=24
pa26=25
pa27=26
pa28=27
pa29=28
pa30=29
pa31=30
pa32=31
'Değerlerin Portlara gönderilmesi işlemi yapılıyor.
basla:
i=i+1
IF i=i1 Then kaydir
PORTA=pa1
PORTB=d1
Pause p1
PORTA=pa2
PORTB=d2
Pause p1
PORTA=pa3
PORTB=d3
Pause p1
PORTA=pa4
PORTB=d4
Pause p1
PORTA=pa5
PORTB=d5
Pause p1
PORTA=pa6
PORTB=d6
Pause p1
PORTA=pa7
PORTB=d7
Pause p1
PORTA=pa8
PORTB=d8
Pause p1
PORTA=pa9
PORTB=d9
Pause p1
PORTA=pa10
PORTB=d10
Pause p1
PORTA=pa11
PORTB=d11
Pause p1
PORTA=pa12
PORTB=d12
Pause p1
PORTA=pa13
PORTB=d13
Pause p1
PORTA=pa14
PORTB=d14
Pause p1
PORTA=pa15
PORTB=d15
Pause p1
PORTA=pa16
PORTB=d16
Pause p1
PORTA=pa17
PORTB=d17
Pause p1
PORTA=pa18
PORTB=d18
Pause p1
PORTA=pa19
PORTB=d19
Pause p1
PORTA=pa20
PORTB=d20
Pause p1
PORTA=pa21
PORTB=d21
Pause p1
PORTA=pa22
PORTB=d22
Pause p1
PORTA=pa23
PORTB=d23
Pause p1
PORTA=pa24
PORTB=d24
Pause p1
PORTA=pa25
PORTB=d25
Pause p1
PORTA=pa26
PORTB=d26
Pause p1
PORTA=pa27
PORTB=d27
Pause p1
PORTA=pa28
PORTB=d28
Pause p1
PORTA=pa29
PORTB=d29
Pause p1
PORTA=pa30
PORTB=d30
Pause p1
PORTA=pa31
PORTB=d31
Pause p1
PORTA=pa32
PORTB=d32
Pause p1
GoTo basla 'Göstermeye yeniden başla
'=====Kaydırma işlemi yapılıyor=====
kaydir:
PORTA=1
PORTB=0
i=0
'PORTA sıralaması değişimi
pa1=pa1-1
pa2=pa2-1
pa3=pa3-1
pa4=pa4-1
pa5=pa5-1
pa6=pa6-1
pa7=pa7-1
pa8=pa8-1
pa9=pa9-1
pa10=pa10-1
pa11=pa11-1
pa12=pa12-1
pa13=pa13-1
pa14=pa14-1
pa15=pa15-1
pa16=pa16-1
pa17=pa17-1
pa18=pa18-1
pa19=pa19-1
pa20=pa20-1
pa21=pa21-1
pa22=pa22-1
pa23=pa23-1
pa24=pa24-1
pa25=pa25-1
pa26=pa26-1
pa27=pa27-1
pa28=pa28-1
pa29=pa29-1
pa30=pa30-1
pa31=pa31-1
pa32=pa32-1
GoTo basla
 
arkadaşlar aşağıdaki yazılımda değişiklik yapabilirsem daha iyi olacak yazılacak kelime "murat sarı kontrol ve otomasyon teknikeri" yardımlarınızı bekliyorum yazılımla alakalı pek birşey bilmiyorum o yüzden sizden yardım istiyorum şimdiden teşekkürler...


CMCON=7
;___________________________PROGRAMDA KULLANILAN DEĞİŞKEN TANIMLAMALARI________________
;
SUTUN VAR BYTE[71] ;
VERI VAR BYTE ;
KARAKTER VAR BYTE ;
;SAYICI VAR BYTE ;
SIRA_NO VAR BYTE ;
SUTUN_SAYISI VAR BYTE ;
SUTUN_SAYAC VAR BYTE ;
OFSET VAR BYTE ;
LINE VAR BYTE ;
J var byte ;
I var byte
s1 var byte
s2 var byte
s3 var byte
;
DAT VAR PORTA.0 ;
CLK VAR PORTA.1 ;
RESET VAR PORTA.2
A VAR BYTE ;
'"*****************************************************************************************************************************"
;DATA @0,"ETE PICMAN KAYAN YAZI PROGRAMI DENEME YAZISIDIR. TOPLAM KAREKTER ADEDI 127 ADET OLABILIR. MATRIKS SAYISI ARTIRILABILMEKTEDIR",5
DATA @0," KAYAN YAZI ",5
'
;______________________________________________________________________________________;
;______________TIMER INTERRUPT IÇİN OPTION VE INTCON REGISTERLERI KURULUYOR____________
;
; OPTION_REG = $15 ;Option registeri kur ;
; INTCON = $a0 ;TMR0 interrupt aktif ;
; ON INTERRUPT GOTO TMR_INT ;
;______________________________________________________________________________________;
;_________________________PORT AYAR VE DEĞİŞKEN İLK DEĞER ATAMALARI____________________
TRISA=0 ;porta çıkış olarak ayarlanıyor
TRISB=0 ;portb çıkış olarak ayarlanıyor
PORTB=0 ;portb yi sıfırla
PORTA=0 ;porta yı sıfırla
J=0 ;j değişkenini sıfırla
I=0 ;ı değişkenini sıfırla
SUTUN_SAYISI=0 ; sutun sayısı değişkenini sıfırla
SUTUN_SAYAC=0 ;sutun sayac değişkenini sıfırla
MAIN: ;program başlangıcı
GOSUB SUTUN_TEMIZLE ;sutun değişkenlerini temizleme alt programına git
BASLA: ;ana döngü etiketi
GOSUB TARA ;sutun tarama alt programına git
gosub VERI_GOSTER

GOTO BASLA ;tarama işleminin sürekliliği için başla etiketine git
;_______________________SUTUN TEMİZLEME ALT NPROGRAMI___________________________
SUTUN_TEMIZLE:
FOR I = 0 TO 71 ;30 sutun için döngü
SUTUN=0 ;her döngüde i degisken degerine göre bir sutun temizlenir
NEXT I ; döngü başına git
RETURN ;sutun temizleme alt programından çık
;_______________________________________________________________________________
;_________________________SUTUN TARAMA ALT PROGRAMI_____________________________
TARA:

LOW CLK ;data ucu 1
HIGH DAT
high CLK
LOW DAT ;data 0
FOR I = 0 TO 71 ;sutun taraması için döngü

low clk
;i degişkeninin değerine göre ilgili sutunu PORTB ye gönder

low reset
high reset
PORTB=SUTUN
PAUSE 1
HIGH CLK
;tarama için zaman gecikmesi
NEXT I ;döngü başına git
PORTB=0 ;PORTB yi sıfırla
; I=0 ;i degişkenini sıfırla
RETURN ;sutun tarama alt programından çık
;_______________________________________________________________________________
;_______________________________TMR0 INTERRUPT ALT PROGRAMI_____________________
;DISABLE ;bütün kesmeleri geçersiz yap
; TMR_INT:
; SAYICI=SAYICI+1 ;sayıcı değişkenini bir artır
; IF SAYICI <= 31 THEN INT_CIK ;sayıcı 30 mu? değilse ınt_cık etiketine git
; SAYICI=0 ; evet sayıcıyı sıfırla
; GOSUB VERI_GOSTER ;veri göster alt programına git
; INT_CIK: ; sayıcı 30 a eşit değilse program buraya yönlenir
; INTCON.2=0 ;
; RESUME ;timer interrupt alt programından çık
;ENABLE
;return
;_______________________________________________________________________________

VERI_GOSTER:;_________________________________________________________________________________
GOSUB KARAKTER_AL ;TABLODAN KARAKTER AL ;
GOSUB SENTEZ ;SENTEZ ALT PROGRAMINA GIT ;
IF ( SUTUN_SAYAC = SUTUN_SAYISI ) THEN ;sutun sayac , sutun sayısı na eşitmi
GOSUB KAYDIR ; evet , kaydır alt programına git ;
SUTUN[0]=0 ;sutun0 ı sıfırla ; ;
SUTUN_SAYAC=0 ;sutun sayac değişkenini sıfırla ;
LINE=0 ;
J=J+1 ;
ENDIF ;
RETURN;______________________________________________________________________________________;

KARAKTER_AL:;_______________J DEGİSKEN DEGERİNE GÖRE KARAKTER ALINIYOR________________________
' LOOKUP J,[" PICPROJE ",5],KARAKTER
READ J,KARAKTER ;
RETURN;______________________________________________________________________________________;

SENTEZ:;_________________________________ALINAN KARAKTER BİLGİSİ KARŞILAŞTIRILIYOR____________
IF KARAKTER=5 THEN SON_KARAKTER

SELECT CASE KARAKTER
CASE 65: SIRA_NO=4 ;A
CASE 66: SIRA_NO=9 ;B
CASE 67: SIRA_NO=14 ;C
CASE 68: SIRA_NO=19 ;D
CASE 69: SIRA_NO=24 ;E
CASE 70: SIRA_NO=29 ;F
CASE 71: SIRA_NO=34 ;G
CASE 72: SIRA_NO=39 ;H
CASE 73: SIRA_NO=42 ;I
CASE 74: SIRA_NO=47 ;J
CASE 75: SIRA_NO=52 ;K
CASE 76: SIRA_NO=57 ;L
CASE 77: SIRA_NO=62 ;M
CASE 78: SIRA_NO=67 ;N
CASE 79: SIRA_NO=72 ;O
CASE 80: SIRA_NO=77 ;P
CASE 81: SIRA_NO=82 ;Q
CASE 82: SIRA_NO=87 ;R
CASE 83: SIRA_NO=92 ;S
CASE 84: SIRA_NO=97 ;T
CASE 85: SIRA_NO=102 ;U
CASE 86: SIRA_NO=107 ;V
CASE 87: SIRA_NO=112 ;W
CASE 88: SIRA_NO=117 ;X
CASE 89: SIRA_NO=122 ;Y
CASE 90: SIRA_NO=127 ;Z
CASE 32: SIRA_NO=132 ;BOSLUK
CASE 48: SIRA_NO=137 ;0
CASE 49: SIRA_NO=140 ;1
CASE 50: SIRA_NO=145 ;2
CASE 51: SIRA_NO=150 ;3
CASE 52: SIRA_NO=155 ;4
CASE 53: SIRA_NO=160 ;5
CASE 54: SIRA_NO=165 ;6
CASE 55: SIRA_NO=170 ;7
CASE 56: SIRA_NO=175 ;8
CASE 57: SIRA_NO=180 ;9
CASE 46: SIRA_NO=185 ;.
end select
IF ((KARAKTER=49) OR (KARAKTER=73)) THEN
SUTUN_SAYISI=3
ELSE
SUTUN_SAYISI=5
ENDIF
SUTUN_SAYAC=SUTUN_SAYAC+1
GOSUB ORT_ISLM
RETURN
SON_KARAKTER:
VERI=0 : SUTUN_SAYISI=0 : LINE=0 : SUTUN_SAYAC=0 : KARAKTER=0 : SUTUN_SAYISI=0 : J=0
RETURN
;__________________________________SENTEZ ALT PROGRAM SONU_______________________

ORT_ISLM:
OFSET= SIRA_NO-LINE
GOSUB TABLO
GOSUB KAYDIR
LINE=LINE+1

RETURN
KAYDIR:
s1=71
s2=70
for s3= 0 to 71
sutun[s1] = sutun[s2]
s1=s1-1 : s2=s2-1
next
sutun [s1]=veri
RETURN
TABLO:
LOOKUP OFSET,[_
$3F,$48,$48,$48,$3F,_ ;A 0-4
$36,$49,$49,$49,$7F,_ ;B 4-9
$22,$41,$41,$41,$3E,_ ;C 9-14
$3E,$41,$41,$41,$7F,_ ;D 14-19
$41,$49,$49,$49,$7F,_ ;E 19-24
$40,$48,$48,$48,$7F,_ ;F 24-29
$2E,$49,$49,$41,$3E,_ ;G 29-34
$7F,$08,$08,$08,$7F,_ ;H 34-39
$41,$7F,$41,_ ;I 39-42
$40,$7E,$41,$01,$02,_ ;J 42-47
$41,$22,$14,$08,$7F,_ ;K 47-52
$01,$01,$01,$01,$7F,_ ;L 52-57
$7F,$20,$10,$20,$7F,_ ;M 57-62
$7F,$04,$08,$10,$7F,_ ;N 62-67
$3E,$41,$41,$41,$3E,_ ;O 67-72
$30,$48,$48,$48,$7F,_ ;P 72-77
$3D,$42,$45,$41,$3E,_ ;Q 77-82
$31,$4A,$4C,$48,$7F,_ ;R 82-87
$26,$49,$49,$49,$32,_ ;S 87-92
$40,$40,$7F,$40,$40,_ ;T 92-97
$7E,$01,$01,$01,$7E,_ ;U 97-102
$7C,$02,$01,$02,$7C,_ ;V 102-107
$7E,$01,$0E,$01,$7E,_ ;W 107-112
$63,$14,$08,$14,$63,_ ;X 112-117
$70,$08,$07,$08,$70,_ ;Y 117-122
$61,$51,$49,$45,$43,_ ;Z 122-127
$00,$00,$00,$00,$00,_ ;bosluk 127-132
$3E,$51,$49,$45,$3E,_ ;0 132-137
$01,$7F,$21,_ ;1 137-140
$31,$49,$45,$43,$21,_ ;2 140-145
$46,$69,$51,$41,$42,_ ;3 145-150
$04,$7F,$24,$14,$0C,_ ;4 150-155
$4E,$51,$51,$51,$72,_ ;5 155-160
$06,$49,$49,$29,$1E,_ ;6 160-165
$60,$50,$48,$47,$40,_ ;7 165-170
$36,$49,$49,$49,$36,_ ;8 170-175
$3C,$4A,$49,$49,$30,_ ;9 175-180
$00,$00,$00,$00,$01],VERI
RETURN

END
 

Yeni mesajlar

Forum istatistikleri

Konular
128,190
Mesajlar
915,721
Kullanıcılar
449,958
Son üye
maxicten

Yeni konular

Geri
Üst