Vai al contenuto
PLC Forum


programma per PIC 16F84A


giolecce

Messaggi consigliati

Livio Orsini

Perchè non dai le informazioni richieste?

 

23 ore fa, Livio Orsini ha scritto:

Con che compilatore stai lavorando?

Che programmatore usi?

 

Link al commento
Condividi su altri siti


  • Risposte 70
  • Created
  • Ultima risposta

Top Posters In This Topic

  • Livio Orsini

    23

  • giolecce

    17

  • dott.cicala

    15

  • del_user_97632

    12

Livio Orsini

E vero, però quello sembra essere il simulatore e lui dice che sul simulatore funziona 

Link al commento
Condividi su altri siti

4 ore fa, dott.cicala ha scritto:

Sei  sicuro dello schema?? Vss non è collegato??

Lo schema l'ho disegnato dimenticando di collegare Vss  .. 

 

12 minuti fa, Livio Orsini ha scritto:

E vero, però quello sembra essere il simulatore e lui dice che sul simulatore funziona 

Il simulatore che uso e PIC SIMULATOR IDE come compilatore uso il basic compiler in dotazione con il software di simulazione ....il programmatore si chiama PIC k150....però scusate, ma vi chiedo il listato è semplice, dal punto di vista hardware, l'unica miglioria che posso apportare è quella di porre un condensatore per disaccopiare la tensione di alimentazione ...inizio a pensare che il pic sia rotto...

Link al commento
Condividi su altri siti

Lo schema è pessimo. 

 

Con questo schema e questo codice DEVE funzionare

image.png.750033bae561b585a8dfc0050472f093.png

 

:020000000328D3
:10000600FF308316850086018312850186010E1056
:100016008E100E118E1585191228401413284010C3
:100026000E181728031418280310401C1E28031C3A
:100036001E280E151F280E11401823280E102428DE
:100046000E148E182828031429280310851D2F281E
:10005600031C2F288E1530288E11851934288E10F2
:1000660035288E140E193A288E193A283B288615FB
:10007600861D4C280B30CB002630CC005D30CD00E1
:10008600CD0B4328CC0B4328CB0B432800000000A4
:0600960086110E284D2822
:02400E00FA3F77
:00000001FF

 

Link al commento
Condividi su altri siti

Livio Orsini
8 ore fa, dott.cicala ha scritto:

Lo schema è pessimo.

 

Stefano, grafica a parte non c'è molta differenza tra i 2 schemi.

Oltre alcondensatore sul reset (come gli avevo già suggerito qualche giorno addietro) hai aggiunto un forte ritardo per il debouncing dell'ingresso.

 

Secondo me il problema non è Hw, ma

10 ore fa, giolecce ha scritto:

Il simulatore che uso e PIC SIMULATOR IDE come compilatore uso il basic compiler in dotazione con il software di simulazione ....il programmatore si chiama PIC k150.

 

Con questi arnesi può anche succedere che che ci sia qualche bug misconosciuta, vista la loro non enorme diffusione.

Se non funziona, io ti consiglierei di cancella re fisicamente tutto il software e riscriverlo partendo da un editor vuoto.

A volte, moltio anni fa, mi capitavano malfunzionamenti inspiegabili doviti ad un errore dell'editor. Ma stiamno parlando dei primni anni '80 del secolo scorso, poi gli editor son diventati più affidabili.

Link al commento
Condividi su altri siti

è pessimo pilotare il led  senza la resistenza e non avere un minimo di  antirimbalzo sul pulsante quando non lo si fa nel fw se poi non c'è nemmeno il reset all'accensione.....deve fare 2 cose sto circuito e 3 son sbagliate :superlol:

Link al commento
Condividi su altri siti

Livio Orsini
7 ore fa, dott.cicala ha scritto:

deve fare 2 cose sto circuito e 3 son sbagliate 

 

Ma anche con quei 3 errori quel software deve girare comunque; però da quanto scrive io ho l'impressione che il programma vada a ranocchie o a farfalle (secondo preferenza personale:smile:) sino a quando ripassa per PC zero e rififà il primo ciclo, poi ...

 

Illed senza resistore di limitazione è una porcata, ma la limitazione la fa ..... la porta.:(

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

1 ora fa, Livio Orsini ha scritto:

da quanto scrive io ho l'impressione che il programma vada a ranocchi

Se carica il codice che ho allegato lo verifica subito. Se funziona è il suo compilatore che da i numeri, se non funzione è il circuito 

Link al commento
Condividi su altri siti

del_user_97632

uhm .... si anche il proimo schema doveva funzionare, pero'.  .... hehehe

 c'e' di certo un problema

 

Se non limiti la corrente del led e lo piloti a 5V senza resistenze (mentre devi avere i 10mA tipici) , forse che il PIC si arrabbia e si resetta. "Sink current" ha un limte, da datasheet. Vedi che a domandar lo schema non si sbaglia mai ?

 

 

 

 

 

Modificato: da _angelo_
Link al commento
Condividi su altri siti

Livio Orsini
17 ore fa, _angelo_ ha scritto:

Se non limiti la corrente del led e lo piloti a 5V senza resistenze (mentre devi avere i 10mA tipici) , forse che il PIC si arrabbia e si resetta.

 

Non credo si resetti.

Per resettarsi dovrebbe cedere l'alimentatore sotto la soglia minima, che è intorno ai 4V - 4.5V (ma forse anche meno). Se accadesse questo sarebbe questione, al più, di un cenbtinaio di ms e non riusciresti certo a vedere il LED acceso per un periodo apprezzabile, al più vedresti un lampo.

E più facile che, presto o tardi, si sfondi la porta (o si sfondi il LED)

Tra l'altro aumentado la corrente nel LED aumenta anche la sua cdt ed anche la cdt della porta. Alla fine si instaura una sorta di equilibrio con corrente un poco superiore a quella normale.

Ciò non toglie che non usare una resistenza limitatrice sia una porcata, ma in rete trovi un'infinità di circuiti da "canshit" come dico gli yankees.

 

Link al commento
Condividi su altri siti

del_user_97632

Non ho neanche guardato il datasheet, in genere i gpio del PIC potrebbero dare, in uscita (sink) forse 50mA". In "drain" forse di piu.

E' facile che il problema sia quello da me sdescritto perche lui diceva che la variabile i tornava a 0, quindi si resetta.


Tutti i micro di quel tipo hanno il "brown out" detection e controlli simili sull'alimentazione (forse 16f84a ancora non lo aveva).

 

In ogni caso, sul led, come ho detto sopra, ci va la resistenza, oltre al fatto che su micro del genere si evita di mettrre il led in quel modo, in genere  si accende portando a 0 perche la corrente di "drain" e' in genere maggiore, anche se i PIC tengono piu corrente di altri, in output, io collego sempre con il catodo verso il gpio, perche molti gpio micro, e specie in cpu (SoC) piu evolute, i gpio in output danno solo pochi mA..

 

A lui pare sti acceso un secondo, magari e' meno.

 

Giolecce: prova (se vuoi) una resistenza in serie al led di 470 ohm, o 330.

 

Saluti

 

 

 

 

Modificato: da _angelo_
Link al commento
Condividi su altri siti

del_user_97632

Per capire se si resetta, e per che motivo, si puo accendere, come "traccia" di debug, che ne so, per 0.5 secondi un led su un altra porta prima del loop, soprattutto leggendo da apposito registro la ragione del reset.

 

 

 

 

 

Modificato: da _angelo_
Link al commento
Condividi su altri siti

Livio Orsini

Se si resetasse per calo di tensione da sovraccarico, ammesso e non concesso che ceda l'alimentazione, non vedresti il led acceso per circa 1"

Link al commento
Condividi su altri siti

Il 7/3/2020 alle 00:32 , dott.cicala ha scritto:

Lo schema è pessimo. 

 

Con questo schema e questo codice DEVE funzionare

image.png.750033bae561b585a8dfc0050472f093.png

 


:020000000328D3
:10000600FF308316850086018312850186010E1056
:100016008E100E118E1585191228401413284010C3
:100026000E181728031418280310401C1E28031C3A
:100036001E280E151F280E11401823280E102428DE
:100046000E148E182828031429280310851D2F281E
:10005600031C2F288E1530288E11851934288E10F2
:1000660035288E140E193A288E193A283B288615FB
:10007600861D4C280B30CB002630CC005D30CD00E1
:10008600CD0B4328CC0B4328CB0B432800000000A4
:0600960086110E284D2822
:02400E00FA3F77
:00000001FF

 

Realizzato circuito come da schema, programmato il pic come listato fornito,  ...il problema persiste....

Link al commento
Condividi su altri siti

7 ore fa, dott.cicala ha scritto:

Non l'ho simulato ma provato e funziona perfettamente...

 

Se a Stefano funziona e a giolecce no, le possibili ipotesi non sono molte:

  • giolecce crede di aver realizzato lo stesso circuito e caricato lo stesso software, ma c'è un errore che non riesce a riconoscere.
  • il programmatore di giolecce ha dei problemi.
  • nel posto dove giolecce fa le prove c'è uno spiritello maligno che si diverte a disturbare il suo lavoro.:smile:

Ci sarebbe un'altra ipotesi: Stefano bara quando dice che lo ha provato e che funziona, ma a me pare meno credibile di quella dello spiritello malevolo.:lol:

Link al commento
Condividi su altri siti

2 ore fa, Livio Orsini ha scritto:

Stefano bara quando dice che lo ha provato e che funziona,

Non ho barato ma non ho voglia di fare il video...

Link al commento
Condividi su altri siti

13 minuti fa, dott.cicala ha scritto:

Non ho barato ma non ho voglia di fare il video...

 

Stefano, non per niente ho scritto:

3 ore fa, Livio Orsini ha scritto:

ma a me pare meno credibile di quella dello spiritello malevolo.

 

Link al commento
Condividi su altri siti

11 ore fa, Livio Orsini ha scritto:

 

Se a Stefano funziona e a giolecce no, le possibili ipotesi non sono molte:

  • giolecce crede di aver realizzato lo stesso circuito e caricato lo stesso software, ma c'è un errore che non riesce a riconoscere.
  • il programmatore di giolecce ha dei problemi.
  • nel posto dove giolecce fa le prove c'è uno spiritello maligno che si diverte a disturbare il suo lavoro.:smile:

Ci sarebbe un'altra ipotesi: Stefano bara quando dice che lo ha provato e che funziona, ma a me pare meno credibile di quella dello spiritello malevolo.:lol:

Ne manca una....il pic è rotto. Sto aspettando che arrivi il nuovo  ...

Link al commento
Condividi su altri siti

6 minuti fa, giolecce ha scritto:

Ne manca una....il pic è rotto

Ci sta nel :

12 ore fa, Livio Orsini ha scritto:

nel posto dove giolecce fa le prove c'è uno spiritello maligno che si diverte a disturbare il suo lavoro.:smile:

 

Link al commento
Condividi su altri siti

11 ore fa, giolecce ha scritto:

Ne manca una....il pic è rotto. Sto aspettando che arrivi il nuovo  ...

 

Mmmm, tutto è possibile, però da quello che hai scritto l'unica rottura che potrebbe causare il difetto descritto è un problema di flash per cui il programma non sicarica nel modo corretto.

Però un programmatore che non sia un'immond schifezza ti da un messaggio di errore al termine della programmazione.

Link al commento
Condividi su altri siti

7 ore fa, Livio Orsini ha scritto:

 

Mmmm, tutto è possibile, però da quello che hai scritto l'unica rottura che potrebbe causare il difetto descritto è un problema di flash per cui il programma non sicarica nel modo corretto.

Però un programmatore che non sia un'immond schifezza ti da un messaggio di errore al termine della programmazione.

Una volta programmato il pic verifico l'esatta scrittura con una funzione all'interno del programma stesso...e tutto è ok. Il programmatore non mi dà alcun errore.

comunque che simulatore e che programmatore usate?

Link al commento
Condividi su altri siti

2 ore fa, giolecce ha scritto:

comunque che simulatore e che programmatore usate?

 

Io non so cosa usa Stefano; io ho sempre usato solo MPLAB di Microchip come ambiente di sviluppo, ICD2 come programamtore (anche se adesso se sviluppassi ancora PIC dovrei passare a PICKIT3 o 4) e compilatore PIC-C  che molto ben ottimizzato.

 

Comunque se il programmatore garantisce la corrispondeza tra file scritto e file sorgente trovo molto strano un guasto delmicro che causi quel tipo di difetto.

Sarei curioso di vederlo.

Tienici informati sugli sviluppi perchè, a questo punto, la curiosità è veramente tanta.

Link al commento
Condividi su altri siti

Ho usato XC8 C compiler, Pickit4 originale e non perdo mai  tempo a simulare ma monto sempre i circuiti.

Al limite, ma non in questo caso, uso l'in circuit debugger

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

×
×
  • Crea nuovo/a...