.::.kayan yazı yardımı.::.

Başlatan conavar, 23 Mayıs 2006, 19:19:53

conavar

arkadaşlar forumda çok güzel uygulamalar mevcut fakat bana resimde gösterdeğim gibi çok kücük bir uygulama lazım....
ben biraz dusundum ama tam anlamıyla mantıgı bilemediğim için öle kaldım...ve bunu en kısa zamandan yapmam lazım :D
hobi amacıyla yapıyorum bir yere gideceğim 9 gün içinde bana lazım olacak :D
şimdi arkadaşlar bana yardım edebilir misiniz.....boyle bir çalışma yapabilir miyim...nasıl sürerem...hangi pic kullanmalıyım....
hertürlü fikirlere acıgım...



.::BiLgi Paylaştıkça Çoğalır::.[/url]

e3

Alıntı Yapşimdi arkadaşlar bana yardım edebilir misiniz.....boyle bir çalışma yapabilir miyim...nasıl sürerem...hangi pic kullanmalıyım....
hertürlü fikirlere acıgım...
Böyle basit bi devre için Pic16F84 işini görür. :D

Alıntı Yap1 satır ve 7 sütün olması lazım....

1 satır derken galiba bi harfi kastettin?Yoksa sadece 1 satırla ledler boşboş yanıp sönerler. :lol: o zaman sana 5*7 lik bir devre lazım.Forumda olacaktı biraz bakayım. 8) Bulursam buraya yazarım.Kolay gele. ;)
.eem.

conavar

he ya öle aynen....
1 harf için bir satır dedim...defter mantıgı :D
bana 5x7 den daha küçük lazım..yapabilir miyiz onu soruyom işte...ama soramamışım demek ki :P
.::BiLgi Paylaştıkça Çoğalır::.[/url]

Veli B.

Düşürebileceğim min değer 5*5 olacaktır ki bu halde bile okumak çok ta kolay olmayacaktır.Genel yapı 5*7 olarak oturmuştur.Bunu görmenin en kolay yolu bir kağıt üzerinde kendi piksellerini oluşturup,incelemen olacaktır.Sürme kısmın için (yazılımına bağlı olmakla birlikte) genelde kullanılan yöntemler;
- komple tarama(satır sutun)
-Satır tarama
-Sutun tarama
-Shift register ile kaskat yapıda sürmedir.
Kullanım alanlarına ve yerlerine göre herbirinin avantaj/dezavantajları vardır.

conavar

ya su şekilde olacak

mesala benim adım akacak bu yönde <--OMER GOKBAN
sonra duracak...silecek puff gitti
:D:D
sonra ayni yönde <--ASDAAS ASDAS gibi birşey yanacak...
sonra bir isim daha gelcek ve bir kelime gelip yanıp sonecek 2 kere
sonra başa donecek...
aslında düşünüyorum sanki kolay gibi geliyo ama.....

bu arada en az 11 karakteri görmem lazım...biri gelince diğeri silinmeyecek..resimde ki gibi mesela. tam isim görünmeden silinme olamamalı

acaba cok mu kasıyorum...aslında tek amacım portatif olması...yani her yere gitsin benle :D
.::BiLgi Paylaştıkça Çoğalır::.[/url]

conavar

bu devreye ekleme yapabilir miyim?
nasıl yaparım :D bana 5 tane harfi göstermesi lazım...
derdimi anlatabiliyormuyum bilemiyorum ama :D inş. anlatabiliyorumdur...


http://img223.imageshack.us/my.php?image=pic050416dl.gif
.::BiLgi Paylaştıkça Çoğalır::.[/url]

XX_CİHAN_XX

@conavar dikeyde 74hc595 yada daha basıte ındırgemek gerekırse 74164 turunden bır entegre kullanmanı tavsıye ederım.Onun dısında transıstorlerıde emiter cıkıslı degıl kollektor cıkıslı olarak kullanmanı tavsıye ederım.Donanımı bu sekılde ayarlarsan sıstem daha saglıklı calısacaktır. Bu durumda yazılım olarakda yardımcı olabılırım.Başarılar...
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

ahmet2004

PIC 16F628  ile yapılmış bir örnek var burda.








allogaritma ve kodlar var.


http://www.josepino.com/pic_projects/index.pl?matrix_display.jpc

conavar

@ ahmet2004
hocam allah razı olsun :D çok güzeL bu işimi rahat görür gibi duruyor ama istediğim şeyleri nasıL yazdıracam  :roll:

kodları acık kaynak ama ben bu dili bilmiyorum  :oops:
yalniz cok hışuma gitti wallahi...
.::BiLgi Paylaştıkça Çoğalır::.[/url]

conavar

arkadaşlar bu ne dili :D
sağolsun protection bana yardımcı oldu devreyi isiste çizdi ama sanırım hex kodlarında problem var...bunu nasıL derlerim?
ve yazmak isteğim harfleri acaba hangi satırlardan müdahale edebilirim?
çok şey istiyorum biliyorum ama..... :oops:

; name         : JP6284     
; Original Name: MTRX628  Oct 03, 2004
; Jose Pino

;  Special Chars:  01 = 4 seconds pause/pausa
;                  0A = End of message

; Microcontroller PIC 16f628 4 Mhz

disable comparators

; Improved:  Oct 9, 2004

; Initialize Display Memory / Inicializa la memoria del Display
; There variables are the RAM MEMORY for the display

variable type byte c0  at 0x40 = 1111_1110  
variable type byte c1  at 0x41 = 1110_1001
variable type byte c2  at 0x42 = 1111_1111
variable type byte c3  at 0x43 = 1111_0000
variable type byte c4  at 0x44 = 1111_0000
variable type byte c5  at 0x45 = 1111_1111
variable type byte c6  at 0x46 = 1111_1010
variable type byte c7  at 0x47 = 1111_0101
variable type byte c8  at 0x48 = 1111_1111
variable type byte c9  at 0x49 = 1111_0001
variable type byte c10 at 0x4A = 1111_0010
variable type byte c11 at 0x4B = 1111_1111
variable type byte c12 at 0x4C = 1111_1111
variable type byte c13 at 0x4D = 1111_0000
variable type byte c14 at 0x4E = 1111_0011
variable type byte c15 at 0x4F = 1111_1111
variable type byte c16 at 0x50 = 1111_0100
variable type byte c17 at 0x51 = 1111_1111
variable type byte c18 at 0x52 = 1111_0000
variable type byte c19 at 0x53 = 1111_0111
variable type byte c20 at 0x54 = 1111_1000
variable type byte c21 at 0x55 = 1111_1111
variable type byte c22 at 0x56 = 1111_0000
variable type byte c23 at 0x57 = 1111_0000
variable type byte c24 at 0x58 = 1111_1111
variable type byte c25 at 0x59 = 1111_1111
variable type byte c26 at 0x5A = 1111_1111
variable type byte c27 at 0x5B = 1111_1111
variable type byte c28 at 0x5C = 1111_1111
variable type byte c29 at 0x5D = 1111_1111
variable type byte c30 at 0x5E = 1111_1111


variable type byte direccion = 0      ; Pointer (Index) of message on EEPROM
variable type byte caracter  = 0      ; character
variable type byte ancho     = 0      ; how many bits wide is the character
variable type byte indice    = 0      ; Data Index
variable type byte t_columnas  = 31   ; Controls how many columns on memory display
variable type byte columna   = 1
variable type byte columnas  = 24     ; Controls how many COLUMNS on display
variable type byte ultima_c  = 0x40 + columnas
variable type byte t_display = 0      ; Controls speed of display
variable type byte pausa     = 0      ; Controls Pause

variable type bit tdisp0 at t_display : 0   
variable type bit tdisp1 at t_display : 1
variable type bit tdisp2 at t_display : 2

variable type bit car0 at caracter : 0
variable type bit car1 at caracter : 1
variable type bit car2 at caracter : 2
variable type bit car3 at caracter : 3
variable type bit car4 at caracter : 4
variable type bit car5 at caracter : 5
variable type bit car6 at caracter : 6
variable type bit car7 at caracter : 7

Port B = all output
Port A = all output

delay 1sec

; testing display code

pin a6 = on           ; Enable DATA signal / Activa el bit de Datos
for 25 loop           ; Turn Off all Leds
   pin a7 = on        ; Send CLOCK signal / Envia un pulso al Reloj SHIFT REGISTER
   delay 10msec
   pin a7 = off
   delay 10msec
end loop

pin a6 = on
   for 3 loop
      for 255 loop        ; Delay del scroll , > = Lento
         indice = 0x40    ; Direccion donde comienza memoria display
         pin a6 = on      ; Activa la columna a desplazar

; This code controls the display (scroll, columns, character display


         while indice < ultima_c loop  ; Hace el barrido del display (cambiar al
            FSR = indice         ; Ancho del display)
            caracter = INDF      ; FSR & INDF are MICROCONTROLLER REGISTERS !
            Port B = all input
            pin a7 = off
            pin a7 = on          ; Scroll Display / desplaza la col.
            pin a6 = off
            port b = caracter    ; Display Character row / Despliega valor de la columna
            Port B = all output
            indice = indice + 1  ; Next Column / siguiente columna
            delay 500usecs
         end loop
      end loop                   ; End of the Scroll / termina loop del Scroll
   end loop

; fin de test / End of Test code

indice = 0x40                    ; Indicates the Memory Display address
                                 ; Direccion de la memoria del Display

for 26 loop                      ; limpia el display
   FSR = indice                  ; Clears display
   INDF = 255
   indice = indice + 1
end loop

; MAIN LOOP HERE !
; PROGRAMA PRINCIPAL AQUI !


forever loop       
   if direccion = 128 then      ; Se acabo el mensaje? despliega espacios
      direccion = 0             ; Pendiente a reiniciar desde el principio
   end if                       ; No more data on eeprom? Start over
   eeprom get character from (direccion) ; lee dato / read the character from the EEPOM

   if caracter = 10 then        ; Si caracter = 10 , inicia de nuevo
      caracter = " "            ; If character = 10, start over
      direccion = 255
   end if
   ancho = 4                    ; define el ancho de la letra si es diferente
                                ; Startdard character is 4 bits wide

if caracter = 1 then            ; Si caracter = 1, Una pausa de 4 secs
      pausa = 50                ; If Character = 1, pause the display


; THIS AREA IS DEFINED LIKE "ROM", Defines the characteres
; Esta area del programa es como la memoria ROM que contiene los caracteres


else if caracter < 33 then      ; Espacio /Space
   ancho = 3

else if caracter < 64 then
   if caracter = "!" then       ; Decodifica el caracter.
      c24  = 1000_0010          ; Decode characters from EEPROM
      c25  = 1111_1111
      ancho = 2                 ; solo define ancho si <> a 4
   else if caracter = 34 then   ; If wide not defined, wide = 4 bits
      c24  = 0100_0111
      c25  = 0001_1111
      c26  = 0100_0111
      c27  = 1111_1111
   else if caracter = "#" then
      c24  = 0101_0101
      c25  = 0000_0000
      c26 = 0101_0101
      c27 = 0000_0000
      c28 = 0101_0101
      c29 = 1111_1111
      ancho = 6
   else if caracter = "$" then
      c24 = 0101_1010
      c25 = 0000_0000
      c26 = 0101_0101
      c27 = 1111_1111
   else if caracter = "%" then
      c24 = 0100_1101
      c25 = 0011_1011
      c26 = 0101_0110
      c27 = 1111_1111
   else if caracter = "&" then
      c24 = 0101_0101
      c25 = 0110_1010
      c26 = 0111_0100
      c27 = 1111_1111
   else if caracter = "'" then
      c24 = 0100_0111
      c25 = 1111_1111
      ancho = 2
   else if caracter = "(" then
      c24 = 0111_0001
      c25 = 0100_1110
      c26 = 1111_1111
      ancho = 3
   else if caracter = ")" then
      c24 = 0100_1110
      c25 = 0111_0001
      c26 = 1111_1111
      ancho = 3
   else if caracter = "*" then
      c24 = 0101_0101
      c25 = 0110_0011
      c26 = 0101_0101
      c27 = 1111_1111
   else if caracter = "+" then
      c24 = 0001_1011
      c25 = 0001_0001
      c26 = 0001_1011
      c27 = 1111_1111
   else if caracter = "," then
      c24 = 0011_1110
      c25 = 0011_1101
      c26 = 1111_1111
      ancho = 3
   else if caracter = "-" then
      c24 = 0001_1011
      c25 = 0001_1011
      c26 = 0001_1011
      c27 = 1111_1111
   else if caracter = "." then
      c24 = 0001_1100
      c25 = 1111_1111
      ancho = 2
   else if caracter = "/" then
      c24 = 0011_1101
      c25 = 0011_1011
      c26 = 0011_0111
      c27 = 1111_1111
   else if caracter = "0" then
      c24 = 1111_0001
      c25 = 1110_1110
      c26 = 1111_0001
      c27 = 1111_1111
   else if caracter = "1" then
      c24 = 0000_0000
      c25 = 1111_1111
      ancho = 2
   else if caracter = "2" then
      c24 = 1110_1100
      c25 = 1110_1010
      c26 = 1111_0110
      c27 = 1111_1111
   else if caracter = "3" then
      c24 = 0110_1010
      c25 = 0110_1010
      c26 = 1011_0101
      c27 = 1111_1111
   else if caracter = "4" then
      c24 = 0110_0011
      c25 = 0011_1011
      c26 = 1011_0000
      c27 = 1111_1111
   else if caracter = "5" then
      c24  = 1110_0010
      c25  = 1110_1010
      c26  = 1110_1101
      c27  = 1111_1111
   else if caracter = "6" then
      c24  = 1111_0001
      c25  = 1110_1010
      c26  = 1110_1101
      c27  = 1111_1111
   else if caracter = "7" then
      c24  = 0010_1100
      c25  = 0010_1011
      c26  = 1010_0111
      c27  = 1111_1111
   else if caracter = "8" then
      c24  = 1111_0101 
      c25  = 1110_1010
      c26  = 1111_0101
      c27  = 1111_1111
   else if caracter = "9" then
      c24  = 1111_0110
      c25  = 1110_1010
      c26  = 1111_0001
      c27  = 1111_1111
   else if caracter = ":" then
      c24  = 0101_0101
      c25  = 1111_1111
      ancho = 2
   else if caracter = ";" then
      c24  = 0011_1110
      c25  = 0101_0101
      c26 = 1111_1111
      ancho = 3
   else if caracter = "<" then
      c24  = 0101_1011
      c25  = 0101_0101
      c26  = 0010_1110
      c27  = 1111_1111
   else if caracter = "=" then
      c24  = 0101_0101
      c25  = 0101_0101
      c26  = 0101_0101
      c27  = 1111_1111
   else if caracter = ">" then
      c24  = 0010_1110
      c25  = 0101_0101
      c26  = 0101_1011
      c27  = 1111_1111
   else if caracter = "?" then
      c24  = 0100_1111
      c25  = 0110_1010
      c26 = 0010_0111
      c27 = 1111_1111
   end if
else if caracter < 96 then
   if caracter = "@" then
      c24 = 0111_0001
      c25 = 0100_1110
      c26 = 1000_0010
      c27 = 0111_0010
      c28 = 1111_1111
      ancho = 5
   else if caracter = "A" then
      c24 = 1111_0000
      c25 = 1110_1011
      c26 = 1111_0000
      c27 = 1111_1111
   else if caracter = "B" then
      c24 = 0000_0000
      c25 = 1110_1010
      c26 = 1111_0101
      c27 = 1111_1111
   else if caracter = "C" then
      c24 = 1111_0001
      c25 = 1110_1110
      c26 = 1110_1110
      c27 = 1111_1111
   else if caracter = "D" then
      c24 = 0000_0000
      c25 = 1110_1110
      c26 = 1111_0001
      c27 = 1111_1111
   else if caracter = "E" then
      c24  = 0000_0000
      c25  = 1110_1010
      c26 = 1110_1110
      c27 = 1111_1111
   else if caracter = "F" then
      c24  = 0000_0000
      c25  = 1110_1011
      c26 = 1110_1011
      c27 = 1111_1111
   else if caracter = "G" then
      c24 = 1111_0001
      c25 = 1110_1110
      c26 = 1110_1000
      c27 = 1111_1111
   else if caracter = "H" then
      c24 = 0000_0000
      c25 = 1111_1011
      c26 = 0000_0000
      c27 = 1111_1111
   else if caracter = "I" then
      c24  = 0000_0000
      c25  = 1111_1111
      ancho = 2
   else if caracter = "J" then
      c24  = 1111_1110
      c25  = 1111_1110
      c26  = 1110_0001
      c27  = 1111_1111
   else if caracter = "K" then
      c24  = 0000_0000
      c25  = 1111_1011
      c26 = 1110_0100
      c27 = 1111_1111
   else if caracter = "L" then
      c24  = 0000_0000
      c25  = 1111_1110
      c26 = 1111_1110
      c27 = 1111_1111
   else if caracter = "M" then
      c24  = 0000_0000
      c25  = 1111_0111
      c26 = 1111_1011
      c27 = 1111_0111
      c28 = 0000_0000
      c29 = 1111_1111
      ancho = 6
   else if caracter = "N" then
      c24 = 0000_0000
      c25 = 1111_0111
      c26 = 1111_1011
      c27 = 0000_0000
      c28 = 1111_1111
      ancho = 5
   else if caracter = "O" then
      c24 = 1111_0001
      c25 = 1110_1110
      c26 = 1111_0001
      c27 = 1111_1111
   else if caracter = "P" then
      c24 = 0000_0000
      c25 = 1110_1011
      c26 = 1111_0111
      c27 = 1111_1111
   else if caracter = "Q" then
      c24 = 1111_0001
      c25 = 1110_1100
      c26 = 1111_0000
      c27 = 1111_1111
   else if caracter = "R" then
      c24 = 0000_0000
      c25 = 1110_1011
      c26 = 1111_0100
      c27 = 1111_1111
   else if caracter = "S" then
      c24 = 1111_0110
      c25 = 1110_1010
      c26 = 1110_1101
      c27 = 1111_1111
   else if caracter = "T" then
      c24 = 1110_1111
      c25 = 0000_0000
      c26 = 1110_1111
      c27 = 1111_1111
   else if caracter = "U" then
      c24 = 1110_0001
      c25 = 1111_1110
      c26 = 1111_1110
      c27 = 1110_0001
      c28 = 1111_1111
      ancho = 5
   else if caracter = "V" then
      c24 = 1110_0011
      c25 = 1111_1101
      c26 = 1111_1110
      c27 = 1111_1101
      c28 = 1110_0011
      c29 = 1111_1111
      ancho = 6
   else if caracter = "W" then
      c24 = 1110_0001
      c25 = 1111_1110
      c26 = 1111_1001
      c27 = 1111_1110
      c28 = 1110_0001
      c29 = 1111_1111
      ancho = 6
   else if caracter = "X" then
      c24 = 1110_0100
      c25 = 1111_1011
      c26 = 1110_0100
      c27 = 1111_1111
   else if caracter = "Y" then
      c24 = 1110_0111
      c25 = 1111_1000
      c26 = 1110_0111
      c27 = 1111_1111
   else if caracter = "Z" then
      c24 = 1110_1100
      c25 = 1110_1010
      c26 = 1110_0110
      c27 = 1111_1111
   else if caracter = "[" then
      c25 = 1110_1110 
      c24 = 0000_0000
      c26 = 1111_1111
      ancho = 3         
   else if caracter = "]" then
      c25 = 0000_0000
      c24 = 1110_1110
      c26 = 1111_1111
      ancho = 3         
   else if caracter = "\" then
      c26 = 1111_1101
      c25 = 1111_1011
      c24 = 1111_0111
      c27 = 1111_1111
   else if caracter = "^" then
      c26 = 1111_0111
      c25 = 1110_1111
      c24 = 1111_0111
      c27 = 1111_1111
   else if caracter = "_" then
      c24 = 1111_1110
      c25 = 1111_1110
      c26 = 1111_1110
      ancho = 3 
   end if
else if caracter < 128 then
   if caracter = "`" then
      c25 = 1111_0111
      c24 = 1110_1111
      c26 = 1111_1111
      ancho = 3 
   else if caracter = "a" then
      c26 = 1111_1000
      c25 = 1111_0010
      c24 = 1111_0101
      c27 = 1111_1111
   else if caracter = "b" then
      c26 = 1111_1001
      c25 = 1111_0110
      c24 = 1110_0001
      c27 = 1111_1111
   else if caracter = "c" then
      c26 = 1111_0110
      c25 = 1111_0110 
      c24 = 1111_1001
      c27 = 1111_1111
   else if caracter = "d" then
      c26 = 1110_0001
      c25 = 1111_0110
      c24 = 1111_1001
      c27 = 1111_1111
   else if caracter = "e" then
      c26 = 1111_1010
      c25 = 1111_0100
      c24 = 1111_1001
      c27 = 1111_1111
   else if caracter = "f" then
      c26 = 1110_1011
      c25 = 1111_0000
      c24 = 1111_1011
      c27 = 1111_1111
   else if caracter = "g" then
      c26 = 1111_0001
      c25 = 1111_0010
      c24 = 1111_1010
      c27 = 1111_1111
   else if caracter = "h" then
      c26 = 1111_1000
      c25 = 1111_0111
      c24 = 0000_0000
      c27 = 1111_1111
   else if caracter = "i" then
      c24 = 1110_1000
      c25 = 1111_1111
      ancho = 2 
   else if caracter = "j" then
      c26 = 1110_1001
      c25 = 1111_1110
      c24 = 1111_1101
      c27 = 1111_1111
   else if caracter = "k" then
      c26 = 1111_0110
      c25 = 1111_1001
      c24 = 1111_0000
      c27 = 1111_1111
   else if caracter = "l" then
      c26 = 1111_1110
      c25 = 0000_0000
      c24 = 1110_1110
      c27 = 1111_1111
   else if caracter = "m" then
      c28 = 1111_1000
      c25 = 1111_0111
      c26 = 1111_1000
      c27 = 1111_0111
      c24 = 1111_1000
      c29 = 1111_1111
      ancho = 6
   else if caracter = "n" then
      c26 = 1111_1000
      c25 = 1111_0111
      c24 = 1111_1000
      c27 = 1111_1111
   else if caracter = "o" then
      c24 = 1111_1001
      c25 = 1111_0110
      c26 = 1111_1001
      c27 = 1111_1111
   else if caracter = "p" then
      c26 = 1111_1011
      c25 = 1111_0101
      c24 = 1111_1000
      c27 = 1111_1111
   else if caracter = "q" then
      c26 = 1111_1000
      c25 = 1111_0101
      c24 = 1111_1011
      c27 = 1111_1111
   else if caracter = "r" then
      c26 = 1111_0111
      c25 = 1111_0111
      c24 = 1111_1000
      c27 = 1111_1111
   else if caracter = "s" then
      c26 = 1111_0101
      c25 = 1111_0000
      c24 = 1111_1010
      c27 = 1111_1111
   else if caracter = "t" then
      c26 = 1111_0110
      c25 = 1110_0001
      c24 = 1111_0111
      c27 = 1111_1111
   else if caracter = "u" then
      c26 = 1111_0001
      c25 = 1111_1110
      c24 = 1111_0001
      c27 = 1111_1111
   else if caracter = "v" then
      c24 = 1111_0001
      c25 = 1111_1100
      c26 = 1111_0001
      c27 = 1111_1111
   else if caracter = "w" then
      c24 = 1111_0001
      c25 = 1111_1110
      c26 = 1111_0001
      c27 = 1111_1110
      c28 = 1111_0001
      c29 = 1111_1111
      ancho = 6
   else if caracter = "x" then
      c24 = 1111_0100
      c25 = 1111_1011
      c26 = 1111_0100
      c27 = 1111_1111
   else if caracter = "y" then
      c26 = 1111_0001
      c25 = 1111_1010
      c24 = 1111_0110
      c27 = 1111_1111
   else if caracter = "z" then
      c26 = 1111_0010
      c25 = 1111_0000
      c24 = 1111_0100
      c27 = 1111_1111
   else if caracter = "{" then
      c26 = 1110_1110
      c25 = 1110_0100
      c24 = 1111_1011
      c27 = 1111_1111
   else if caracter = "|" then
      c24 = 1110_0100
      c25 = 1111_1111
      ancho = 2
   else if caracter = "}" then
      c26 = 1111_1011
      c25 = 1110_0100
      c24 = 1110_1110
      c27 = 1111_1111
   else if caracter = "~" then
      c26 = 1110_1111
      c25 = 1110_0111
      c24 = 1111_0111
      c27 = 1111_1111
; else if caracter = " " then
;    c24 = 1111_1111
;    c25 = 1111_1111
;    c26 = 1111_1111
;    c27 = 1111_1111
   end if
end if

   while ancho > 0 loop   ; Cuando se despliegue el Char, Carga otro
                          ; Character done?  Take other character

; re-despliega las columnas que tienen todos los leds ON
; Display all columns with LEDS ON

      for 3 loop
         indice = 0x40    ; Direccion donde comienza memoria display
                          ; Address for RAM MEMORY used for the Display
         pin a6 = on      ; Activa la columna a desplazar
                          ; Activate column (DATA on Shift register)
         assembler nop    ; really little delay / Pequenia pausa

         while indice < ultima_c loop  ; Hace el barrido del display (cambiar al
            FSR = indice         ; Ancho del display)
            caracter = INDF      ; Scroll display / INDF is a PIC register
            pin a7 = off         ; Send a clock signal to SHIFT REGISTER
            Port B = all input   ; Disable Port B - NO DISPLAY
                                 ; Apaga los leds del puerto B
            pin a7 = on          ; desplaza la col. / Scroy Column
            pin a6 = off         ; CLOCK signal to Shift column
                                 ; Senial de CLOCK para pasar a la sig columna
            if caracter = 0 then
               port b = 0000_0000
               Port B = all output
               delay 200usec     ; Activa el Puerto B / Activate port B & Delay
            end if
            indice = indice + 1  ; siguiente columna / Next Column on Display
         end loop
      end loop

; fin del re-desplegado
; End of display procedure



; Scroll Procedure
; Procedimiento del desplegado

      for 9 loop          ; Scroll Delay  / desplegado > = Lento
         indice = 0x40    ; Direccion donde comienza memoria display
                          ; Display Memory Address
         pin a6 = on      ; Activa la columna a desplazar
                          ; Activate column to display
         assembler nop    ; little delay
         while indice < ultima_c loop  ; Hace el barrido del display (cambiar al Ancho del display)
                                       ; Loop while EEPROM have more chars
            FSR = indice               ; FSR & INDF are PIC registers
            caracter = INDF            ; FRS & INDF son registros del PIC
            pin a7 = off
            Port B = all input         ; Turn OFF Port B and Scroll display
            pin a7 = on                ; desplaza la col.
            port b = caracter          ; Despliega valor de la columna
            Port B = all output        ; Turn ON port B
            pin a6 = off               ; Signal to CLOCK on Shift Register
            indice = indice + 1        ; siguiente columna / Next Column
            delay 200usec
         end loop
      end loop                         ; termina loop del Scroll / End of Scroll

; If no pause, Scroll ALL display
; Si no hay pausa, realiza es corrimiento del display
; Scrolls the Display Memory

      if pausa = 0 then
         c0  = c1
         c1  = c2
         c2  = c3
         c3  = c4
         c4  = c5
         c5  = c6
         c6  = c7
         c7  = c8
         c8  = c9
         c9  = c10
         c10 = c11
         c11 = c12
         c12 = c13
         c13 = c14
         c14 = c15
         c15 = c16
         c16 = c17
         c17 = c18
         c18 = c19
         c19 = c20
         c20 = c21
         c21 = c22
         c22 = c23
         c23 = c24
         c24 = c25
         c25 = c26
         c26 = c27
         c27 = c28
         c28 = c29
         c29 = c30
        ancho = ancho - 1   ; controla el momento de cargar otro caracter
      else                  ; Controls when another character is needed
        pausa = pausa - 1
      end if
     end loop               ; Si scroll = columnas, carga otro caracter
                            ; If Scroll = columns, Load another Character
     direccion = direccion + 1
end loop
  
.::BiLgi Paylaştıkça Çoğalır::.[/url]

EGE

selam arkadaşım,

istedigin yürüyen yazı devresini yaptınmı yani çalıştımı bilgi verirsen sevinirim

ege