Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Microchip PIC => Konuyu başlatan: serpil_07 - 03 Şubat 2007, 23:50:06

Başlık: kayan yazıda maskeleme
Gönderen: serpil_07 - 03 Şubat 2007, 23:50:06
arkadaşlar elim de bu şekil asm kodları var. yazı sağdan sola doğru kayıyor. ben bu kayma şeklini değiştirmek istiyorum. aşağıdan yukarı yukarıdan aşağı gibi kodları nasıl ve nereye yazmam gerekli. yardımlarınız için teşekkür ederim.. :P

proteus şeması için;  http://rapidshare.com/files/14781271/16F84A.rar

LIST  P=16F84A
INCLUDE "P16F84A.INC"
SAYAC EQU H'0C'
SAYAC1 EQU H'0D'
DEGER EQU H'0E'
SUTUN1 EQU H'11'
SUTUN2 EQU H'12'
SUTUN3 EQU H'13'
SUTUN4 EQU H'14'
SUTUN5 EQU H'15'
SUTUN6 EQU H'16'
SUTUN7 EQU H'17'
SUTUN8 EQU H'18'
SUTUN9 EQU H'19'
SUTUN10 EQU H'1A'
SUTUN11 EQU H'1B'
SUTUN12 EQU H'1C'
SUTUN13 EQU H'1D'
SUTUN14 EQU H'1E'
SUTUN15 EQU H'1F'
SUTUN16 EQU H'20'
SUTUN17 EQU H'21'
SUTUN18 EQU H'22'
SUTUN19 EQU H'23'
SUTUN20 EQU H'24'
SUTUN21 EQU H'25'
SUTUN22 EQU H'26'
SUTUN23 EQU H'27'
SUTUN24 EQU H'28'
SUTUN25 EQU H'29'
SUTUN26 EQU H'2A'
SUTUN27 EQU H'2B'
SUTUN28 EQU H'2C'
SUTUN29 EQU H'2D'
SUTUN30 EQU H'2E'
SUTUN31 EQU H'2F'
SUTUN32 EQU H'30'
SUTUN33 EQU H'31'
SUTUN34 EQU H'32'
START
ORG 0x00
BSF STATUS, 5
MOVLW H'00'
MOVWF PORTA
MOVWF PORTB
BCF STATUS, 5
GOTO Run1
Table1 ADDWF PCL, 1
RETLW 00h
RETLW 00h    
RETLW 00h
RETLW 00h
RETLW 5Fh
RETLW 00h
RETLW 7Fh
RETLW 01h
RETLW 01h
RETLW 01h
RETLW 00h
RETLW 7Fh
RETLW 08h
RETLW 1Ch
RETLW 22h
RETLW 41h
RETLW 00h
RETLW 7Fh
RETLW 49h
RETLW 49h
RETLW 41h
RETLW 41h
RETLW 00h
RETLW 7Fh
RETLW 48h
RETLW 4Ch
RETLW 4Ah
RETLW 31h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 7Fh
RETLW 49h
RETLW 49h
RETLW 41h
RETLW 41h
RETLW 00h
RETLW 7Fh
RETLW 08h
RETLW 1Ch
RETLW 22h
RETLW 41h
RETLW 00h
RETLW 7Fh
RETLW 49h
RETLW 49h
RETLW 41h
RETLW 41h
RETLW 00h
RETLW 7Fh    
RETLW 10h
RETLW 08h
RETLW 04h
RETLW 7Fh
RETLW 00h
RETLW 7Fh
RETLW 49h
RETLW 49h
RETLW 41h
RETLW 41h
RETLW 00h
RETLW 7Fh
RETLW 48h
RETLW 4Ch
RETLW 4Ah
RETLW 31h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
RETLW 00h
Run1
CLRF SUTUN1          
CLRF SUTUN2  
CLRF SUTUN3  
CLRF SUTUN4  
CLRF SUTUN5
CLRF SUTUN6          
CLRF SUTUN7  
CLRF SUTUN8  
CLRF SUTUN9  
CLRF SUTUN10  
CLRF SUTUN11          
CLRF SUTUN12
CLRF SUTUN13
CLRF SUTUN14  
CLRF SUTUN15  
CLRF SUTUN16          
CLRF SUTUN17
CLRF SUTUN18
CLRF SUTUN19
CLRF SUTUN20  
CLRF SUTUN21          
CLRF SUTUN22  
CLRF SUTUN23  
CLRF SUTUN24  
CLRF SUTUN25
CLRF SUTUN26          
CLRF SUTUN27  
CLRF SUTUN28  
CLRF SUTUN29  
CLRF SUTUN30  
CLRF SUTUN31          
CLRF SUTUN32
MOVLW H'00'
MOVWF SAYAC      
Run2 MOVLW H'02'
MOVWF SAYAC1
CALL Shift        
INCF SAYAC, 1
MOVF SAYAC, 0      
CALL Table1
MOVWF SUTUN32
XORLW 0FFh    
BTFSC STATUS, 2  
GOTO Run1      
Run3 DECFSZ SAYAC1,1    
GOTO Run4
GOTO Run2
Run4 CALL Scan
GOTO Run3
Scan BSF PORTA, 1
NOP
BCF PORTA, 1
MOVF SUTUN1, 0
MOVWF PORTB                
CALL DelD
MOVF SUTUN2, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN3, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN4, 0  
MOVWF PORTB
CALL DelD
MOVF SUTUN5, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN6, 0
MOVWF PORTB                
CALL DelD
MOVF SUTUN7, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN8, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN9, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN10, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN11, 0          
MOVWF PORTB                
CALL DelD
MOVF SUTUN12, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN13, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN14, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN15, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN16, 0    
MOVWF PORTB
CALL DelD
MOVF SUTUN17, 0
MOVWF PORTB                
CALL DelD
MOVF SUTUN18, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN19, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN20, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN21, 0
MOVWF PORTB                
CALL DelD
MOVF SUTUN22, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN23, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN24, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN25, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN26, 0  
MOVWF PORTB                
CALL DelD
MOVF SUTUN27, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN28, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN29, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN30, 0
MOVWF PORTB
CALL DelD
MOVF SUTUN31, 0      
MOVWF PORTB                
CALL DelD
MOVF SUTUN32, 0
MOVWF PORTB
CALL DelD
RETURN
Shift MOVF SUTUN2, 0
MOVWF SUTUN1
MOVF SUTUN3, 0
MOVWF SUTUN2        
MOVF SUTUN4, 0      
MOVWF SUTUN3        
MOVF SUTUN5, 0      
MOVWF SUTUN4        
MOVF SUTUN6, 0      
MOVWF SUTUN5        
MOVF SUTUN7, 0      
MOVWF SUTUN6        
MOVF SUTUN8, 0      
MOVWF SUTUN7        
MOVF SUTUN9, 0      
MOVWF SUTUN8        
MOVF SUTUN10, 0      
MOVWF SUTUN9        
MOVF SUTUN11, 0      
MOVWF SUTUN10        
MOVF SUTUN12, 0      
MOVWF SUTUN11        
MOVF SUTUN13, 0      
MOVWF SUTUN12        
MOVF SUTUN14, 0      
MOVWF SUTUN13        
MOVF SUTUN15, 0      
MOVWF SUTUN14        
MOVF SUTUN16, 0      
MOVWF SUTUN15        
MOVF SUTUN17, 0      
MOVWF SUTUN16        
MOVF SUTUN18, 0      
MOVWF SUTUN17        
MOVF SUTUN19, 0      
MOVWF SUTUN18    
MOVF SUTUN20, 0  
MOVWF SUTUN19      
MOVF SUTUN21, 0      
MOVWF SUTUN20        
MOVF SUTUN22, 0      
MOVWF SUTUN21        
MOVF SUTUN23, 0      
MOVWF SUTUN22        
MOVF SUTUN24, 0      
MOVWF SUTUN23      
MOVF SUTUN25, 0  
MOVWF SUTUN24      
MOVF SUTUN26, 0      
MOVWF SUTUN25      
MOVF SUTUN27, 0      
MOVWF SUTUN26    
MOVF SUTUN28, 0      
MOVWF SUTUN27      
MOVF SUTUN29, 0      
MOVWF SUTUN28        
MOVF SUTUN30, 0      
MOVWF SUTUN29        
MOVF SUTUN31, 0      
MOVWF SUTUN30        
MOVF SUTUN32, 0      
MOVWF SUTUN31        
MOVF SUTUN33, 0      
MOVWF SUTUN32        
RETURN
DelD MOVLW H'00'
MOVWF DEGER
DelC DECFSZ DEGER, 1
GOTO DelC    
MOVLW 00h
MOVWF PORTB
Clk BSF PORTA, 0
NOP            
BCF PORTA, 0
RETURN
END


serpil_07
Başlık: kayan yazıda maskeleme
Gönderen: Analyzer - 04 Şubat 2007, 00:45:00
Selam,

Sarı çizmeli Mehmet ağa olmuş bu. Projenin şeması yok mu? Ne nereye bağlı?

Analyzer
Başlık: kayan yazıda maskeleme
Gönderen: Eagle_Tim - 04 Şubat 2007, 10:55:19
Sütun taramalı kayan yazı ise ekran regsiterlerinin hepsini rrf ,rlf komutlarını kullanarak kaydırdığın zaman yazıda aşağı ve yukarı kayar, hatta ben bir harf yukarı bir harf aşağı kaydırma da yaptım bu yöntemle..
Başlık: kayan yazıda maskeleme
Gönderen: serpil_07 - 04 Şubat 2007, 16:20:56
peki yazı sağdan sola doğru kayıyor. sağdan sola doğru kaydırma hangi kodla yapılıyor?
Başlık: kayan yazıda maskeleme
Gönderen: Eagle_Tim - 04 Şubat 2007, 17:47:54
şuan sağa kayıyor ise kaydırma yordamının tam tersini yaparsan yani registerlerdeki veriyi tersyönde taşımaya başlarsan bu defa sola dopru kayar

MOVFW SUTUN_8
MOVWF SUTUN_9
MOVFW SUTUN_7
MOVWF SUTUN_8
MOVFW SUTUN_6
MOVWF SUTUN_7
MOVFW SUTUN_5
MOVWF SUTUN_6
MOVFW SUTUN_4
MOVWF SUTUN_5
MOVFW SUTUN_3
MOVWF SUTUN_4
MOVFW SUTUN_2
MOVWF SUTUN_3
MOVFW SUTUN_1
MOVWF SUTUN_2
MOVFW YENI_DATA ; BU REGE YÜKLENEN VERİ EKRANA YENİ GELECEK VERİNİN SON SUTUN BİLGİSİDİR..
MOVWF SUTUN_1


Bu konular daha öncede konuşuldu sitede biraz ararsanız bir çok bilgi bulabilirsiniz..
Başlık: kayan yazıda maskeleme
Gönderen: yalnayak - 04 Şubat 2007, 19:04:53
Alıntı yapılan: "Eagle_Tim"şuan sağa kayıyor ise kaydırma yordamının tam tersini yaparsan yani registerlerdeki veriyi tersyönde taşımaya başlarsan bu defa sola dopru kayar

MOVFW SUTUN_8
MOVWF SUTUN_9
MOVFW SUTUN_7
MOVWF SUTUN_8
MOVFW SUTUN_6
MOVWF SUTUN_7
MOVFW SUTUN_5
MOVWF SUTUN_6
MOVFW SUTUN_4
MOVWF SUTUN_5
MOVFW SUTUN_3
MOVWF SUTUN_4
MOVFW SUTUN_2
MOVWF SUTUN_3
MOVFW SUTUN_1
MOVWF SUTUN_2
MOVFW YENI_DATA ; BU REGE YÜKLENEN VERİ EKRANA YENİ GELECEK VERİNİN SON SUTUN BİLGİSİDİR..
MOVWF SUTUN_1


Bu konular daha öncede konuşuldu sitede biraz ararsanız bir çok bilgi bulabilirsiniz..


selam eagle_tim

sizim burda kullandıgınız movfw komutu ile movf komutu ayni islemimi yapiyor.
Başlık: kayan yazıda maskeleme
Gönderen: serpil_07 - 04 Şubat 2007, 19:32:38
tamam arkadaşlar son bişey daha hepsini anladımda yazıyı aşağı doğru kaydırmam için aşağıdaki yazdığım kodlar doğrumudur? :?:

Shift RLF SUTUN2, 0
MOVWF SUTUN1    
MOVF SUTUN3, 0
MOVWF SUTUN2          
MOVF SUTUN4, 0        
MOVWF SUTUN3          
MOVF SUTUN5, 0        
MOVWF SUTUN4          
MOVF SUTUN6, 0        
MOVWF SUTUN5            
MOVF SUTUN7, 0        
MOVWF SUTUN6          
MOVF SUTUN8, 0        
MOVWF SUTUN7          
MOVF SUTUN9, 0        
MOVWF SUTUN8          
MOVF SUTUN10, 0      
MOVWF SUTUN9
Başlık: kayan yazıda maskeleme
Gönderen: Eagle_Tim - 04 Şubat 2007, 21:37:27
Alıntı yapılan: "serpil_07"tamam arkadaşlar son bişey daha hepsini anladımda yazıyı aşağı doğru kaydırmam için aşağıdaki yazdığım kodlar doğrumudur? :?:

öncelikle code ikonunu kullansanız daha iyi olur böyle anlamak zorlaşıyor.


YUKARI
  BCF STATUS,0
RLF SUTUN_1,F
BCF STATUS,0
RLF SUTUN_2,F
BCF STATUS,0
RLF SUTUN_3,F
BCF STATUS,0
RLF SUTUN_4,F
BCF STATUS,0
RLF SUTUN_5,F
BCF STATUS,0
RLF SUTUN_6,F
BCF STATUS,0
RLF SUTUN_7,F
BCF STATUS,0
RLF SUTUN_8,F
BCF STATUS,0
RLF SUTUN_9,F
BCF STATUS,0
RLF SUTUN_10,F
     RETURN


sütun tarama yapıyorsanız böyle olmalı bu yordamı her refreshden sonra 1 Kez çağırırsanız yazı veriyi gönderme deki yöne göre aşağı veya yukarı kayacaktır 9 defa çağırırsanız XXx8 yükseklik 8 olan dot için söylüyorum yazı yukarı veya aşağı gidip kaybolur terside RRF yaparak oluyor yazı çok hızlı aşağı veya yukarı kayar ise 1 rehreshde değilde 10-20 refreshde bir bu yordamı çağırın böylece istediğiniz hızda aşağı yukarı kayma sağlarsınız, işlem basit artık gerisi size kalıyor..
Başlık: kayan yazıda maskeleme
Gönderen: serpil_07 - 05 Şubat 2007, 01:31:48
öncelikle size çok teşekkür ediyorum ilgilendiğiniz için. :P

1)elimizde satır taramalı devre olsaydı yazıyı yukarıdan aşağı yada aşağıdan yukarı kaydıramayacakmıyım ben?

2)ben proteusta kayan yazı devresinin satır veya sütun taramalı olduğunu nasıl öğrenebilirim?
Başlık: kayan yazıda maskeleme
Gönderen: Eagle_Tim - 05 Şubat 2007, 02:26:58
Bunu anlamak için yazılıma bakmak en uygunu çünki, gerçekte olsa bazı bariz noktalardan anlaşılabilir ancak, proteusta satır veya sutun taramayı donanıma bakarak anlamak zor.. ama satır taramada sutunlar kuvetlendirilmeden dirençle entegre çıkışıda verilebilir. sutun tramada kuvvetlendirmek şart, çünki biri bir anda max 8 led yakıyor her pine 1 led düşecek şekilde, diğeri ise bu 8 ledi tek pinden yakıyor. bu yüzden akım problemi olacağından sutun taramada entegre çıkışı güçlendirilir ama dediğim gibi proteusta entegre yanıp bozulmayacağından çizen kişi bunları dikkate almamış olabilir, devreye bakarak kesin bir yorum yapılamaz diye düşünüyorum çünki aynı donanımla her iki yazılımda çalışabilir..

Aşağı Yukarı kaydırma işlemi sadece algoritma olarak değişirdi okadar..
Başlık: kayan yazıda maskeleme
Gönderen: serpil_07 - 05 Şubat 2007, 18:39:05
yazıyı. RRf sağa kaydırma RLF ise sola kaydırma olarak bir yerde okudum.
aşağı ve yukarı kaydırma komut larını göremedim. 16f serisinin 35 tane komutunun içinde yok. nasıl bir durum.
Başlık: kayan yazıda maskeleme
Gönderen: aYe - 05 Şubat 2007, 19:01:38
Programcılık satranç gibidir, komutlar da taşlar gibi sınırlıdır.

Hamleler, kombinasyonlar, algoritmalar artık her neyse sizin oluşturmanız gereken şeylerdir.

Bu kayan yazı devresini 4x (5*7) display'le proje olarak yapmıştım.
Mesela orda yağmur efektiyle yaz, harfleri döndürerek yaz gibi durumlar ve daha bir çok efekt vardı.
Eğer aradığınız komut düşünülse, bunlarıda düşünmeleri gerekirdi.

Velasılkelam her durumun bir komutu olsa(ki imkansız) bize gerek kalmazdı, ne mutlu ki şimdilik yok  ;)

Sizin sorununuza gelince, en basit tasarımla; devre dizaynınıza göre, yazılımınızda sağa sola yatay kaydırma için bir  byte'in içeriğini bir sonraki byte'in içeriğine kopyalayıp, kendisine de bir öncekini alıyorsanız, aşağı yukarı dikey kaydırma için, carry üzerinden bit kaydırma komutlarını kullanarak ilgili her byte'i işlemeniz gerekir.

Devre dizaynınızı tam tersi şekilde yaptıysanız, bu yapıda tam tersi şekle döner.