• Merhaba, Kadınlar Kulübü'ne ÜCRETSİZ üye olarak yorumlar ile katkıda bulunabilir veya aklınıza takılan soruları sorabilirsiniz.

Algoritma bilen arkadaşlar,bir bakabilir misiniz?

EgeDenizi

Yazı İşleri Müdürü =)
Kayıtlı Üye
1 Aralık 2007
2.887
12
358
35
İzmir
Arkadaşlar elimde aşağıdaki gibi Assembly dilinde yazılmış bir program var.Benim bu programa akış çizgesi oluşturmam ve algoritma yazmam gerek...Yalnız algoritma bilmediğim için bu işi yapamıyorum delikafadulden

Yardımcı olursanız çok mutlu olurum.



; BUZDOLABI DEMO ZAMANLI KONTROLU

;*******************************************************

; PORTA (GıRıŞ-INPUT) PORTB (ÇIKIŞ-OUTPUT)

; RA0 I START SWITCH RB0 O DEF. REZıSTANSI
; RA1 I DEFROST RB1 O KAPI ıKAZ LEDı
; RA2 I TERMOSTAT RB2 O FAN
; RA3 I KAPI KONTROL RB3 O KOMPRESÖR
; RB4 O ıÇ LAMBA
; RB5 O TERMOSTAT LEDı
; RB6 O BOŞ
; RB7 O BOŞ

;******************************************************


LIST P=16F84
INCLUDE "P16F84.INC"
SAY1 EQU H'10'
SAY2 EQU H'11'
SAY3 EQU H'12'
STBEKLE EQU H'13'
DEFSAY EQU H'14'
DEFSURE EQU H'15'
KAPISAY EQU H'16'

;*****************************************************

CLRF PORTB
BSF STATUS,5
CLRF TRISB
MOVLW 0X1F
MOVWF TRISA ; PORT A NIN HEPSıNı GıRıŞ OLARAK TANILADIK
BCF STATUS,5

;*****************************************************

START BTFSC PORTA,0 ; START BUTONUNU RA0 KONTROL ET 0 ıSE ALT SATIRA ATLA
GOTO START ; RA0=1 BASILI DEĞıL
MOVLW D'10' ; KOMPRESÖR BASINÇ DENGELEME SÜRESı
MOVWF STBEKLE
BEKLE CALL TIMER
DECFSZ STBEKLE,1
GOTO BEKLE
DEFSET MOVLW D'240' ; DıKKAT KOMPRESÖR ÇALIŞMA SÜRESı 4 DAKıKA
MOVWF DEFSAY
TERMOC BSF PORTB,2
BSF PORTB,3
CALL TIMER
DECFSZ DEFSAY,1
GOTO ACIK
GOTO EVETDF0
ACIK BTFSC PORTA,3 ;KAPI AÇIK RA3 BUTONU
GOTO KAPALI
ACIK1 BSF PORTB,4 ; ıÇ AYDINLATMA YAN
BCF PORTB,2 ; FAN DURDUR
MOVLW D'10'
MOVWF KAPISAY
IKAZ CALL TIMER
BTFSC PORTA,3
GOTO KAPALI5
GOTO IKAZ1
KAPALI5 BCF PORTB,4
GOTO KAPALI
DECFSZ KAPISAY,1
GOTO IKAZ
IKAZ1 BSF PORTB,1
CALL TIMER
BCF PORTB,1
CALL TIMER
BCF PORTB,1
CALL TIMER
BTFSC PORTA,3
GOTO KAPALI5
GOTO IKAZ1
BCF PORTB,1 ; KAPI ıKAZ SÖN
CALL TIMER
BTFSC PORTA,3 ;KAPI KAPALI
GOTO KAPALI
GOTO ACIK1

;*****************************************************

;TERMOSTAT PROGRAMI

KAPALI BTFSC PORTA,2 ;TERMOSTAT RA2 BUTONU SICAKLIK DÜŞTÜ +2
GOTO TERMOC
BCF PORTB,2
BCF PORTB,3
BSF PORTB,5
KAPALI1 BTFSC PORTA,3 ;KAPI AÇIK MI O=AÇIK 1=KAPALI
GOTO TERMO1 ;HAYIR 1=KAPALI
BSF PORTB,1
CALL TIMER
BCF PORTB,1
CALL TIMER
BTFSC PORTA,3
GOTO KAPALI1
TERMO1 BTFSS PORTA,2 ;TERMOSTAT 1 OLDU MU? SICAKLIK YÜKSELDı Mı?
GOTO KAPALI ;HAYIR DUR
BCF PORTB,5
GOTO TERMOC ;EVET KOMP

;*****************************************************

;DEFROST PROGRAMI

EVETDF0 BSF PORTB,0
BCF PORTB,3
BCF PORTB,2
KAPALI2 BTFSC PORTA,3 ;KAPI AÇILDI MI? EVET=0 HAYIR=1
GOTO DEFRO
BSF PORTB,4
MOVLW D'10'
MOVWF KAPISAY
IKAZ2 CALL TIMER
BTFSC PORTA,3
GOTO KAPALI6
GOTO IKAZ3
KAPALI6 BCF PORTB,4
GOTO KAPALI2
DECFSZ KAPISAY,1
GOTO IKAZ2
IKAZ3 BSF PORTB,1
CALL TIMER
BCF PORTB,1
CALL TIMER
BCF PORTB,1
CALL TIMER
BTFSC PORTA,3
GOTO KAPALI6
GOTO IKAZ3
BCF PORTB,1
CALL TIMER
BTFSC PORTA,3
GOTO DEFRO
DEFRO BTFSC PORTA,1 ;DEFROST SENSÖRÜ
GOTO EVETDF0
BCF PORTB,0
GOTO DEFSET

;*****************************************************

;500 ms GECıKME SAĞLAR

TIMER MOVLW D'200' ;1 CLOCK
MOVWF SAY2 ;1 CLOCK
S2 MOVLW D'255'
MOVWF SAY1
S1 GOTO $+1 ;2 CLOCK
GOTO $+1 ;2 CLOCK
GOTO $+1 ;2 CLOCK
NOP ;1 CLOCK
DECFSZ SAY1,1 ;2 CLOCK
GOTO S1 ;2 CLOCK
DECFSZ SAY2,1
GOTO S2
RETURN

END

 
Son düzenleme:
Back