Zaman gecikmeli bir buton

Başlatan tuncberk, 23 Şubat 2007, 15:49:59

tuncberk

Arkadaşlar,
epeyce  aradım ama bulamadım, yardımcı  olursanız  sevinirim. yapmak istediğm devre  şöyle:
Bir  butona basacağım, ayarlayacağım süre  sonunda bir  röleyi  çekip  bırakacak. Yani  bastğım butonda  bir  gecikme  sağlayacak, ancak  bu  süre  çok  kısa  (0,2 s  ile 1,5 sn arasında) , ve  zaman ayarı  çok hassas,  her zaman aynı  sürde  gecikme  sağlamalı.Röle  çektikten  sonra  bırakıp benim tekrar  butona basmamı beklemesi  gerek.

ilker_32

aşağıdaki rar'da proteus ve asm.'si mevcut... zamanı kodlardan değiştirebilirsin şuan 10sn'ye gelen karşılıkta kolay gelsin. :lol:

http://rapidshare.com/files/17909340/10sn.rar

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

LIST P=16F84A
include "P16F84A.INC"
ORG 0x0000
GOTO Label_0001
Label_0009 CLRF 0x0F
Label_000B MOVWF 0x0E
Label_0004 MOVLW 0xFF
ADDWF 0x0E , f
BTFSS STATUS , C
ADDWF 0x0F , f
BTFSS STATUS , C
GOTO Label_0002
MOVLW 0x03
MOVWF 0x0D
MOVLW 0xDF
CALL Label_0003
GOTO Label_0004
CLRF 0x0D
Label_0003 ADDLW 0xE8
MOVWF 0x0C
COMF 0x0D , f
MOVLW 0xFC
BTFSS STATUS , C
GOTO Label_0005
Label_0006 ADDWF 0x0C , f
BTFSC STATUS , C
GOTO Label_0006
Label_0005 ADDWF 0x0C , f
CLRWDT
INCFSZ 0x0D , f
GOTO Label_0006
BTFSC 0x0C , 00
GOTO Label_0007
Label_0007 BTFSS 0x0C , 01
GOTO Label_0008
NOP
GOTO Label_0008
Label_0008 RETURN
Label_0002 BCF STATUS , IRP
BCF STATUS , RP1
BCF STATUS , RP0
CLRWDT
RETURN
Label_0001 BSF STATUS , RP0
MOVLW 0x01
MOVWF TRISB
BCF STATUS , RP0
Label_000D MOVLW 0x32
CALL Label_0009
CLRWDT
BTFSC PORTB , 00
GOTO Label_000A
MOVLW 0x13
MOVWF 0x0F
MOVLW 0x88
CALL Label_000B
CLRWDT
BTFSS PORTB , 01
GOTO Label_000C
BCF PORTB , 01
BSF STATUS , RP0
BCF TRISB , 01
BCF STATUS , RP0
GOTO Label_000A
Label_000C BSF PORTB , 01
BSF STATUS , RP0
BCF TRISB , 01
BCF STATUS , RP0
Label_000A GOTO Label_000D
Label_000E SLEEP
GOTO Label_000E
END

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

sitenindelisi

Etiketleri böyle takip etmek zor olmuyor mu? Yazarken zorlanmıyor musunuz?

ilker_32

herşeyin en kısası iyidir. kaydırma çubuğunu oynatırken zorlanmazsın Maksat kısalsın..

aslan_korhan

HEX dosyasını Disasembler edildiğinden dolayı Etiketler böyle oluyor. Yani Program ASM olarak yazılmamış...
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

tuncberk

Teşekkür  ederim Maksude
Pazartesi deneyebileceğim,  malzemeler yanımda  değil. Bir  sorun  olursa tekrar yardımını  rica  edebilir miyim? PIC de  çok yeniyim Başını ağrıtırsam kusura  bakma şimdiden.
Kolaygelsin.

ilker_32

;bu nasil yazilmiş. 8)

[color=orange]listp=16f84a
include "p16f84a.inc"
sayac1 equ h'0c'
sayac2 equ h'0d'
clrf portb
bsf status, 5
clrf trisb
bsf trisa, 1
bcf status, 5
clrf mem
tekrar
btfsc porta, 1
goto tekrar
ıncf mem,w
nop
subwf d'10'
btfsc status, 2
goto yak
call gecikme
goto tekrar
yak
movlw h'ff'
movwf portb, 1
start
clrf portb
bsf status, 5
clrf trisb
bsf trisa,1
bcf status,5
clrf mem
btfsc porta,1
goto start
ıncf mem
movf mem,w
sublw d'10'
btfsc status,2
goto sondur
calll gecikme
goto start
sondur
movlw h'00'
movwf portb
dongu
goto dongu
gecıkme
movlw h'ff'
movwf sayac1
dongu1
movwf h'ff'
decfsz sayac1,f
goto dongu1
return
end[/color]


not:fazla bakmayin gözünüz bozulur yazi rengi orange.
BU YUZDEN KOD TAG KULLANILMALI

sitenindelisi