PIC 16f870 Problema con codice non funzionante

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

Reply to
ripkars
Loading thread data ...

"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

Reply to
marcick

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

Reply to
ripkars

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

mi fa piacere, ciao Marco

Reply to
marcick

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.