kayan yazıda maskeleme

Başlatan serpil_07, 03 Şubat 2007, 23:50:06

serpil_07

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

Analyzer

Selam,

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

Analyzer
Üşeniyorum, öyleyse yarın!

Eagle_Tim

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..
Software and Hardware Design...

serpil_07

peki yazı sağdan sola doğru kayıyor. sağdan sola doğru kaydırma hangi kodla yapılıyor?

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..
Software and Hardware Design...

yalnayak

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.
Kızımın iffeti batmakta rezîlin gözüne... Acırım tükürüğe billâhi, tükürsem yüzüne..! MEHMED AKİF ERSOY  Kardan Adaminla,GUNES'e calim mi satiyorsun?

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? :?:

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

Eagle_Tim

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..
Software and Hardware Design...

serpil_07

ö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?

Eagle_Tim

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..
Software and Hardware Design...

serpil_07

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.

aYe

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.
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)