kayan yazı karakter problemi

Başlatan Cetinal, 19 Ocak 2007, 16:56:55

Cetinal

s.a arkadaşlar
arkadaşlar bu siteden indirdiğim bi kayan yazı da
kendi istediğim karakterler yok mesela küçük harfler ,ve lazım olacak diğer işaretler yok örneğin alttire "_" "-" birde sayılar da yok ama bunlar bana lazım  pic basic ile yazılmış olduğu için etki yapamadım
link aşağıda bana yardımcı olun veya elinde istediğim gibi tüm karakterlerin olduğu bi şema da verebilirsiniz
teşekkür ederim
programı bu işte dediğim gibi bana karakterler değerlerini nasıl oluşturup
programa nasıl ekleyeceğim hakkında detaylı bilgi verin yada elinizde hazır tüm karakterlerin olduğubi şema ve program veriniz
teşekkürler
iyi çalışmalar

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2006 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 24.07.2006                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT, WDT_OFF  
'kristal harici bağlanacak
cmcon=7   
DATAPIN1 VAR PORTA.0          
CLOCKPIN1 VAR PORTA.1 
LATCH   VAR PORTA.2 
TRISA=%000000 
TRISB=%00000000
kc var byte 
kb var byte
k1 var byte 
ks var byte           'kaydırma sayısı (sütun sayısı kadar kaydırmak için)
gsatir11 var byte
gsatir12 var byte
gsatir13 var byte
gsatir14 var byte
gsatir21 var byte
gsatir22 var byte
gsatir23 var byte
gsatir24 var byte
gsatir31 var byte
gsatir32 var byte
gsatir33 var byte
gsatir34 var byte
gsatir41 var byte
gsatir42 var byte
gsatir43 var byte
gsatir44 var byte
gsatir51 var byte
gsatir52 var byte
gsatir53 var byte
gsatir54 var byte
gsatir61 var byte
gsatir62 var byte
gsatir63 var byte
gsatir64 var byte
gsatir71 var byte
gsatir72 var byte
gsatir73 var byte
gsatir74 var byte
gsatir81 var byte
gsatir82 var byte
gsatir83 var byte
gsatir84 var byte
satir1 var byte
satir2 var byte
satir3 var byte
satir4 var byte
satir5 var byte
satir6 var byte
satir7 var byte
satir8 var byte
alinan var byte
clear
portb=%11111111      'portb dotmatrisin katotlarına bağlı old. için

start:
kc=0
for kc=0 to 12
lookup kc,["ABCDEFGHIJKLMNOPRSTUVYZ"], alinan
gosub karakter
for kb=0 to ks    'harf genişliği kadar kaydır
for k1=0 to 20    'tarama sayısı
gosub tarama
next k1 
gosub kaydir  
pause 5         'bir harfin kayma süresi
next kb
next kc
goto start

karakter:
if alinan=32 then gosub bosluk
if alinan=65 then gosub A
if alinan=66 then gosub B
if alinan=67 then gosub C
if alinan=68 then gosub D
if alinan=69 then gosub E
if alinan=70 then gosub F
if alinan=71 then gosub G
if alinan=72 then gosub H
if alinan=73 then gosub I
if alinan=74 then gosub J
if alinan=75 then gosub K
if alinan=76 then gosub L
if alinan=77 then gosub M
if alinan=78 then gosub N
if alinan=79 then gosub O
if alinan=80 then gosub P
if alinan=82 then gosub R
if alinan=83 then gosub S
if alinan=84 then gosub T
if alinan=85 then gosub U
if alinan=86 then gosub V
if alinan=89 then gosub Y
if alinan=90 then gosub Z

return


kaydir:

gsatir14=gsatir14<<1
gsatir14.0=gsatir13.7
gsatir13=gsatir13<<1
gsatir13.0=gsatir12.7
gsatir12=gsatir12<<1
gsatir12.0=gsatir11.7
gsatir11=gsatir11<<1

gsatir24=gsatir24<<1
gsatir24.0=gsatir23.7
gsatir23=gsatir23<<1
gsatir23.0=gsatir22.7
gsatir22=gsatir22<<1
gsatir22.0=gsatir21.7
gsatir21=gsatir21<<1

gsatir34=gsatir34<<1
gsatir34.0=gsatir33.7
gsatir33=gsatir33<<1
gsatir33.0=gsatir32.7
gsatir32=gsatir32<<1
gsatir32.0=gsatir31.7 
gsatir31=gsatir31<<1

gsatir44=gsatir44<<1
gsatir44.0=gsatir43.7
gsatir43=gsatir43<<1
gsatir43.0=gsatir42.7
gsatir42=gsatir42<<1
gsatir42.0=gsatir41.7
gsatir41=gsatir41<<1

gsatir54=gsatir54<<1
gsatir54.0=gsatir53.7
gsatir53=gsatir53<<1
gsatir53.0=gsatir52.7
gsatir52=gsatir52<<1
gsatir52.0=gsatir51.7
gsatir51=gsatir51<<1

gsatir64=gsatir64<<1
gsatir64.0=gsatir63.7
gsatir63=gsatir63<<1
gsatir63.0=gsatir62.7
gsatir62=gsatir62<<1
gsatir62.0=gsatir61.7 
gsatir61=gsatir61<<1

gsatir74=gsatir74<<1
gsatir74.0=gsatir73.7
gsatir73=gsatir73<<1
gsatir73.0=gsatir72.7
gsatir72=gsatir72<<1
gsatir72.0=gsatir71.7 
gsatir71=gsatir71<<1

gsatir84=gsatir84<<1
gsatir84.0=gsatir83.7
gsatir83=gsatir83<<1
gsatir83.0=gsatir82.7
gsatir82=gsatir82<<1
gsatir82.0=gsatir81.7
gsatir81=gsatir81<<1 

gsatir11.0 = satir1.7 
gsatir21.0 = satir2.7
gsatir31.0 = satir3.7
gsatir41.0 = satir4.7
gsatir51.0 = satir5.7
gsatir61.0 = satir6.7
gsatir71.0 = satir7.7    
gsatir81.0 = satir8.7 

satir1=satir1<<1
satir2=satir2<<1
satir3=satir3<<1
satir4=satir4<<1
satir5=satir5<<1
satir6=satir6<<1
satir7=satir7<<1 
satir8=satir8<<1 
return


tarama:
 
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir14]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir13]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir12]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir11] 
high latch 
pauseus 10 
low latch 
PORTB=%01111111     '1. satır açıldı
PAUSE 1 
PORTB=%11111111     '1. satır kapandı

ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir24]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir23]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir22]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir21] 
high latch 
pauseus 10 
low latch 
PORTB=%10111111      '2. satır açıldı
PAUSE 1 
PORTB=%11111111      '2. satır kapandı

ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir34]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir33] 
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir32]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir31] 
high latch 
pauseus 10 
low latch 
PORTB=%11011111       '3. satır açıldı
PAUSE 1 
PORTB=%11111111       '3. satır kapandı

ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir44]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir43]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir42]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir41] 
high latch 
pauseus 10 
low latch 
PORTB=%11101111       '4. satır açıldı
PAUSE 1 
PORTB=%11111111       '4. satır kapandı

ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir54]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir53]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir52]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir51] 
high latch 
pauseus 10 
low latch 
PORTB=%11110111       '5. satır açıldı
PAUSE 1 
PORTB=%11111111       '5. satır kapandı

ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir64]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir63]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir62]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir61] 
high latch 
pauseus 10 
low latch 
PORTB=%11111011       '6. satır açıldı
PAUSE 1 
PORTB=%11111111       '6. satır kapandı

ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir74]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir73]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir72]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir71] 
high latch 
pauseus 10 
low latch 
PORTB=%11111101       '7. satır açıldı
PAUSE 1 
PORTB=%11111111       '7. satır kapandı

ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir84]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir83] 
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir82]
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir81] 
high latch 
pauseus 10 
low latch 
PORTB=%11111110       '8. satır açıldı
PAUSE 1 
PORTB=%11111111       '8. satır kapandı

return

bosluk:
ks=3
satir1=%00000000 
satir2=%00000000
satir3=%00000000 
satir4=%00000000 
satir5=%00000000 
satir6=%00000000 
satir7=%00000000 
satir8=%00000000
return

A: 
ks=5
satir1=%01110000 
satir2=%10001000
satir3=%10001000 
satir4=%10001000 
satir5=%11111000 
satir6=%10001000 
satir7=%10001000 
satir8=%10001000 
return

B: 
ks=5
satir1=%11110000 
satir2=%10001000
satir3=%10001000  
satir4=%11110000  
satir5=%10001000 
satir6=%10001000  
satir7=%10001000  
satir8=%11110000   
return

C: 
ks=5
satir1=%01110000 
satir2=%10001000
satir3=%10000000  
satir4=%10000000    
satir5=%10000000    
satir6=%10000000    
satir7=%10001000    
satir8=%01110000   
return

_C: 
ks=5
satir1=%01110000   
satir2=%10001000  
satir3=%10000000   
satir4=%10000000    
satir5=%10000000    
satir6=%10101000    
satir7=%01110000    
satir8=%00100000   
return

D: 
ks=5
satir1=%11110000  
satir2=%10001000 
satir3=%10001000  
satir4=%10001000 
satir5=%10001000  
satir6=%10001000  
satir7=%10001000  
satir8=%11110000  
return

E: 
ks=5
satir1=%11111000   
satir2=%10000000   
satir3=%10000000   
satir4=%11110000   
satir5=%10000000   
satir6=%10000000   
satir7=%10000000   
satir8=%11111000   
return

F: 
ks=5
satir1=%11111000  
satir2=%10000000 
satir3=%10000000  
satir4=%11110000  
satir5=%10000000 
satir6=%10000000  
satir7=%10000000  
satir8=%10000000   
return

G: 
ks=5
satir1=%01110000   
satir2=%10001000  
satir3=%10000000   
satir4=%10000000   
satir5=%10111000   
satir6=%10001000   
satir7=%10001000   
satir8=%01110000   
return

_G: 
ks=5
satir1=%01110000   
satir2=%00000000  
satir3=%01110000   
satir4=%10001000   
satir5=%10000000   
satir6=%10111000   
satir7=%10001000  
satir8=%01110000   
return

H: 
ks=5
satir1=%10001000   
satir2=%10001000 
satir3=%10001000   
satir4=%10001000  
satir5=%11111000   
satir6=%10001000   
satir7=%10001000   
satir8=%10001000  
return

I: 
ks=1
satir1=%10000000    
satir2=%10000000   
satir3=%10000000    
satir4=%10000000    
satir5=%10000000    
satir6=%10000000    
satir7=%10000000    
satir8=%10000000   
return

_I: 
ks=1
satir1=%10000000     
satir2=%00000000    
satir3=%10000000     
satir4=%10000000     
satir5=%10000000     
satir6=%10000000     
satir7=%10000000     
satir8=%10000000   
return

J: 
ks=5
satir1=%00001000      
satir2=%00001000     
satir3=%00001000      
satir4=%00001000      
satir5=%00001000     
satir6=%00001000     
satir7=%10001000     
satir8=%01110000  
return

K: 
ks=6
satir1=%10001000     
satir2=%10010000    
satir3=%10100000     
satir4=%11000000    
satir5=%10100000     
satir6=%10010000      
satir7=%10001000      
satir8=%10000100   
return

L: 
ks=5
satir1=%10000000      
satir2=%10000000     
satir3=%10000000      
satir4=%10000000      
satir5=%10000000     
satir6=%10000000     
satir7=%10000000     
satir8=%11111000   
return

M: 
ks=7
satir1=%10000010       
satir2=%11000110     
satir3=%10101010      
satir4=%10010010      
satir5=%10000010       
satir6=%10000010     
satir7=%10000010     
satir8=%10000010   
return

N: 
ks=6
satir1=%10000100      
satir2=%11000100      
satir3=%10100100       
satir4=%10010100       
satir5=%10001100       
satir6=%10000100        
satir7=%10000100       
satir8=%10000100  
return

O: 
ks=5
satir1=%01110000        
satir2=%10001000       
satir3=%10001000        
satir4=%10001000       
satir5=%10001000        
satir6=%10001000        
satir7=%10001000        
satir8=%01110000   
return

_O: 
ks=5
satir1=%01010000       
satir2=%00000000      
satir3=%01110000       
satir4=%10001000       
satir5=%10001000       
satir6=%10001000       
satir7=%10001000       
satir8=%01110000  
return

P: 
ks=5
satir1=%11110000       
satir2=%10001000      
satir3=%10001000       
satir4=%10001000       
satir5=%11110000       
satir6=%10000000       
satir7=%10000000      
satir8=%10000000  
return

R: 
ks=5
satir1=%11110000       
satir2=%10001000      
satir3=%10001000       
satir4=%10001000       
satir5=%11110000       
satir6=%10100000       
satir7=%10010000       
satir8=%10001000   
return

S: 
ks=5
satir1=%01110000       
satir2=%10001000      
satir3=%10000000       
satir4=%01110000       
satir5=%00001000       
satir6=%00001000       
satir7=%10001000       
satir8=%01110000   
return

_S: 
ks=5
satir1=%01110000           
satir2=%10001000          
satir3=%10000000           
satir4=%01110000           
satir5=%00001000           
satir6=%10101000           
satir7=%01110000           
satir8=%00100000   
return

T: 
ks=5
satir1=%11111000           
satir2=%00100000          
satir3=%00100000           
satir4=%00100000           
satir5=%00100000           
satir6=%00100000           
satir7=%00100000           
satir8=%00100000   
return

U: 
ks=5
satir1=%10001000            
satir2=%10001000           
satir3=%10001000            
satir4=%10001000            
satir5=%10001000            
satir6=%10001000            
satir7=%10001000            
satir8=%01110000   
return

_U: 
ks=5
satir1=%01010000             
satir2=%00000000            
satir3=%10001000                                        
satir4=%10001000             
satir5=%10001000             
satir6=%10001000             
satir7=%10001000             
satir8=%01110000   
return

V: 
ks=5
satir1=%10001000           
satir2=%10001000          
satir3=%10001000           
satir4=%10001000           
satir5=%10001000           
satir6=%10001000           
satir7=%01010000           
satir8=%00100000   
return

Y: 
ks=5
satir1=%10001000           
satir2=%10001000          
satir3=%01010000           
satir4=%00100000          
satir5=%00100000           
satir6=%00100000          
satir7=%00100000          
satir8=%00100000   
return

Z: 
ks=6
satir1=%11111100            
satir2=%00000100           
satir3=%00001000            
satir4=%00010000           
satir5=%00100000           
satir6=%01000000            
satir7=%10000000            
satir8=%11111100  
return

dossyaları var bu link te no rapid

mavi

O:
ks=5
satir1=%01110000        
satir2=%10001000        
satir3=%10001000        
satir4=%10001000        
satir5=%10001000        
satir6=%10001000        
satir7=%10001000        
satir8=%01110000    
return


karakterler 8*8 lik hazırlanmış karakterlerin oluşması için bir ler kullanılıyor satır içerisindeki birlerin yerini değiştirerek isediğin karakteri oluşturabilirsin.


mesela

O:
ks=5
satir1=%00000000        
satir2=%00000000        
satir3=%00000000        
satir4=%00000000        
satir5=%00000000        
satir6=%00000000        
satir7=%00000000      
satir8=%11111111    
return


" _ " alt çizgi işareti gibi

hex hazırlamak istersen  (% işareti binary sayı demektir.)


O:
ks=5
satir1=$00      
satir2=$00        
satir3=$00        
satir4=$00        
satir5=$00        
satir6=$00        
satir7=$00      
satir8=$FF    
return

bu ifadede hex olarak aynısıdır.
Telecommander Monster Of Network

Cetinal

peki karakterleri ekledik programın başka biryerine bi ekleme yapmayacazmı

Cetinal

arkadaşlar pic basic pro dan anlayan yokmu yani sitede
bilgi paylaşımaktan çekinir olmuş herkes

vatandas30

istediğin karakterleri yukarıdaki şekilde oluştur. sonra karakter etiketli kısma:
örnek;

if alinan=65 then gosub A

senin oluşturduğun karakterin ascıı kodu kaç ise

if alinan=(ascii kod) then (karakter)

şeklinde ekle.
kolay gelsin.

Cetinal


arkadaşlar satırları uln ile sürmeye kalktım bu şekil oldu uln terslediği için
programın neresinde değişiklik yaparak giderebiliriz veya programda değişiklik yapmadan neyle bu satırları sürerek çözüm yolu bulabiliriz

birde şu sorun var

bendeki 8x8 dotmatris displaylar 58mm lik ares te ise daha küçükleri var bunların pcb işini nasıl halledeilirim elinde komponenti olan varsa buraya koyabilirmi

Elektron74

@RoMeO123
  Tarama rutinindeki tüm PORTB karşısındaki birleri sıfır, sıfırları bir yap. Daha sonra derlemeni yap dene bakalım. Sorun burda sanırım.
Yarın; yorgun kimselerin değil rahatlarına kıyabilenlerindir.

Cetinal

dotmatrislerin pcb olayını nasıl halledebilirim

Elektron74

@RoMeO123
 Yukardaki problemi giderdin mi? PCB problemin için yardımcı olamayacağım. Ben de bilmiyorum.  :)  Eğer PCB olayını öğrenip, bizle paylaşırsan sevinirim.
Yarın; yorgun kimselerin değil rahatlarına kıyabilenlerindir.

Cetinal

biraz önce denedim tarama döngüsünün altındaki port b nin karşısındaki
binary değerleri değiştirdim ama nafile  bi deişiklik olmadı :?    
similasyonda deil de gerçekte çalışmış bi kayan yazı lazım dı da
8x32 olursa iyi olur çünkü elimde var 4 tane

vatandas30

proteusta uln serisini çalıştırmak için çıkış uçlarını pull-up dirençleri ile vcc ye çekmen gerekiyor. gerçekte böyle  birşey yok tabii. bu arada portb yi de arkadaşın dediği gibi terslemen gerek. devre kesinlikle çalışıyor.

Cetinal

@vatandas yani bu bağlantı gerçekte çalışır diyon sadece portb yi terslediğimizde ama similasyonda senin dediğin gibi yapacağız öylemi
???????

vatandas30

romeo
bu devre bana ait. ilk yaptığım kayan yazı idi.ben bunu deneme amaçlı yapmıştım.  yalnız matrisleri arttırmak istersen programdaki değişkenler falan da artacağından 16f628 yetmiyor. . bir de;

for k1=0 to 20    'tarama sayısı
gosub tarama
next k1

burayı sil ve;

gosub tarama

şeklinde değiştir. pic'e 20 Mhz kristal bağla ve programın başına,

define osc 20

satırını ilave et. dahili kristal 4 Mhz olduğu için kırpışma oluyor. kolay gelsin.

ilker_32

:D sorunu kodların karakter kısmını oynayarak halledersin. büyük bir ihtimal
ascı kodları ile ilgili sorun var.

Cetinal

Alıntı yapılan: "vatandas30"
for k1=0 to 20    'tarama sayısı
gosub tarama
next k1

burayı sil ve;

gosub tarama

şeklinde değiştir. pic'e 20 Mhz kristal bağla ve programın başına,

define osc 20

satırını ilave et. dahili kristal 4 Mhz olduğu için kırpışma oluyor. kolay gelsin.
dostum bu define osc 20 yi neresine eklicez başına ekledim ben microcode derleme yapmadı hata verdi
benim bu devreyi mutlaka çalıştırmam lazım gerçekte uln veya transistör ile satır ve sutunları sürerek yardımcı olurmusunuz lütfen