mansell Inserito: 17 gennaio 2008 Segnala Share Inserito: 17 gennaio 2008 Eccomi qui, domani laboratorio di sistemi a scuola, e sto ultimando un programma per domani. si tratta del classico garage da gestire con pic16f84aGià la volta scorsa una volta scritto sul pic non succedeva niente...lo simulo con tutti i simulatori trovati, con mplab, pic developement studio, pic simulator ide, ma nessuno, arrivato a un salto condizionato tiene conto che forse è meglio saltare.. ovviamente porto a uno o a zero il bit in questione ma niente!magari sbaglio io a programmare...gli date un occhiata?a RA0 è collegato un sensore che si porta a uno quando una macchina in ingresso transitaa RA1 come sopra tranne che ha il sensore per le macchine in uscitaa RA4 un led che indica se il posteggio è pieno o ci sono postisulla porta B ho un decodificatore esterno 7 segmenti, per vedere i posti liberigrazie per l'aiuto ORG 00H MOVLW 0EFH TRIS PORT_A MOVLW 00H TRIS PORT_B MOVLW 0FH MOVWF 0C BCF PORT_A,4 MAIN MOVF 0C,0 MOVWF PORT_B TEST BTFSS PORT_A,0 GOTO ENTRA BTFSC PORT_A,1 GOTO TEST ESCI BTFSS PORT_A,1 GOTO ESCI INCF 0C,1 GOTO SEMAF ENTRA BTFSS PORT_A,0 GOTO ENTRA DECF 0C,1 SEMAF BTFSS STATUS,2 GOTO SEM_ROS SEM_VER BCF PORT_A,4 GOTO MAIN SEM_ROS BSF PORT_A,4 GOTO MAIN ENDGRAZIE MILLE A TUTTI!!! Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 18 gennaio 2008 Segnala Share Inserita: 18 gennaio 2008 Hai provato con il simulatore MPLAB (è gratuito basta scaricarlo dal sito microchip) Link al commento Condividi su altri siti More sharing options...
mansell Inserita: 18 gennaio 2008 Autore Segnala Share Inserita: 18 gennaio 2008 beh, si ho provato ed è scritto pure nel post iniziale.. comunque il problema sembra risolto... copiando paro paro il programma da una stampa su carta del medesimo... qualche ritocchino e tutto si è risolto... grazie lo stesso Link al commento Condividi su altri siti More sharing options...
gpz Inserita: 18 gennaio 2008 Segnala Share Inserita: 18 gennaio 2008 Mannaggia Mansell, sei studente e non scrivi nemmeno 1 riga di commento, mettiti nei nostri panni! Ricorda che un buon programma deve essere leggibile da tutti e anche da chi lo ha scritto se lo riprende dopo qualche tempo!Non ho tempo di ricontrollare il tutto però verifica di aver settato bene i registri all'inizio, soprattutto quelli che gestiscono le porte di I/O. Se hai sbagliato direzione non riuscirai a discriminare lo stato dei segnali d'ingresso. Link al commento Condividi su altri siti More sharing options...
gpz Inserita: 18 gennaio 2008 Segnala Share Inserita: 18 gennaio 2008 mansell+18/01/2008, 22:28--> (mansell @ 18/01/2008, 22:28) sono arrivato tardi! Per nostro beneficio, quali sarebbero stati i ritocchini? Link al commento Condividi su altri siti More sharing options...
mansell Inserita: 18 gennaio 2008 Autore Segnala Share Inserita: 18 gennaio 2008 beh, i commenti c'erano, ma visto i problemi che ho avuto a impaginare il programma sul forum (sistemare le colonne, i tab non andavano) ho tagliato tutto...le piccole correzioni... e chi se le ricorda... piccole migliorie... beh, non è che vada ancora tutto bene, ho un problema di rimbalzo in uno dei due pulsanti, metterò un piccolo ritardo credo.. consigli sul ritardo? 10us 0.1s? se volessi farlo con componenti (un condensatore e una resistenza vero?) collegati come? con che valori indicativamente? Link al commento Condividi su altri siti More sharing options...
mansell Inserita: 18 gennaio 2008 Autore Segnala Share Inserita: 18 gennaio 2008 (modificato) diciamo che tra una settimana prometto di postarvi il programma funzionante e commentato! Modificato: 18 gennaio 2008 da mansell Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 19 gennaio 2008 Segnala Share Inserita: 19 gennaio 2008 occhio mansell so benissimo che non era il tuo intento ma una frase così suona come una bestemmia nel forumSe hia trovato una soluzione da solo perchè non condividerla con gli altri aiutersti tutti a capire il problema e la strategia per risolverlo. Più che il programma commentato sarebbe bello avere due righe del tipo a me non funzionava questo per questo motivo e ho risolto così.Anche se problema e soluzione sono banali io non mi vergognerei sai quante volte io ho perso tempo per un cavo staccato.... Link al commento Condividi su altri siti More sharing options...
gpz Inserita: 19 gennaio 2008 Segnala Share Inserita: 19 gennaio 2008 mansell+18/01/2008, 22:47--> (mansell @ 18/01/2008, 22:47) Usando un micro la rete RC diventa inutile, il bello è proprio quello! Metti un piccolo contatore SW che abilita il cambio stato solo se lo rileva per un tempo sufficientemente lungo, diciamo dai 10ms in su, dipende da quanto è ballerino il tuo pulsante. Se metti un tempo troppo alto avrai la sensazione che il tasto non risponda prontamente al comando. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 19 gennaio 2008 Segnala Share Inserita: 19 gennaio 2008 Per postare il codice con i tab vari basta usare il tasto "CODE". Es.. { #asm btfss port_b,0 goto end_int #endasm rx_temp (); //lettura temperatura memo_temp(); #asm end_int: nop #endasm } Se si chiede aiuto al forum è anche giusto dare comunicazione dei risultati e del modo in cui si risolto il problema, altrimenti ci si fa la nomina di "vampiro" e le risposte diventano sempre più scarse...Se hai problemi di rimbalzi e vuoi filtrare dimentica i filtri Hw, è più semplice ed efficace effeture un filtro software.Io uso, oramai da circa 30 anni, un metodo semplice. Acquisisco tutti gli ingressi a tempo fisso, diciamo ogni 10ms-20ms, poi confronto lo stato attuale con quello precedente. Se lo stato attulae coincide con quello precedente considero valido il vlaore. Variando il tmepo si appsentasce o alleggerisce il filtraggio. Per interfacciare contatti 10ms sono un tempo ottimo. Link al commento Condividi su altri siti More sharing options...
mansell Inserita: 19 gennaio 2008 Autore Segnala Share Inserita: 19 gennaio 2008 accacca+19/01/2008, 05:54--> (accacca @ 19/01/2008, 05:54) davvero, non ricordo... ho fatto tante prove e alla fine non ricordo più in quale modo andava... dopo le due ore in laboratorio ne sono passate altre 4 di compiti in classe e interrogazione... Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora