You are on page 1of 6

list

p=16f84 #include "P16F84.INC" ; Include header file #define bank0 bcf STATUS, RP0 #define bank1 bsf STATUS, RP0 #define #define #define #define #define ileri geri saga sola dur H'000c' H'000d' H'000e' H'000f' h'0010' h'0011' h'0012' h'0013' h'0014' h'0015' h'0016' h'0017' h'0018' h'0019' h'0020' h'0021' h'0022' h'0023' 0 INTCON main 0x05 0x0A 0x06 0x09 0x00 ; ; ; ; ; 00000101 00001010 00000110 00001001 00000000

sayac1 sayac2 sessur depo pbmask ledsay eepsay eskib flag sesfrek ldrval sagval solval timer flag2 timsay statemp wtemp

EQU EQU EQU EQU equ equ equ equ equ equ equ equ equ equ equ equ equ equ org

start

clrf goto nop nop

intvec movwf movf movwf btfss goto bcf banksel incf btfsc incf pop movf movwf swapf swapf retfie

wtemp STATUS,w statemp INTCON,T0IF pop INTCON,T0IF PORTB timsay STATUS,Z timer statemp,w STATUS wtemp,f wtemp,w

; save off current W register contents ; move status register into W register ; save off contents of STATUS register ; Timer0 interrupt? ; Clear the Timer0 interrupt flag

; retrieve copy of STATUS register ; restore pre-isr STATUS register contents ; restore pre-isr W register contents

main banksel TRISB movlw b'11111110' movwf TRISB movlw movwf call b'00000000' TRISA init ; PORTB giri, -- 7. biti k (ses iin) ; PORTA k

banksel PORTB clrf bcf clrf PORTB OPTION_REG,7 flag ; Enable portb pullups

;**************************** ;**************************** basadon aprog

isikara sagsol call movlw movwf call movlw movwf call call movwf call movlw movwf call movlw movwf call call movlw movwf call movlw movwf call call movwf

carptimi saga PORTA azbekle dur PORTA azbekle ldrbak sagval carptimi sola PORTA azbekle dur PORTA azbekle carptimi sola PORTA azbekle dur PORTA azbekle ldrbak solval

call movlw movwf call movlw movwf call call movfw subwf btfss goto solak sol1 btfsc call bsf bcf movlw movwf call movlw movwf call call call call goto salak sag1 btfsc call bsf bcf movlw movwf call movlw movwf call call call goto gitgit movlw movwf call call movlw movwf call return

carptimi saga PORTA azbekle dur PORTA azbekle carptimi sagval solval,0 STATUS,C salak flag,1 gitgit flag,2 flag,1 sola PORTA azbekle dur PORTA azbekle carptimi snd snd sagsol flag,2 gitgit flag,1 flag,2 saga PORTA azbekle dur PORTA azbekle carptimi snd sagsol ileri PORTA bekle bekle dur PORTA bekle

;**************************** init movlw 0x8F ; Set the timer prescaler. banksel OPTION_REG movwf OPTION_REG banksel TMR0 movlw 0x00 movwf TMR0 bsf INTCON,T0IE ; Enable the timer interrupt. bsf INTCON,GIE ; Enable global interrupts. return ;**************************** bibibip call snd call bekle call snd call bekle call snd call bekle return ;**************************** carptimi btfss PORTB,2 call sagcarp btfss PORTB,1 call solcarp return ;**************************** ldrbak banksel TRISA bcf TRISA,4 banksel PORTA bcf PORTA,4 nop nop banksel TRISA bsf TRISA,4 banksel PORTA movlw movwf testet movfw sublw btfss incf btfsc goto goto birdir bcf rrf bcf rrf bcf rrf movfw sublw ldrval d'255' STATUS,2 ldrval,1 PORTA,4 birdir testet STATUS,0 ldrval,1 STATUS,0 ldrval,1 STATUS,0 ldrval,1 ldrval d'255' 0 ldrval

; RA4 output ; discharge capacitor

; RA4 input

andlw b'00011111' movwf ldrval return ;----------------------------------------sagcarp movlw d'100' call efekt movlw geri movwf PORTA call bekle call bekle movlw sola movwf PORTA call bekle call bekle return ;----------------------------------------solcarp movlw d'100' call efekt movlw geri movwf PORTA call bekle call bekle movlw saga movwf PORTA call bekle call bekle return ;----------------------------------------;----------------------------------------efekt movwf sessur efktlop movfw movwf bsf slop1 sessur sesfrek PORTB,0

incfsz sesfrek goto slop1 bcf PORTB,0

slop2

incfsz sesfrek goto slop2

decfsz sessur goto efktlop return ;----------------------------------------snd movlw 0ffh movwf sessur sndlop bsf call bcf call PORTB,0 lbek PORTB,0 lbek

decfsz sessur goto sndlop return lbek lbek2 movlw movwf 0xf1 sesfrek

nop nop nop incfsz sesfrek goto lbek2 return

azbekle movlw movwf movlw movwf

d'70' sayac2 d'255' sayac1

azbek1 decfsz sayac1 goto azbek1 decfsz sayac2 goto azbek1 return bekle loop1 loop bsf clrf clrf incf nop nop nop btfss goto nop nop nop incf btfss goto bcf return end PORTA,4 sayac1 sayac2 sayac2

sayac2,7 loop

sayac1 sayac1,7 loop1 PORTA,4

You might also like