16f 877 ile asansör devresinde değişiklik.

kayasahin

Üye
Katılım
25 Eki 2013
Mesajlar
1
Puanları
1
Yaş
39
arkadaşlar 4 katlı bir asansörümüz var.sorun asansörün katlarda bekleme süresi.nasıl değiştirebilirim.
bir de kat sayısı 5 yapılabilir mi..devrenin asm si şu..
;******************************************************************;* Asansör.ASM Uygulamsı *
;******************************************************************
; PORTA,3,2,1,0 = Asansör çağırma butonları
; PORTA,4 = UP LED'leri
; PORTB,7 = DOWN LED' leri
; PORTB,6,5,4,3,2,1,0 = Katları ve kat aralarını gösteren LED' ler
;
; *******************************************************************
;
LIST P=16F877
#include <p16F877.inc>
; *******************************************************************
__FUSES (_CP_OFF & _WDT_OFF & _XT_OSC & _PWRTE_ON & _LVP_OFF)


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


porta equ 5
portb equ 6
trisb equ 86h
trisa equ 85h
status equ 3
rp0 equ 5


MSB EQU H'0023'
LSB EQU H'0024'
BEKLEM EQU H'0025'
BEKLER EQU H'0026'
BEKLES EQU H'0027'
sayac EQU H'0028'
durum EQU H'0029'
bas EQU H'002A'
sayac1 EQU H'002B'
tus_f EQU H'002C'
;************Bit Tanımlamaları***************************************
;*********Katları Gösteren Displayler******
#define kat0 portb,0
#define kat1 portb,2
#define kat2 portb,4
#define kat3 portb,6
;*********Katlararası Ledleri**************
#define kat0_1 portb,1
#define kat1_2 portb,3
#define kat2_3 portb,5
;*********Butonlar*************************
#define katb0 porta,0
#define katb1 porta,1
#define katb2 porta,2
#define katb3 porta,3
;********Aşağı/Yukarı Ledleri**************
#define yukarı porta,4
#define asagı portb,7
;********Kontrol Bayrakları****************
#define t_basılı tus_f,6
#define t_hazır tus_f,7


;------------------------------------------------------------------
org 00H
goto Start
org 05H


;-------------------------------------------------------------------
bekle
movlw .25
movwf MSB
D110
movlw .250
movwf LSB
D220
nop
decfsz LSB,F
goto D220
decfsz MSB,F
goto D110


return
;-------------------------------------------------------------------
Start
bsf status,RP0 ;SELECT REGISTER BANK 1
movlw b'00001111' ;SET PORTA,0123 INPUTS
movwf trisa ;SET PORTA,4 OUTPUT
movlw b'00000000'
movwf trisb ;SET PORTB TO ALL OUTPUTS
bcf status,RP0

movlw .254
movwf portb
movlw b'00011111'
movwf porta
clrf tus_f
;-------------------------------------------------------------------
basla


btfss katb0
goto ttest
btfss katb1
goto ttest
btfss katb2
goto ttest
btfss katb3


goto ttest
bcf t_basılı
movlw .8
movwf sayac
call bekle
goto basla



;--------------------------------------------------
ttest
btfss t_hazır
btfsc t_basılı
goto basla
decfsz sayac,F
goto basla
bsf t_hazır
bsf t_basılı




cal
bcf t_hazır
movf portb,w
andlw b'01111111'
movwf durum
movf porta,W
movwf bas
comf bas,F
movf bas,w
andlw b'00001111'
call tablo
movwf bas
kontrol


movlw .40 ;1sn lik gecikme icin sayacı kur
movwf sayac
movlw .80 ;2sn lik gecikme icin sayacı kur
movwf sayac1


movf durum,W
andlw b'01111111'
subwf bas,W
btfss status,C
goto yukari
btfsc status,Z
goto esit
asagi
movf durum,W
iorlw b'10000000'
movwf durum
bsf status,C
rrf durum,f
movf durum,w
andlw b'01111111'
movwf portb
a1 call bekle
decfsz sayac1,F
goto a1
bsf status,C
rrf durum,f
movf durum,w
andlw b'01111111'
movwf portb
a2 call bekle
decfsz sayac,F
goto a2
goto kontrol
yukari
bsf status,C
rlf durum,f
movf porta,w
andlw b'00001111'
movwf porta
movf durum,w
movwf portb
a3 call bekle
decfsz sayac1,F
goto a3
bsf status,C
rlf durum,f
movf durum,w
movwf portb
a4 call bekle
decfsz sayac,F
goto a4
goto kontrol
esit
movf porta,w
iorlw b'00010000'
movwf porta
movf portb,w
iorlw b'10000000'
movwf portb
call bekle
goto basla
tablo
addwf PCL,1
retlw b'01111110' ;0000
retlw b'01111110' ;0001
retlw b'01111011' ;0010
retlw .0 ;0011
retlw b'01101111' ;0100
retlw .0 ;0101
retlw .0 ;0110
retlw .0 ;0111
retlw b'00111111' ;1000
retlw .0 ;1001
retlw .0 ;1010
retlw .0 ;1011
retlw .0 ;1100
retlw .0 ;1101
retlw .0 ;1110
retlw b'01111110' ;1111

end
 

Forum istatistikleri

Konular
128,153
Mesajlar
915,486
Kullanıcılar
449,895
Son üye
HalilKonec

Yeni konular

Geri
Üst