il pic16f84 non attiva le uscite

Ho un problema con un pic 16F84. Ho costruito un piccolo ludipipo e un circuito di prova. Programmo il pic mediante uno zoccolo ICSP.

Con ICPROG, leggo e scrivo sul pic senza problemi. Con PWRT disattivato e oscillatore esterno XT

Ho un programma che dovrebbe semplicemente attivare un'uscita ed accendere un led. Tuttavia non succede nulla. Se misuro le uscite con un tester ottengo 0.31 V a fronte dei 5 che dovrei ottenere per l'uscita alta Ho provato e riprovato, verificato e riverificato.. A sto punto non so se è un problema hardware o se il programma è sbagliato.

sarò molto grato a chi vorrà rispondermi.

PER FAVORE!!!!!!

Il programma è il seguente:

; Generated by WinDis84, (c) Nigel Goodwin 1998.

LIST P=16F84, F=INHX8M include "P16FXX.inc" ORG 0x0000

BSF STATUS , RP0 MOVLW 0x1F MOVWF TRISA MOVLW 0xFE MOVWF TRISB BCF STATUS , RP0 BSF PORTB , 00 Label_0003 CALL Label_0001 BTFSC PORTB , 00 GOTO Label_0002 BSF PORTB , 00 GOTO Label_0003 Label_0002 BCF PORTB , 00 GOTO Label_0003 Label_0001 CLRF 0x0C CLRF 0x0D Label_0004 DECFSZ 0x0C , f GOTO Label_0004 DECFSZ 0x0D , f GOTO Label_0004 RETURN

ORG 0x2000 DATA 0x0F DATA 0x0F DATA 0x0F DATA 0x0F

ORG 0x2007 DATA 0x11

ORG 0x2100 DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF DATA 0xFF

END

----------------------------------------------------------------------------

Reply to
Giuseppe
Loading thread data ...

"Giuseppe" ha scritto nel messaggio news:MLkBc.8054$c snipped-for-privacy@twister1.libero.it...

Prova a controllare se le uscite hanno bisogno di una resistenza di pull-up. E' solo un suggerimento, non so se il problema è davvero questo.

Ciao, Igor.

Reply to
Igor

Allora premetto che sono un principiante. La scheda l'ho presa dal sito di Sergio Fiocco

formatting link

Demoboard 16F84 ti manderei lo schema dell stampato ma sto newsgroup non accetta allegati.

Allora descrivo Tra il pin 14(VDD) e il pin 5(VSS) ho una ddp di 6.13V a circuito acceso. A reset staccato ho 5.82V sul pin4 rispetto a VSS.

In ICPROG imposto oscillatore XT e PWRT o anche solo XT

posso anche scriverti il corrispondente programma c di un led

/******************************\

  • Lampeggia un led *
  • (C) 2002 by Pinco Pallino *
  • ROMA IL 11-11-2002 * \******************************/

#include //Richiama la compilazione delle specifiche del

16F84

#include //Richiama la compilazione della routine di ritarto

main(void) //Inizio programma principale

{ //graffa aperta del programma principale

TRISB = 0; // setta le porte B come uscite

while(1) //Istruzione del ciclo senza fine (qui non c'è il punto e virgola)

{ //Graffa aperta del ciclo da ripetere

PORTB = 0b00000010; // attiva RB1 (pin 7 del 16F84)

DelayMs(250); //Ritardo di 250 ms (parametro per include delay.c)

PORTB = 0b00000000; //disattiva RB1

DelayMs(250); //Ritardo con led spento

} //Graffa chiusa del ciclo da ripetere

} //Graffa chiusa del programma principale

Una cosa del genere.

Per quanto riguarda il quarzo sopra c'è scritto 4.000 2B 172.20 non so se in fondamentale o no.

Penso che potrebbe essere un problema di quarzo.

se vuoi vedere lo schema ti do' il link.

formatting link

ovviamente per lo schema in fotoincisione occorre fare un mirror orizzontale e verticale dell'immagine.

Davvero non so cosa fare sono fermo da un mese dietro a questo stupidissimo circuito.

Ciao Grazie

"Igor" ha scritto nel messaggio news:f2mBc.500902$ snipped-for-privacy@news4.tin.it...

accendere

dovrei

pull-up.

Reply to
Giuseppe

A

in

Alimentalo a 5 volt, probabilmente a 6 non si guasta ma non gradisce

Dovrebbe essere un 4MHz in fondamentale, se non disponi di un oscilloscopio e' difficile riuscire a vedere se e' colpa del quarzo Se ha l'oscillo vedi se sui 2 pin c'e' una sinusoide, su uno ampiezza circa

5 volt sull'altro molto meno

Il programma mi sembra corretto, non e' che lampeggia troppo velocemente per cui solo con il tester non riesci a vedere la variazione ?

Hai provato a usare il simulatore della Microchip ?, almeno ti rendi conto se l'uscita si muove e a che frequenza

Saluti Massimo

Reply to
archimedep

"Giuseppe" ha scritto nel messaggio

sbagliato. [cut]

La prima cosa da fare e' verificare che non sia un problema hardware. Scaricati un programmino asm o hex stupido da qualche sito che magari attivi tutte le uscite (tipo supercar.asm o led.asm o*.hex) e riprogramma la pic con uno di questi programmi (se vuoi guardo se ho qualcosa io). Accertati a questo punto che la pic funzioni correttamente. Se funziona e' un problema software: io conosco poco l'assembler delle pic tra le righe che hai scritto pero' mi sembra che tu usi un programma tipo pic basic e non mi ci ritrovo...non saprei capire se c'e' un errore o meno. Se non funziona, e' l'hardware o della pic o del programmatore (che non la programma). Fai delle prove e fammi sapere. Ciao

Reply to
Francesco

Ciao ti consiglio di chiedere direttamente a Sergio! la sua email la trovi sul suo sito ciao

"Giuseppe" ha scritto nel messaggio news:MLkBc.8054$c snipped-for-privacy@twister1.libero.it...

sbagliato.

--

Reply to
Saponetta

"Giuseppe" ha scritto

dovrebbe lampeggiare a circa 2,5Hz

Le righe dall'ORG 2000 in poi mi sono oscure... Dovrebbe bastare questo:

PROCESSOR 16F84 RADIX DEC INCLUDE "P16F84.INC" __CONFIG 3FF1H ORG 0 BSF STATUS,RP0 BCF TRISB,0 BCF STATUS,RP0 BSF PORTB,0 Label_0003 CALL Label_0001 MOVLW 1 XORWF PORTB,f GOTO Label_0003 Label_0001 CLRF 0x0C CLRF 0x0D DECFSZ 0x0C,f GOTO $-1 DECFSZ 0x0D,f GOTO $-3 RETURN END

Claudio F

Reply to
Claudio F

Claudio ho compilato il tuo prog con mpaswin non succede nulla!

Ti risulta che si possa essere bruciato perchè l'ho alimentato a 6V?

Se fosse bruciato potrei lo stesso scrivere e leggere usando ICPROG?

"Claudio F" ha scritto nel messaggio news:oREBc.359601$ snipped-for-privacy@news3.tin.it...

Reply to
Giuseppe

Il giorno Mon, 21 Jun 2004 20:20:47 GMT, "Giuseppe" ha scritto:

Non dovrebbe essere molto probabile ma è possibile. A 6V lavora oltre l'intervallo nominale, ma è al di sotto dell'absolute maximum rating (7.5V). Almeno per l'84A.

No, non riusciresti a scrivere, o perlomeno non a scrivere dati corretti, idem per la lettura.

Reply to
Luigi C.

E se fosse un problema di quarzo? E indifferente girare i piedini? Sul quarzo c'è scritto 4.000 2B 172-20. Programmo usando UCPROG con XT ePWRT.

Domanda è possibile che la tensione troppo alta inibisca le uscite?

Grazie Giuseppe

"Luigi C." ha scritto nel messaggio news: snipped-for-privacy@4ax.com...

scritto:

(7.5V).

idem

Reply to
Giuseppe

Il giorno Tue, 22 Jun 2004 17:00:38 GMT, "Giuseppe" ha scritto:

Hai provato a sostituirlo?

Si, i quarzi non hanno polarità.

Reply to
Luigi C.

Non ho provato.Sembra che ci sia qc che inibisca l'ìuscita l'uscita deve essere a 5v?????

"Luigi C." ha scritto nel messaggio news: snipped-for-privacy@4ax.com...

scritto:

Reply to
Giuseppe

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.