PIC 16f870 Problema con codice non funzionante

Feb 14, 2007 3 Replies

Salve a tutti, Ho un problema con il seguente codice:



### Inizializzazione.h ### BCF STATUS,7 ;disable all interrupts BSF STATUS,5 ;Switch to Bank 1 MOVLW b'00000001' ;Set the Port A pins MOVWF TRISA ;to output (except RA0). BCF STATUS,5 ;revert to Bank 0



### Main.asm ### #INCLUDE "P16F870.INC"



;Inizializzazione ORG 0x00 #INCLUDE "Inizializzazione.h" GOTO RESTART



ACCENDI_ROSSO BSF PORTA,1 BCF PORTA,2 GOTO RESTART



ACCENDI_GIALLO BSF PORTA,2 BCF PORTA,1 GOTO RESTART



RESTART BTFSS PORTA,0 ;se RA0 =E8 UP -> accendi ROSSO senn=F2 GIALLO GOTO ACCENDI_GIALLO GOTO ACCENDI_ROSSO END



Questo programma dovrebbe permettermi di cambiare il led acceso (rosso o giallo) a seconda della posizione dell'interruttore. Utilizzo MPLAB (ad oggi l'ultima versione) con cui ho creato un progetto in cui ho incluso i due file citati. Il problema =E8 che quando con un interruttore sposto la tensione da +5 a 0 V (e poi viceversa) resta accesa solo la luce gialla (su RA2) e non si accende mai quella rossa (su RA1). Il PIC =E8 collegato a dovere, ho provato con altre applicazioni pi=F9 semplici (come lampeggio led ed accensione led con pulsante) e tutto funziona.



Lista Pin collegati:



1- +5 V fisso (!MCRL)
2- uscita interruttore collegato a massa e a +5V (RA0)
3- uscita per il led rosso (RA1)
4- uscita per il led giallo (RA2)
5- NC
6- NC
7- NC
8- GND (VSS)
9- 3Kohm + 100pf (rispettivamente a +5 e a gnd, come vuole il datsheet DS30569B a pagina 90)
10-18- NC
19- GND (VSS)
20- +5V (VCC)
21-28- NC

Ringrazio anticipatamente tutti coloro che parteciperanno alla discussione Saluti Rccardo



"ripkars" ha scritto nel messaggio news: snipped-for-privacy@p10g2000cwp.googlegroups.com...

La porta A in genere è condivisa con l'A/D converter. Controlla i registri ADCON in modo da dichiarare che i bit 1 e 2 della porta A devono essere I/O digitali e non ingressi analogici. Marco

formatting link

snipped-for-privacy@p10g2000cwp.googlegroups.com...

tri

/O

Marco ti ringrazio molto il problema erra proprio quello. Adesso funziona a dovere :D ! Ciao e grazie ancora

"ripkars" ha scritto nel messaggio news: snipped-for-privacy@l53g2000cwa.googlegroups.com...

mi fa piacere, ciao Marco

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required