Kayan yazı projelerine devam edelim.

Başlatan akkuzu1969, 05 Mart 2007, 22:25:10

akkuzu1969

Arkadaşlar, 74HC595 İle ve satır taramalı ,en az iki karakter kaydırmalı devrenin açık asm (assembly) ile yazılmış açık kotları içeren programı verebilirmisiniz? Ustalar sizden yardım istiyorum.Lütfen yardımlarınızı esirgemeyin.Uzun zamandır 74hc595 üzerine kayan yazı programı üzrine çalışmaktayım.ama başaramadım.gerçekten anlamak çok zor.hepinize şimdiden teşekkür eder,çalışmalarınızda başarılar dilerim. :roll:  :oops:  :oops:  8)  8)  :roll:

ilker_32

LIST P=16F84
include "P16FXX.inc"
ORG 0x0000
BSF STATUS , RP0
MOVLW 0x00
MOVWF TRISA
MOVWF TRISB
BCF STATUS , RP0
GOTO Label_0001
Label_0003 ADDWF PCL , f
(metin yaz)
Label_0001 CLRF 0x11
CLRF 0x12
CLRF 0x13
CLRF 0x14
CLRF 0x15
CLRF 0x16
CLRF 0x17
CLRF 0x18
CLRF 0x19
MOVLW 0x00
MOVWF 0x0C
Label_0005 MOVLW 0x05
MOVWF 0x0D
CALL Label_0002
INCF 0x0C , f
MOVF 0x0C , W
CALL Label_0003
MOVWF 0x19
XORLW 0xFF
BTFSC STATUS , Z
GOTO Label_0001
Label_0007 DECFSZ 0x0D , f
GOTO Label_0004
GOTO Label_0005
Label_0004 CALL Label_0006
GOTO Label_0007
Label_0006 BSF PORTA , 01
NOP
BCF PORTA , 01
MOVF 0x11 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x12 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x13 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x14 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x15 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x16 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x17 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x18 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x19 , W
MOVWF PORTB
CALL Label_0008
RETURN
Label_0002 MOVF 0x12 , W
MOVWF 0x11
MOVF 0x13 , W
MOVWF 0x12
MOVF 0x14 , W
MOVWF 0x13
MOVF 0x15 , W
MOVWF 0x14
MOVF 0x16 , W
MOVWF 0x15
MOVF 0x17 , W
MOVWF 0x16
MOVF 0x18 , W
MOVWF 0x17
MOVF 0x19 , W
MOVWF 0x18
RETURN
Label_0008 MOVLW 0x00
MOVWF 0x0E
Label_0009 DECFSZ 0x0E , f
GOTO Label_0009
MOVLW 0x00
MOVWF PORTB
BSF PORTA , 00
NOP
BCF PORTA , 00
RETURN
eND

ilker_32

kodlarda 9 tane etiket kullanılmış. aslında anlamsız kullanılmış eğer tekrar kodları takip edipte baştan yazarsan hiç birini kullanmazsın.
kolay gelsinn...

akkuzu1969

sayın İlker_32; konuyla ilgilendiğin için teşekkür ediyorum.Ancak senin verdiğin kodları denedim ama devreyi çalıştıramadım.devrede 74hc595 mi kullanacağız acaba? tekrar konuyla ilgilenebilirmisin.yardımcı olursan çok sevinirim.şimdiden teşekkür eder,başarılar dilerim.

akkuzu1969

sayın İlker_32 ;verdiğin kodlara A harfi kodlarını ekledim.kodlar şöyle:

kod:
LIST P=16F84
include "P16F84.inc"
ORG 0x0000
BSF STATUS , RP0
MOVLW 0x00
MOVWF TRISA
MOVWF TRISB
BCF STATUS , RP0
GOTO Label_0001
Label_0003 ADDWF PCL , f

RETLW   B'00001110'
RETLW   B'00010001'
RETLW   B'00010001'
RETLW   B'00011111'
RETLW   B'00010001'
RETLW   B'00010001'
RETLW   B'00010001'
RETLW   B'00000000'


Label_0001 CLRF 0x11
CLRF 0x12
CLRF 0x13
CLRF 0x14
CLRF 0x15
CLRF 0x16
CLRF 0x17
CLRF 0x18
CLRF 0x19
MOVLW 0x00
MOVWF 0x0C
Label_0005 MOVLW 0x05
MOVWF 0x0D
CALL Label_0002
INCF 0x0C , f
MOVF 0x0C , W
CALL Label_0003
MOVWF 0x19
XORLW 0xFF
BTFSC STATUS , Z
GOTO Label_0001
Label_0007 DECFSZ 0x0D , f
GOTO Label_0004
GOTO Label_0005
Label_0004 CALL Label_0006
GOTO Label_0007
Label_0006 BSF PORTA , 01
NOP
BCF PORTA , 01
MOVF 0x11 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x12 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x13 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x14 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x15 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x16 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x17 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x18 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x19 , W
MOVWF PORTB
CALL Label_0008
RETURN
Label_0002 MOVF 0x12 , W
MOVWF 0x11
MOVF 0x13 , W
MOVWF 0x12
MOVF 0x14 , W
MOVWF 0x13
MOVF 0x15 , W
MOVWF 0x14
MOVF 0x16 , W
MOVWF 0x15
MOVF 0x17 , W
MOVWF 0x16
MOVF 0x18 , W
MOVWF 0x17
MOVF 0x19 , W
MOVWF 0x18
RETURN
Label_0008 MOVLW 0x00
MOVWF 0x0E
Label_0009 DECFSZ 0x0E , f
GOTO Label_0009
MOVLW 0x00
MOVWF PORTB
BSF PORTA , 00
NOP
BCF PORTA , 00
RETURN
eND


yukarıdaki haliyle derledim.ama çalıştıramadım.

ilker_32

Verdiğin kodlar çok güzel bir şekilde çalışıyor. MPLAB v7.10 kullanıyorum.
Kullandığın derleyiciyle ilgili bir sorun olabilir. Devrede 74hc154 kulanılacak ve bunu süren bir sayıcı çünkü kodların sonuna dikkat et.

ilker_32

Evet haklısın kodlar derlenmesine çok güzel derleniyor. Ama kodlarda şu şekil bir hata görüyorum. pratikte çalıştıramazsın..

En iyisi ben sana hazır bir devre ve kodlarını göndereyim ok. Bu kodlarla biraz uğraşmalısın çalıştırman için

GOTO Label_0001
Label_0003 ADDWF PCL , f

Bunların arasına sütun sayısı kadar etiket eklenmesi gerekirdi. Label_0008 etiketi işlemiyor. Ve küçük bir sorun daha Label_0002 MOVF 0x12 , W

MOVF 0x11 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x12 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x13 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x14 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x15 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x16 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x17 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x18 , W
MOVWF PORTB
CALL Label_0008
MOVF 0x19 , W
MOVWF PORTB
CALL Label_0008

Label_0002 MOVF 0x12 , W

MOVWF 0x11
MOVF 0x13 , W
MOVWF 0x12
MOVF 0x14 , W
MOVWF 0x13
MOVF 0x15 , W
MOVWF 0x14
MOVF 0x16 , W
MOVWF 0x15
MOVF 0x17 , W
MOVWF 0x16
MOVF 0x18 , W
MOVWF 0x17
MOVF 0x19 , W
MOVWF 0x18