list p=16F877
include "P16F877.inc"
; Bitsel tanimlamalar
#define SIREN PORTD,1
#define DARBE PORTD,0
DEPO3 EQU h'22'
DEPO4 EQU h'23'
ORG 0X0200
GOTO BASLA
; I/O denklikleri
BASLA
CLRW ; w registeri temizlendi
CLRF PORTD; portd temizlendi
BSF STATUS,5 ; bank1'e geç
MOVLW h'09' ; b'00001001'
MOVWF TRISD ; portd'nin 0 ve 3.bacagi giris digerlri çikis
BCF STATUS,5; bank0'a geç
; Ana Program
KONTROL2
BTFSc PORTD,3
goto diger
diger2
BTFSS DARBE ; portd'nin 0.biti(bacagi) 1 mi?
goto kontrol2
BSF SIREN
BSF PORTD,2 ; yani dortlu
goto kontrol2
diger
BCF SIREN
BCF PORTD,2 ; yani dortlu(yukarıda bitsel olarak da tanımlayabiliriz.)
goto kontrol2
END
NOT:Ben bu programı Mikroişlemciler Laboratuvar dersindeki projemde kullandım. aslında amaç oto güvenlik ama biraz daha basidi tabiki. Amaç burada dışarıdan darbe gelip gelmemesine göre sireni ve dörtlüyü yakmak.
include "P16F877.inc"
; Bitsel tanimlamalar
#define SIREN PORTD,1
#define DARBE PORTD,0
DEPO3 EQU h'22'
DEPO4 EQU h'23'
ORG 0X0200
GOTO BASLA
; I/O denklikleri
BASLA
CLRW ; w registeri temizlendi
CLRF PORTD; portd temizlendi
BSF STATUS,5 ; bank1'e geç
MOVLW h'09' ; b'00001001'
MOVWF TRISD ; portd'nin 0 ve 3.bacagi giris digerlri çikis
BCF STATUS,5; bank0'a geç
; Ana Program
KONTROL2
BTFSc PORTD,3
goto diger
diger2
BTFSS DARBE ; portd'nin 0.biti(bacagi) 1 mi?
goto kontrol2
BSF SIREN
BSF PORTD,2 ; yani dortlu
goto kontrol2
diger
BCF SIREN
BCF PORTD,2 ; yani dortlu(yukarıda bitsel olarak da tanımlayabiliriz.)
goto kontrol2
END
NOT:Ben bu programı Mikroişlemciler Laboratuvar dersindeki projemde kullandım. aslında amaç oto güvenlik ama biraz daha basidi tabiki. Amaç burada dışarıdan darbe gelip gelmemesine göre sireni ve dörtlüyü yakmak.


