Newsgroup: it.hobby.elettronica.digitale
Titolo: malfunzionamentodi ( btfsc PORTA,.......... con il PIC16F628A

5/07/2006	Ciao Amici.
	Mi chiamo Piero, sono un discreto progettista in elettronica digitale,
ma un pessimo
compilatore di programmi per il PIC16F628A, in quanto sono alle
primissime armi, perciò o bisogno del Vostro prezioso aiuto.
Sto lavorando su una scheda, perfettamente funzionante con un prgramma
scritto non so da chi, e
lo sto ricrivendo daccapo, primo, per imparare ad editare, secondo,
perchè prevedo un'ampliamento di funzioni.
Mi sono accorto, e non capisco perchè, che non effetttua una funzione,
faccio presente che con l'altro programma questa funzione la esegue
correttamente, quindi il circuito e a posto, la funzione che non esegue
è la seguente:
          btfsc  PORTA,PSTOP   ; salto se il pulsante non è premuto =
a 0 ( NON FUNZI0NA )?
mentre se sostituisco la porta A con la porta B e scambio i
collegamenti elettrici il tutto funziona.
Mi permetto di allegare il programma che hò editato.
un'altra cortesia che Vi chiedo, e di spiegarmi meglio, quando
utilizzare queste 2 istruzioni, ed il loro esatto significato:
bsf     STATUS,RP0
bcf     STATUS,RP0
Allego il programma;
;	ESEMPIO DIMOSTRATIVO NON ANCORA COMPLETO DI TUTTE LE FUNZIONI
	Processor	16f628A
	RADIX	DEC
	INCLUDE	<P16F628A.INC>
	BarraLED	EQU	3	; PORTA B out
	PON		EQU	4	; PORTA A input
	PSTOP		EQU	0	; PORTA A input
	Cmicro		EQU	1	; PORTA A out
	RelAvON		EQU	5	; PORTA B out
	RelAvOFF	EQU	5	; PORTA B out
	RelRitON	EQU	4	; PORTA B out
	RelRitOFF	EQU	4	; PORTA B out
	Fotocel		EQU	6	; PORTA B imput
	Encoder		EQU	0	; porta B imput
	Oliatore	EQU	3	; porta A input
	ORG	0CH
	Count	res 2		; riserva 2 casella di memoria
	ORG	00H
        bsf     STATUS,RP0	;
	movlw	11111101B
	movwf	TRISA		; programma bit 1 porta A in out
	movlw	11000111B
	movwf	TRISB		; programma bit 3 4 e 5 porta B in output
	bcf     STATUS,RP0	;
	clrf	PORTA		; spengo il circuito
	clrf	PORTB		; spengoo la barra led e il rele
start	btfss	PORTB,Fotocel	; salta se la fotcellula non e libera = a 1
	goto	start1
	bsf	PORTA,Cmicro	; ( auto'alimentazione della scheda )
	bsf	PORTB,BarraLED	; accendo la barra led
Main	btfsc	PORTA,PON	; salto se il pulsante non è premuto = a 0
	goto	ReAvON
	bcf	PORTB,RelAvOFF	; diseccito il relè di marcia avanti
	btfsc	PORTA,PSTOP	; salto se il pulsante non è premuto = a 0 ( NON
FUNZI0NA )?
	goto	ReRitON
	bcf	PORTB,RelRitOFF	; diseccito il relè di marcia avanti
	goto	start
ReAvON	bsf	PORTB,RelAvON	; eccito il relè di marcia avanti
	goto	start
ReRitON	bsf	PORTB,RelRitON	; eccito il relè di ritorno
	goto	start
start1	clrf	PORTA		; spengo il circuito
	clrf	PORTB		; spengoo la barra led e il rele
	goto	start
 
	END
 
Grazie anticipatamente PieroA.



 ha scritto nel messaggio
news:1152133684....@75g2000cwc.googlegroups.com...
5/07/2006 Ciao Amici.
Mi chiamo Piero, sono un discreto progettista in elettronica digitale,
ma un pessimo
compilatore di programmi per il PIC16F628A, in quanto sono alle
primissime armi, perciň o bisogno del Vostro prezioso aiuto.
Sto lavorando su una scheda, perfettamente funzionante con un prgramma
scritto non so da chi, e
<CUT>
..sei sicuro che non funzioni??..non č che va tanto veloce che non si notano
gli effetti?..hai pensato allo stato che non faccia looppare il tasto??...
..rispondo senza leggere il programma perchč sto dormendo!!!..se una di
queste cose non manca..pensaci, per quanto riguarda la conf del pic
controlla che tipo di ingressi sono di default quelli sul porta se analog o
digital..in caso di analog imposta per bene l'option_reg e l' adcon se non
erro!!ora dormo!!
noche!

 ha scritto nel messaggio 
news:ewYqg.13794$yg6....@tornado.fastwebnet.it...

Come dice Stefano la colpa č dei comparatori analogici che sono attivi al 
power on e  multiplexati con la porta A. Devi impostare i bit CM2,CM1,CM0 di 
CMCON a 1