Billentyu prell mentesites

Palkoci palkoci at alarmix.net
Tue Jul 25 11:44:53 CEST 2000


Hello!

Miko Imre wrote:

> Szoftverbol szeretnek prell-mentesiteni. (PIC)

Csatolok 1 progit, négy láb be, négy láb ki, prell-mentesit
és excrém idõket is állithatsz. Akkor vált át a kimenet,
ha a beállitott idõ alatt a bemeneten stabilan ellentétes
a jel.  Ha van kérdésed, NM.
/vigyázz, nincs mentve a statusz, mert ures a föprogi/

-- 

             Udv: Palkoci
-------------- next part --------------

 #INCLUDE "p16f84.inc"

	LIST  p=16f84  
	__CONFIG _HS_OSC & _WDT_ON & _PWRTE_ON
	__IDLOCS 9522 
	NOLIST


	CBLOCK	0x0c

isz1		; interrupt oszt?
be_b		;
oldb		;
ki_b		;
valt		;
tim1		;
tim2		;
tim3		;
tim4		;
temp		;
fsr_m		;
ment_w		;

	ENDC

	org     00h             ; reset vector.
	goto    Start
;============================================================== interupt
	org     04h		; Interupt vector.
	goto	Interupt
;============================================================ szubrutin


;--------subrutin--------------------------


;----------------------------------------------- end szub
Interupt
	movwf	ment_w		; W mentese!
	movf	FSR,w		; menti az FSR-t
	movwf	fsr_m		;

;	decfsz	isz1,f		; *** szamlalo cs?kkent?se
;	goto	intki		; ***

	movf	be_b,w		;
	movwf	oldb		;
	movf	PORTB,w		;
	movwf	be_b		;
	xorwf	oldb,w		;
	movwf	valt		;


	movlw	D'4'		; 
	movwf	temp		;
	movlw	tim1		;
	movwf	FSR		;
nameg	bcf	STATUS,C	;
	rrf	valt		;
	btfss	STATUS,C	; van v?ltoz?s?
	goto	nemv		; nincs
	movf	0,w		;
	btfss	STATUS,Z	;
	goto	marm		; m?r sz?mol
	movlw	D'39'		; k?sleltet?s, 10 Mhz kb 1 s
	movwf	0		;
	goto	cvege		;
marm	clrf	0		;
	goto	cvege		;

nemv	movf	0,w		;
	btfsc	STATUS,Z	;
	goto	cvege		;
	decfsz	0,f		; megy az id?
	goto	cvege		;
	bsf	valt,7		; letelt

cvege	incf	FSR		;
	decfsz	temp,f		;
	goto	nameg		;
	movf	valt,w
	andlw	h'f0'		; ez csak a sz?ps?g?rt
	xorwf	ki_b,w
	movwf	ki_b		;
	movwf	PORTB		;
intki	movf	fsr_m,w		; vissza az FSR-t
	movwf	FSR		;
	movf	ment_w,w
	bcf     INTCON, T0IF	; 
	retfie			: interrupt vege;

;============================================================ Indulas
Start
	clrf	PORTB		; kimeneti bufffer t?rl?s

	bsf     STATUS, RP0

	movlw   h'0f'
	movwf	TRISB		; PORT B ir?ny

	movlw	H'df'		; WDT=2,5s
	movwf	OPTION_REG
        bcf     STATUS, RP0

	movlw	D'8'		; 
	movwf	temp		;
	movlw	be_b		;
	movwf	FSR		;
torol	clrf	0		;
	incf	FSR		;
	decfsz	temp,f		;
	goto	torol		;

        bsf     INTCON, GIE
        bsf     INTCON, T0IE

munka				; ez lenne a f?rutin
	clrwdt

	goto munka

; ==========================
FILL	(goto wdtreset),(400h-$)
ORG	3ffh
wdtreset
	
	END



More information about the Elektro mailing list