kara şimşek hex yardımı

Başlatan ycetin, 06 Temmuz 2011, 12:23:50

ycetin


   LIST   P=16F84
   INCLUDE   "P16F84.INC"
;-TANIMLAR---------------------------------
   S1   EQU   20H   ;S1 Bekleme devresi değişkeni
   S2    EQU   10H   ;S2 Bekleme devresi değişkeni
   S3   EQU   12H   ;S3 Bekleme devresi değişkeni
   ADET   EQU   11H   ;İşlemlerin 3 kere yapılması için
   HIZ   EQU   0EH   ;3 farklı hız için
   DEG1   EQU   13H   ;Yanma adedi belirleyicisi
   DEG2   EQU   21H   ;Yanma adedi belirleyicisi   

   CLRF   PORTA      ;PortA çıkışlarını sil
   CLRF   PORTB      ;PortB çıkışlarını sil
   BSF   STATUS,5   ;Bank1'e geç
   MOVLW   B'10000'   ;W Reg'e B'10000' sayısını at
   MOVWF   TRISA      ;PortA'n ın 0-1-2-3 nosunu çıkış yap
   CLRF   TRISB      ;PortB'nin bütün uçlarını çıkış yap
   BCF   STATUS,5   ;Bank0'a geç
BASLA   
;   GOTO   A1
;--------------------------------------------------------
;SAĞDAN SOLA TEK TEK YANMA HAREKETİ
;--------------------------------------------------------
;--------------------------------
;PORTA LEDLERİ SAĞDAN SOLA TEK TEK YANMA
   MOVLW   .3      ;W Reg'e decimal3 sayısını yükle (3 defa tekrar için)
   MOVWF   ADET      ;3 sayısını ADET değişkenine yükle
   MOVLW   B'001'      ;W Reg'e B'001' sayısını yükle (3 farklı hız için)
   MOVWF   HIZ      ;B'0001' sayısını HIZ değişkenine yükle
TEKRAR
   MOVLW   B'0001'      ;W Reg'e B'0001' sayısını yükle
   MOVWF   PORTA      ;B'0001' sayısını PortA'ya gönder
DON1
   CALL   BEKLE      ;BEKLE rutinini yap (Zaman gecikme)
   RLF   PORTA       ;PortA'yı SOLA kaydır( B'0010' oldu)
   BTFSS   PORTA,3      ;şayet 3.bit 1 ise, 1 komut atla
   GOTO   DON1      ;1 değilse, DON1'e git
   CALL   BEKLE      ;1 ise, BEKLE rutinini yap ve gel
   MOVLW   B'0000'      ;W REG'E B'0000' değerini yükle
   MOVWF   PORTA      ;PortA'yı sil
;--------------------------------
;PORTB LEDLERİ SAĞDAN SOLA TEK TEK YANMA
   MOVLW   B'00000001'   ;W Reg'e B'00000001' değerini yükle
   MOVWF   PORTB      ;B'00000001' sayısını PortB'ye gönder
DON2   
   CALL   BEKLE      ;BEKLE rutinini yap ve gel
   RLF   PORTB       ;PortB'yi SOLA kaydır (B'00000010' oldu)
   BTFSS   PORTB,7      ;Şayet PortB 7.bit 1 ise, 1 komut atla
   GOTO   DON2      ;1 değilse, DON2 rutinine git
   CALL   BEKLE      ;1 ise, BEKLE rutinini yap ve gel
;--------------------------------
;PORTB GERİYE DOĞRU TEK TEK YANMA
   MOVLW   B'01000000'   ;W Reg'e B'01000000' değerini yükle
   MOVWF   PORTB      ;B'01000000' sayısını PortB'ye gönder
DON3
   CALL   BEKLE      ;BEKLE rytinini yap ve gel
   RRF   PORTB       ;Portb'yi SAĞA kaydır
   BTFSS   PORTB,0      ;şayet 0.bit 1 ise, 1 komut atla
   GOTO   DON3      ;1 değilse, DON2 rutinine git
   CALL   BEKLE      ;1 ise, BEKLE rutinini yap ve gel
   CLRF   PORTB      ;PortB'yi sıfırla
;--------------------------------
;PORTA GERİYE TEK TEK YANMA
   MOVLW   B'1000'      ;W Reg'e B'1000' değerini yükle
   MOVWF   PORTA      ;B'1000' sayısını PortA'ya gönder
DON4
   CALL   BEKLE      ;BEKLE rutinini yap ve gel
   RRF   PORTA       ;PortA'yı SAĞA kaydır
   BTFSS   PORTA,0      ;PortA 0.bit 1 ise, 1 komut atla
   GOTO   DON4      ;1 değilse, DON2 rutinine git
   CLRF   PORTA      ;1 ise, BEKLE rutinini yap ve gel

   DECFSZ   ADET,1      ;ADET değişkenini 1 eksilt
   GOTO   MUK1      ;ADET 0 değilse, MUK1 rutinine git
   GOTO   FLH1      ;ADET 0 ise, FLH1 rutinine git
MUK1   RLF   HIZ      ;HIZ değişken değerini SOLA kaydır(001-010-100)
   GOTO   TEKRAR      ;TEKRAR rutinine git
FLH1
   MOVLW   B'001'      ;W Reg'e B'001' sayısını yükle(3 farklı hız için)
   MOVWF   HIZ      ;'0001' sayısını HIZ değişkenine yükle
   CALL   FLASH      ;ADET değeri 0 ise, FLASH rutinini yap ve gel

;-----------------------------------------------------------
;SAĞDAN SOLA (PORTA,0'DAN PORTA,3'E+PORTB,0'DAN PORTB,7'YE) ARTARAK YANMA
;-----------------------------------------------------------
;--------------------------------
;PORTA SAĞDAN SOLA ARTARAK YANMA
   MOVLW   .3      
   MOVWF   ADET      
   MOVLW   B'001'      
   MOVWF   HIZ      
TKRR2
   MOVLW   B'0001'
   MOVWF   PORTA
   CALL   BEKLE
GEC1
   RLF   PORTA       
   BSF   PORTA,0
   CALL   BEKLE
   BTFSS   PORTA,3      
   GOTO   GEC1
;---------------------------------
;PORTB SAĞDAN SOLA ARTARAK YANMA
   MOVLW   B'00000001'
   MOVWF   PORTB
   CALL   BEKLE
GEC2
   RLF   PORTB
   BSF   PORTB,0
   CALL   BEKLE
   BTFSS   PORTB,7
   GOTO   GEC2
;----------------------------------
;PORTB SOLDAN SAĞA EKSİLEREK SÖNME
   MOVLW   B'01111111'
   MOVWF   PORTB
   CALL   BEKLE
GEC3
   RRF   PORTB
   BCF   PORTB,7
   CALL   BEKLE
   BTFSC   PORTB,0
   GOTO   GEC3
;----------------------------------
;PORTA SOLDAN SAĞA EKSİLEREK SÖNME
   MOVLW   B'0111'
   MOVWF   PORTA
   CALL   BEKLE
GEC4
   RRF   PORTA
   BCF   PORTA,3
   CALL   BEKLE
   BTFSC   PORTA,0
   GOTO   GEC4

   BCF   STATUS,0
   DECFSZ   ADET,1      
   GOTO   MUK2      
   GOTO   FLH2      
MUK2   RLF   HIZ      
   GOTO   TKRR2      
FLH2
   MOVLW   B'001'      
   MOVWF   HIZ      
   CALL   FLASH      
;----------------------------------------------------------
;SAĞDAN SOLA DÖRDERLİ HAREKET (PORTA-PORTB)
;----------------------------------------------------------
   MOVLW   .3      
   MOVWF   ADET      
   MOVLW   B'001'      
   MOVWF   HIZ      
TKRR3
;-----------------------------------
;PORTA SAĞDAN SOLA DÖRDERLİ
   MOVLW   B'0001'
   MOVWF   PORTA
   CALL   BEKLE
GEC5
   RLF   PORTA       
   BSF   PORTA,0
   CALL   BEKLE
   BTFSS   PORTA,3      
   GOTO   GEC5

;-----------------------------------
;PORTB SAĞDAN SOLA DÖRDERLİ
   RLF   PORTA       
   MOVLW   B'00000001'
   MOVWF   PORTB
   CALL   BEKLE   
GEC6
   BTFSC   PORTA,3
   RLF   PORTA
   RLF   PORTB
   BSF   PORTB,0
   CALL   BEKLE
   BTFSS   PORTB,3
   GOTO   GEC6
GEC7
   RLF   PORTB
   BCF   PORTB,0
   CALL   BEKLE
   BTFSS   PORTB,7
   GOTO   GEC7
GEC8
   RLF   PORTB
   BCF   PORTB,0
   CALL   BEKLE
   BTFSC   PORTB,7
   GOTO   GEC8

;------------------------------------   
;PORTB SOLDAN SAĞA DÖRDERLİ
   MOVLW   B'10000000'
   MOVWF   PORTB
   CALL   BEKLE
GEC9
   RRF   PORTB
   BSF   PORTB,7
   CALL   BEKLE
   BTFSS   PORTB,4
   GOTO   GEC9
GEC10
   RRF   PORTB
   BCF   PORTB,7
   CALL   BEKLE
   BTFSS   PORTB,0
   GOTO   GEC10
GEC11
   RRF   PORTB
   BCF   PORTB,7
   BSF   PORTA,3
   CALL   BEKLE
GEC12
   RRF   PORTB
   BCF   PORTB,7
;-------------------------------------
;PORTA SOLDAN SAĞA DÖRDERLİ
   RRF   PORTA
   BSF   PORTA,3
   CALL   BEKLE
   BTFSS   PORTA,0
   GOTO   GEC12
GEC13
   RRF   PORTA
   BCF   PORTA,3
   CALL   BEKLE
   BTFSC   PORTA,0
   GOTO   GEC13


   BCF   STATUS,0
   DECFSZ   ADET,1      
   GOTO   MUK3      
   GOTO   FLH3      
MUK3   RLF   HIZ      
   GOTO   TKRR3      
FLH3
   MOVLW   B'001'      
   MOVWF   HIZ      
   CALL   FLASH      
;--------------------------------------------------------
;DIŞLARDAN İÇERİYE AKARDION (PORTA VE PORTB)
;--------------------------------------------------------
   MOVLW   .3
   MOVWF   ADET
   MOVLW   B'001'      
   MOVWF   HIZ      
;----------------------------------------
;PORTA VE PORTB DIŞARIDAN İÇERİYE
TKRR4
   MOVLW   B'0001'
   MOVWF   PORTA
   MOVLW   B'10000000'
   MOVWF   PORTA
   CALL   BEKLE
GEC14
   RLF   PORTA       
   BSF   PORTA,0
   RRF   PORTB
   BSF   PORTB,7
   CALL   BEKLE
   BTFSS   PORTA,3      
   GOTO   GEC14

   MOVLW   B'11111001'
   MOVWF   PORTB
   CALL   BEKLE
   MOVLW   B'11111111'
   MOVWF   PORTB
   CALL   BEKLE
;----------------------------------------
;PORTA VE PORTB İÇERİDEN DIŞARIYA
   MOVLW   B'11111001'
   MOVWF   PORTB
   CALL   BEKLE
   MOVLW   B'11110000'
   MOVWF   PORTB
   CALL   BEKLE
GEC15
   RLF   PORTB
   RRF   PORTA
   BCF   PORTB,0
   BCF   PORTA,3
   BTFSC   PORTA,0
   GOTO   GEC15

   BCF   STATUS,0
   DECFSZ   ADET,1      
   GOTO   MUK4      
   GOTO   FLH4      
MUK4   RLF   HIZ      
   GOTO   TKRR4      
FLH4
   MOVLW   B'001'      
   MOVWF   HIZ      
   CALL   FLASH      
;------------------------------------------------------
;İKİŞERLİ HAREKET SAĞDAN SOLA
;------------------------------------------------------
   MOVLW   .3
   MOVWF   ADET
   MOVLW   B'001'      
   MOVWF   HIZ      
TKRR5
;----------------------------------
;PORTA SAĞDAN SOLA İKİŞERLİ HAREKET
   RLF   PORTA
   BSF   PORTA,0
   CALL   BEKLE
   BTFSS   PORTA,1
   GOTO   TKRR5
GEC16
   RLF   PORTA       
   BCF   PORTA,0
   CALL   BEKLE
   BTFSS   PORTA,3      
   GOTO   GEC16
;-----------------------------------
;PORTB SAĞDAN SOLA İKİŞERLİ HAREKET
GEC17
   RLF   PORTA       
   BCF   PORTA,0
   RLF   PORTB
   BSF   PORTB,0
   CALL   BEKLE
   BTFSS   PORTB,1
   GOTO   GEC17   
GEC18
   RLF   PORTB
   BCF   PORTB,0
   CALL   BEKLE   
   BTFSS   PORTB,7
   GOTO   GEC18
GEC19
   RLF   PORTB
   BCF   PORTB,0
   CALL   BEKLE
   BTFSS   PORTB,7
   GOTO   GEC19
   CLRF   PORTB
   CALL   BEKLE
;------------------------------------
;PORTB SOLDAN SAĞA İKİŞERLİ HAREKET
GEC20
   RRF   PORTB
   BSF   PORTB,7
   CALL   BEKLE
   BTFSS   PORTB,6
   GOTO   GEC20
GEC21
   RRF   PORTB
   BCF   PORTB,7
   CALL   BEKLE
   BTFSS   PORTB,0
   GOTO   GEC21
GEC22
   RRF   PORTB
   BCF   PORTB,7
;------------------------------------
;PORTA SOLDAN SAĞA İKİŞERLİ HAREKET
   RRF   PORTA
   BSF   PORTA,3
   CALL   BEKLE
   BTFSS   PORTA,2
   GOTO   GEC22
GEC23
   RRF   PORTA
   BCF   PORTA,3
   CALL   BEKLE
   BTFSS   PORTA,0
   GOTO   GEC23
GEC24
   RRF   PORTA
   BCF   PORTA,3
   CALL   BEKLE
   BTFSC   PORTA,0
   GOTO   GEC24

   BCF   STATUS,0
   DECFSZ   ADET,1      
   GOTO   MUK5      
   GOTO   FLH5      
MUK5   RLF   HIZ      
   GOTO   TKRR5      
FLH5
   MOVLW   B'001'      
   MOVWF   HIZ      
   CALL   FLASH      
;----------------------------------------------------------
;ÜÇERLİ HAREKET SAĞDAN SOLA
;----------------------------------------------------------
   MOVLW   .3
   MOVWF   ADET
   MOVLW   B'001'      
   MOVWF   HIZ      
;----------------------------------
;PORTA SAĞDAN SOLA ÜÇERLİ HAREKET
TKRR6
   RLF   PORTA
   BSF   PORTA,0
   CALL   BEKLE
   BTFSS   PORTA,2
   GOTO   TKRR6
GEC25
   RLF   PORTA       
   BCF   PORTA,0
   CALL   BEKLE
   BTFSS   PORTA,3      
   GOTO   GEC25
;---------------------------------
;PORTB SAĞDAN SOLA ÜÇERLİ HAREKET
GEC26
   RLF   PORTA       
   BCF   PORTA,0
   RLF   PORTB
   BSF   PORTB,0
   CALL   BEKLE
   BTFSS   PORTB,2
   GOTO   GEC26   
GEC27
   RLF   PORTB
   BCF   PORTB,0
   CALL   BEKLE   
   BTFSS   PORTB,7
   GOTO   GEC27
GEC28
   RLF   PORTB
   BCF   PORTB,0
   CALL   BEKLE
   BTFSC   PORTB,7
   GOTO   GEC28
;---------------------------------
;PORTB SOLDAN SAĞA ÜÇERLİ HAREKET
GEC29
   RRF   PORTB
   BSF   PORTB,7
   CALL   BEKLE
   BTFSS   PORTB,5
   GOTO   GEC29
GEC30
   RRF   PORTB
   BCF   PORTB,7
   CALL   BEKLE
   BTFSS   PORTB,0
   GOTO   GEC30
GEC31
   RRF   PORTB
   BCF   PORTB,7
;---------------------------------
;PORTA SOLDAN SAĞA ÜÇERLİ HAREKET
   RRF   PORTA
   BSF   PORTA,3
   CALL   BEKLE
   BTFSS   PORTA,1
   GOTO   GEC31
GEC32
   RRF   PORTA
   BCF   PORTA,3
   CALL   BEKLE
   BTFSC   PORTA,0
   GOTO   GEC32

   
   BCF   STATUS,0
   DECFSZ   ADET,1      
   GOTO   MUK6      
   GOTO   FLH6      
MUK6   RLF   HIZ      
   GOTO   TKRR6      
FLH6
   MOVLW   B'001'      
   MOVWF   HIZ      
   CALL   FLASH      

;-------------------------------------------------------------
;DOLU-BOŞ, DOLU-BOŞ, DOLU-BOŞ... SAĞDAN SOLA
;-------------------------------------------------------------
   MOVLW   .3
   MOVWF   ADET
   MOVLW   B'001'      ;W REG'E BINARY'001' SAYISINI YÜKLE (3 FARKLI HIZ İÇİN)
   MOVWF   HIZ      ;W REG'DEKİ '0001' SAYISINI HIZ DEĞİŞKENİNE YÜKLE
TKRR7
;---------------------------------
;PORTA SAĞDAN SOLA DOLU-BOŞ DOLU-BOŞ
   RLF   PORTA
   BSF   PORTA,0
   CALL   BEKLE
   RLF   PORTA
   BCF   PORTA,0
   CALL   BEKLE
   BTFSS   PORTA,3
   GOTO   TKRR7
GEC33
   RLF   PORTA
   BSF   PORTA,0
;---------------------------------
;PORTB SAĞDAN SOLA DOLU-BOŞ DOLU-BOŞ
   RLF   PORTB   
   BSF   PORTB,0
   CALL   BEKLE
   RLF   PORTA
   BCF   PORTA,0
   RLF   PORTB
   BCF   PORTB,0
   CALL   BEKLE
   BTFSS   PORTB,7
   GOTO   GEC33

   MOVLW   .3
   MOVWF   DEG1
GEC34
   COMF   PORTB,F
   RLF   PORTA
   BCF   PORTA,0
   CALL   BEKLE
   DECFSZ   DEG1,1
   GOTO   GEC34

   MOVLW   .8
   MOVWF   DEG1
GEC35
   RLF   PORTB
   BCF   PORTB,0
   CALL   BEKLE
   DECFSZ   DEG1,1   
   GOTO   GEC35
;---------------------------------
;PORTB SOLDAN SAĞA DOLU-BOŞ DOLU-BOŞ
GEC36
   RRF   PORTB
   BSF   PORTB,7
   CALL   BEKLE
   RRF   PORTB
   BCF   PORTB,7
   CALL   BEKLE
   BTFSS   PORTB,0
   GOTO   GEC36

GEC37
   COMF   PORTB,F
;---------------------------------
;PORTA SOLDAN SAĞA DOLU-BOŞ DOLU-BOŞ
   RRF   PORTA
   BSF   PORTA,3
   CALL   BEKLE
   COMF   PORTB,F
   RRF   PORTA
   BCF   PORTA,3
   CALL   BEKLE
   BTFSS   PORTA,0
   GOTO   GEC37

   MOVLW   .7
   MOVWF   DEG1
GEC38
   RRF   PORTB
   BCF   PORTB,7
   COMF   PORTA,F
   CALL   BEKLE
   DECFSZ   DEG1,1
   GOTO   GEC38

   MOVLW   .4
   MOVWF   DEG1
GEC39
   RRF   PORTA
   BCF   PORTA,3
   CALL   BEKLE
   DECFSZ   DEG1,1
   GOTO   GEC39
   
   BCF   STATUS,0
   DECFSZ   ADET,1      
   GOTO   MUK7      
   GOTO   FLH7      
MUK7   RLF   HIZ      
   GOTO   TKRR7      
FLH7
   MOVLW   B'001'      
   MOVWF   HIZ      
   CALL   FLASH      

;----------------------------------------------------------------------------
;BİR SİNYAL GÖNDER EN SONDAKİ YANSIN VE DİĞERLERİ... SAĞDAN SOLA
;----------------------------------------------------------------------------
   MOVLW   .3
   MOVWF   ADET
   MOVLW   B'001'      
   MOVWF   HIZ      
TKRR8   
   CALL   PRTATEK
   BSF   PORTB,0
   CALL   BEKLE
GEC40
   RLF   PORTB
   BCF   PORTB,0
   CALL   BEKLE
   BTFSS   PORTB,7
   GOTO   GEC40
   CALL   PRTATEK
   BSF   PORTB,0
   CALL   BEKLE
GEC41
   RLF   PORTB
   BCF   PORTB,0
   BSF   PORTB,7
   CALL   BEKLE
   BTFSS   PORTB,6
   GOTO   GEC41
   CALL   PRTATEK
   BSF   PORTB,0
   CALL   BEKLE
GEC42
   RLF   PORTB
   BCF   PORTB,0
   BSF   PORTB,6
   CALL   BEKLE
   BTFSS   PORTB,5
   GOTO   GEC42
   CALL   PRTATEK
   BSF   PORTB,0
   CALL   BEKLE
GEC43
   RLF   PORTB
   BCF   PORTB,0
   BSF   PORTB,5
   CALL   BEKLE
   BTFSS   PORTB,4
   GOTO   GEC43
   CALL   PRTATEK
   BSF   PORTB,0
   CALL   BEKLE
GEC44
   RLF   PORTB
   BCF   PORTB,0
   BSF   PORTB,4
   CALL   BEKLE
   BTFSS   PORTB,3
   GOTO   GEC44
   CALL   PRTATEK
   BSF   PORTB,0
   CALL   BEKLE
GEC45
   RLF   PORTB
   BCF   PORTB,0
   BSF   PORTB,3
   CALL   BEKLE
   BTFSS   PORTB,2
   GOTO   GEC45
   CALL   PRTATEK
   BSF   PORTB,0
   CALL   BEKLE
GEC46
   RLF   PORTB
   BCF   PORTB,0
   BSF   PORTB,2
   CALL   BEKLE
   BTFSS   PORTB,1
   GOTO   GEC45
   CALL   PRTATEK
   BSF   PORTB,0
   CALL   BEKLE

   BSF   PORTA,0
   CALL   BEKLE
GEC48
   RLF   PORTA
   BCF   PORTA,0
   CALL   BEKLE
   BTFSS   PORTA,3
   GOTO   GEC48
   BSF   PORTA,0
   CALL   BEKLE
GEC49
   RLF   PORTA
   BSF   PORTA,3
   BCF   PORTA,0
   CALL   BEKLE
   BTFSS   PORTA,2
   GOTO   GEC49
   BSF   PORTA,0
   CALL   BEKLE
   BSF   PORTA,1
   BCF   PORTA,0
   CALL   BEKLE
   BSF   PORTA,0
   CALL   BEKLE
   CLRF   PORTA
   CLRF   PORTB   
   CALL   BEKLE



   BCF   STATUS,0
   DECFSZ   ADET,1      
   GOTO   MUK8      
   GOTO   FLH8      
MUK8   RLF   HIZ      
   GOTO   TKRR8      
FLH8
   MOVLW   B'001'      
   MOVWF   HIZ      
   CALL   FLASH      

;----------------------------------------------------------------------------
;BİR SİNYAL GÖNDER EN SONDAKİ YANSIN VE DİĞERLERİ... SOLDAN SAĞA
;----------------------------------------------------------------------------
   MOVLW   .3
   MOVWF   ADET
   MOVLW   B'001'      ;W REG'E BINARY'001' SAYISINI YÜKLE (3 FARKLI HIZ İÇİN)
   MOVWF   HIZ      ;W REG'DEKİ '0001' SAYISINI HIZ DEĞİŞKENİNE YÜKLE
TKRR9   
   CALL   PRTBTEK
   BSF   PORTA,3
   CALL   BEKLE
GEC50
   RRF   PORTA
   BCF   PORTB,3
   CALL   BEKLE
   BTFSS   PORTA,0
   GOTO   GEC50
   CALL   PRTBTEK
   BSF   PORTA,3
   CALL   BEKLE
GEC51
   RRF   PORTA
   BCF   PORTA,3
   BSF   PORTA,0
   CALL   BEKLE
   BTFSS   PORTA,1
   GOTO   GEC51
   CALL   PRTBTEK
   BSF   PORTA,3
   CALL   BEKLE
   BSF   PORTA,2
   BCF   PORTA,3
   CALL   BEKLE
   CALL   PRTBTEK
   BSF   PORTA,3
   CALL   BEKLE

   BSF   PORTB,7   
   CALL   BEKLE
GEC52
   RRF   PORTB
   BCF   PORTB,7
   CALL   BEKLE
   BTFSS   PORTB,0
   GOTO   GEC52

   BSF   PORTB,7
   CALL   BEKLE
GEC53
   RRF   PORTB
   BCF   PORTB,7
   BSF   PORTB,0
   CALL   BEKLE
   BTFSS   PORTB,1
   GOTO   GEC53

   BSF   PORTB,7
   CALL   BEKLE
GEC54
   RRF   PORTB
   BCF   PORTB,7
   BSF   PORTB,1
   CALL   BEKLE
   BTFSS   PORTB,2
   GOTO   GEC54

   BSF   PORTB,7
   CALL   BEKLE
GEC55
   RRF   PORTB
   BCF   PORTB,7
   BSF   PORTB,2
   CALL   BEKLE
   BTFSS   PORTB,3
   GOTO   GEC55

   BSF   PORTB,7
   CALL   BEKLE
GEC56
   RRF   PORTB
   BCF   PORTB,7
   BSF   PORTB,3
   CALL   BEKLE
   BTFSS   PORTB,4
   GOTO   GEC56

   BSF   PORTB,7
   CALL   BEKLE
GEC57
   RRF   PORTB
   BCF   PORTB,7
   BSF   PORTB,4
   CALL   BEKLE
   BTFSS   PORTB,5
   GOTO   GEC57

   BSF   PORTB,7
   CALL   BEKLE
GEC58
   RRF   PORTB
   BCF   PORTB,7
   BSF   PORTB,5
   CALL   BEKLE
   BTFSS   PORTB,6
   GOTO   GEC57
   BSF   PORTB,7
   CALL   BEKLE
   CLRF   PORTA
   CLRF   PORTB
   CALL   BEKLE

   BCF   STATUS,0
   DECFSZ   ADET,1      
   GOTO   MUK9      
   GOTO   FLH9      
MUK9   RLF   HIZ      
   GOTO   TKRR9      
FLH9
   MOVLW   B'001'      
   MOVWF   HIZ      
   CALL   FLASH      
;-------------------------------------------------------
;MEKSİKA DALGALANMASI İKİ TARAFLI
;-------------------------------------------------------
   MOVLW   .3
   MOVWF   ADET
   MOVLW   B'001'      
   MOVWF   HIZ      
TKRR10
   MOVLW   B'11111111'
   MOVWF   PORTA
   MOVWF   PORTB
   CALL   BEKLE
;----------------------------------
;PORTA MEKSİKA DALGALANMASI
   BCF   PORTA,0
   CALL   BEKLE
   BCF   PORTA,1
   CALL   BEKLE
GEC59
   RLF   PORTA
   BSF   PORTA,0
   CALL   BEKLE
   BTFSC   PORTA,3
   GOTO   GEC59
GEC60
   RLF   PORTA
   BSF   PORTA,0
;----------------------------------
;PORTB MEKSİKA DALGALANMASI
   RLF   PORTB
   CALL   BEKLE
   BTFSS   PORTA,3
   GOTO   GEC60
GEC61
   RLF   PORTB
   BSF   PORTB,0
   CALL   BEKLE
   BTFSC   PORTB,7
   GOTO   GEC61
GEC62
   RLF   PORTB
   BSF   PORTB,0   
   CALL   BEKLE
   BTFSS   PORTB,7
   GOTO   GEC62
;----------------------------------
;PORTB MEKSİKA DALGALANMASI GERİ DÖNÜŞ
   BCF   PORTB,7
   CALL   BEKLE
   BCF   PORTB,6
   CALL   BEKLE
GEC63
   RRF   PORTB
   BSF   PORTB,7
   CALL   BEKLE
   BTFSC   PORTB,0
   GOTO   GEC63
GEC64
   BSF   PORTB,1
;----------------------------------
;PORTA MEKSİKA DALGALANMASI GERİ DÖNÜŞ
   BCF   PORTA,3
   CALL   BEKLE
   BSF   PORTB,0
   BCF   PORTA,2
   CALL   BEKLE
   RRF   PORTA
   BSF   PORTA,3
   CALL   BEKLE
   RRF   PORTA
   BSF   PORTA,3
   CALL   BEKLE
   BSF   PORTA,1
   CALL   BEKLE
   BSF   PORTA,0
   CALL   BEKLE

   BCF   STATUS,0
   DECFSZ   ADET,1      
   GOTO   MUK10      
   GOTO   FLH10      
MUK10   RLF   HIZ      
   GOTO   TKRR10      
FLH10
   MOVLW   B'001'      
   MOVWF   HIZ      
   CALL   FLASH      

   GOTO   BASLA      ;BAŞA DÖN
;---------------PRTATEK RUTİNİ---------------------
PRTATEK
   BSF   PORTA,0
   CALL   BEKLE
DONBABA
   RLF   PORTA
   BCF   PORTA,0
   CALL   BEKLE
   BTFSS   PORTA,3
   GOTO   DONBABA
   CLRF   PORTA
   RETURN
;---------------PRTBTEK RUTİNİ---------------------
PRTBTEK
   BSF   PORTB,7
   CALL   BEKLE
DONBABA2
   RRF   PORTB
   BCF   PORTB,7
   CALL   BEKLE
   BTFSS   PORTB,0
   GOTO   DONBABA2
   CLRF   PORTB
   RETURN
;---------------FLASH RUTİNİ---------------------
FLASH
   MOVLW   .3
   MOVWF   ADET
FLSH1
   MOVLW   B'11111'
   MOVWF   PORTA
   MOVLW   B'11111111'
   MOVWF   PORTB
   CALL   BEKLE
   CALL   BEKLE
   CALL   BEKLE
   CLRF   PORTA
   CLRF   PORTB
   CALL   BEKLE
   CALL   BEKLE
   CALL   BEKLE

   DECFSZ   ADET,1
   GOTO   FLSH1
   RETURN
;---------------BEKLE RUTİNİ-----------------------   
BEKLE   
   BTFSS   HIZ,0   ;HIZ değeri 0.bit 1 mi?
   GOTO   HIZ2   ;1 değilse HIZ2'ye git, 1 ise burayı atla
   GOTO   BEKLE1   ;1 ise, BEKLE1 rutinine git
HIZ2   
   BTFSS   HIZ,1   ;HIZ değeri 1. bit 1 mi?
   GOTO   HIZ3   ;1 değilse, HIZ3'e git, 1 ise burayı atla
   GOTO   BEKLE2   ;1 ise, BEKLE2 rutinine git
HIZ3
   BTFSS   HIZ,2   ;HIZ değeri 2. bit 1 mi?
   GOTO   BEKLE3   ;1 değilse, BEKLE3'e git, 1 ise burayı atla
   GOTO   BEKLE3   ;1 ise, BEKLE3 rutinine git
   
BEKLE1   
   MOVLW   .150   ;W Reg'e 150 sayısını at   
   MOVWF   S1   ;sayıyı S1 değişkenine yükle
SAY1   MOVLW   .150   ;W Reg'e 150 sayısını at   
   MOVWF   S2   ;sayıyı S2 değişkenine yükle
   MOVLW   .150   ;W Reg'e 150 sayısını at   
   MOVWF   S3   ;sayıyı S3 değişkenine yükle
SAY2   DECFSZ   S2,1   ;S2 sayısını 1 eksilt. Sonuç 0'mı?   
   GOTO   SAY2   ;0 değilse SAY2'ye git, 0 ise burayı atla   
SAY3   DECFSZ   S3,1   ;0 ise S3 değerini 1 eksilt, sonuç 0'mı?
   GOTO   SAY3   ;0 değilse SAY3'e git, 0 ise burayı atla      
   DECFSZ   S1,1   ;0 ise S1 değerini 1 eksilt, sonuç 0'mı?   
   GOTO   SAY1   ;0 değilse SAY1'e git, 0 ise burayı atla         
   RETURN

BEKLE2   
   MOVLW   .120   ;W Reg'e 120 sayısını at      
   MOVWF   S1   ;sayıyı S1 değişkenine yükle   
SAY21   MOVLW   .120     ;W Reg'e 120 sayısını at      
   MOVWF   S2   ;sayıyı S2 değişkenine yükle   
   MOVLW   .120   ;W Reg'e 120 sayısını at   
   MOVWF   S3   ;sayıyı S3 değişkenine yükle
SAY22   DECFSZ   S2,1   ;S2 sayısını 1 eksilt. Sonuç 0'mı?      
   GOTO   SAY22   ;0 değilse SAY22'ye git, 0 ise burayı atla      
SAY23   DECFSZ   S3,1   ;0 ise S3 değerini 1 eksilt, sonuç 0'mı?   
   GOTO   SAY23   ;0 değilse SAY23'e git, 0 ise burayı atla      
   DECFSZ   S1,1   ;0 ise S1 değerini 1 eksilt, sonuç 0'mı?      
   GOTO   SAY21   ;0 değilse SAY21'e git, 0 ise burayı atla         
   RETURN
BEKLE3   
   MOVLW   .90   ;W Reg'e 90 sayısını at         
   MOVWF   S1   ;sayıyı S1 değişkenine yükle      
SAY31   MOVLW   .90   ;W Reg'e 90 sayısını at         
   MOVWF   S2   ;sayıyı S2 değişkenine yükle      
   MOVLW   .90   ;W Reg'e 90 sayısını at   
   MOVWF   S3   ;sayıyı S3 değişkenine yükle
SAY32   DECFSZ   S2,1   ;S2 sayısını 1 eksilt. Sonuç 0'mı?         
   GOTO   SAY32   ;0 değilse SAY32'ye git, 0 ise burayı atla         
SAY33   DECFSZ   S3,1   ;0 ise S3 değerini 1 eksilt, sonuç 0'mı?      
   GOTO   SAY33   ;0 değilse SAY33'e git, 0 ise burayı atla         
   DECFSZ   S1,1   ;0 ise S1 değerini 1 eksilt, sonuç 0'mı?         
   GOTO   SAY31   ;0 değilse SAY31'e git, 0 ise burayı atla            
   RETURN


   END   
bu devreyi hex çeiviriyorum am bir türlü dengeli çalışmıyor bir satırı bitirirp tekrar başa sarıyor. isisle çalıştırdığım zaman çalışıyoru pcte bir sorun yok yzaılımda da bir sorun görünmüyor yardımcı olabilriseniz

fahri-

şemanızde hatalar olabilir(besleme pinlerinde 100n gibi, mclr pini gibi). cevap alabilmek için şemayı da ekleyin bence