karlooie Inserito: 15 dicembre 2003 Segnala Share Inserito: 15 dicembre 2003 Mi sto avvicinando alla programmazione di un pic 16f84, con risultati che promettono abbastanza bene.. mi chiedevo se supporta le macro..tipo:impulso macro ms bsf PORTB, 4 ; segnale alto loop call delay ; ripete la subrutine delay che gira a vuoto per 1 millisecondo dcfsz ms ; per 'ms' volte goto loop ; bcf PORTB, 4 ; segnale basso richiamata cosìnell'interrupt di TMR0:org 0x04impulso 23 ;impulso di 23 ms su PB4può funzionare?la userei per generare un'onda quadra su PB4.. il programma senza utilizzare la macro funziona, ma modificato non da lo stesso risultato..un buon simulatore per provare i programmi su pc? Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 15 dicembre 2003 Segnala Share Inserita: 15 dicembre 2003 L'ambiente MPLAB gestisce le macro, ma nel tuo caso penso che sia piu' comodo trasformare la tua routine in una subroutine.Per passare il valore lo carichi in W prima di chiamare la sub "impulso"Segue come potrebbe essere il tuo prg.Ricordo sempre di salvare i registri piu' importanti quando inizi una gestione di interrupt richiamata così nell'interrupt di TMR0: org 0x04 movlw .23; carichi in W il valore che vuoi passare alla sub CALL impulso;impulso di 23 ms su PB4 ------------------------------------------------------------------------------------------ impulso; nome subroutine MOVWF ms; carichi in ms il valore che vuoi bsf PORTB, 4; segnale alto loop call delay; ripete la subrutine delay che gira a vuoto per 1 millisecondo dcfsz ms; per 'ms' volte goto loop; bcf PORTB, 4; segnale basso RETURN un buon simulatore per provare i programmi su pc? Link al commento Condividi su altri siti More sharing options...
karlooie Inserita: 15 dicembre 2003 Autore Segnala Share Inserita: 15 dicembre 2003 grazie dlgcom..in effetti è molto più semplice così..io sto usando mplab, per il simulatore vado su debugger->select tool..->mplab sim (l'unico abilitato oltre mplab ice 2000 che pero non si carica con un errore strano)..ma non riesco a impostare i valori di (p.es portb) per gli input..da 'watch' riesco a settare moltissimi valori (p.es tmr0 e variabili definite da me..) ma non mi lascia modificare portb/porta.. mi sai dire qualcosa? grazie ancora! Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 15 dicembre 2003 Segnala Share Inserita: 15 dicembre 2003 Per poter impostare dei valori o simulare delle entrate devi usare la funzione STIMULUS che trovi nel menu Debugger , dopo che hai selezionato il MPLAB SIM.Con questa funzione puoi simulare tutte le entarte del tuo programma .per modificare valori e registri puoi usare anche la vinestra dei registri che trovi in View - File register-Clicchi due volte sopra il valore e lo modifichi ....Saluti 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