Vai Indietro   PcTuner Forum > Sezione Hardware > Programmazione PIC
PcTuner Overclock
Arcade Registrazione Blogs Regolamento Feedback FAQ Lista Utenti Calendario Segna come Letti

Ultimi 5 blog pubblicati su PcTuner Blog
Data Titolo

Rispondi
 
Strumenti Discussione Modalità Visualizzazione
Vecchio 21-11-2009, 16.13.32   #1
Registered User
 

Iscritto da: 31-03-2009
Messaggi: 64
Feedback: (0)
errore mplab sim

Ciao, stavo provando a simulare un programmino con mplab sim ma mi da questo errore:

ADC-W0008: No stimulus file attached to ADRESL for A/D.
CORE-E0002: Stack under flow error occurred from instruction at 0x000020

il programma è il seguente:
Codice:
		processor	16f876a
		#include	"p16f876a.inc"
		 __CONFIG _CP_OFF & _DEBUG_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC  
   		radix		DEC
		errorlevel	-302
		
		org			0x00
		 movlw       0
         bsf         STATUS,RP0   ; Banco 1
         movlw	     11000000b
		 movwf		 TRISC
         movlw       20
         movwf       SPBRG        ; 57600 BAUD
         bsf         TXSTA,BRGH
         bsf         TXSTA,TXEN
		 movlw		00000000b
		 movwf		 ADCON1		  ; AN7-AN0 tutti ing. analogici Vref+/Vref-=Vdd,Vss
       	 bcf         STATUS,RP0   ; Banco 0
         bsf         RCSTA,SPEN   ; ABILITA SERIALE
         clrf        PORTC
	   	

Cho_an0
		movlw		 10000001b	  ;Freq=625Khz(20Mhz/32),CH0 AN0, MODULO A/D ABILITATO
		movwf		 ADCON0
		bsf			 ADCON0,2	  ;ABILITO BIT 2 PER INIZIO CONVERSIONE
		btfsc		 ADCON0,2	  ;VADO A TESTARE SE la trasmissione è finita
		goto		 $-1
		movfw		 ADRESH		  ;METTO IL RISULTATO DELLA CONVERSIONE IN W
		call		 txdato
		
Ch1_an1
		movlw		 10001001b	  ;Freq=625Khz(20Mhz/32),CH1 AN1, MODULO A/D ABILITATO
		movwf		 ADCON0
		bsf			 ADCON0,2	  ;ABILITO BIT 2 PER INIZIO CONVERSIONE
		btfsc		 ADCON0,2	  ;VADO A TESTARE SE la trasmissione è finita
		goto		 $-1
		movfw		 ADRESH		  ;METTO IL RISULTATO DELLA CONVERSIONE IN W
		call		 txdato
txdato
		movwf		TXREG		;muovo il valore dI W in txreg
		bsf			STATUS,RP0	
		btfss 		TXSTA,TRMT ;testo se la trasmissione è finita		
		goto 		$-1
		bcf			STATUS,RP0  
		return
	
		END

-Il programma non "dovrebbe" fare altro che leggere il valore analogico su AN0, convertirlo e inviarlo via seriale e poi passare a AN1 e fare la stessa cosa.
Posso simulare un ingresso A/D con mplabsim?


GRAZIE
stef23 Non in Linea   Rispondi Citando

Advertising
Vecchio 21-11-2009, 20.15.23   #2
Registered User
 
L'avatar di  Camillo
 

Iscritto da: 31-01-2006
Locazione: Genova
Messaggi: 1,212
Feedback: (0)
Non mi occupo di simulazione per cui del primo errore non ne so niente anche se mi pare di capire che al simulatore devi dare in pasto qualcosa (stimulus) che dica il valore letto dal convertitore.
Per quanto riguarda il secondo è dovuto al fatto che fa un return senza chiamata e quindi si trova lo stack vuoto.
Codice:
		call		 txdato
txdato
		movwf		TXREG		;muovo il valore dI W in txreg
		bsf			STATUS,RP0	
		btfss 		TXSTA,TRMT ;testo se la trasmissione è finita		
		goto 		$-1
		bcf			STATUS,RP0  
		return
Dopo quell'ultima call deve fare qualche sorta di loop infinito e non cadere nella subroutine senza averla prima chiamata.
__________________
Camillo
Il VeroProgrammatore può contare fino a 1024 con le dita delle mani. Grazie a .mau.
Le donne e i gatti fanno quello che vogliono, gli uomini e i cani dovrebbero rilassarsi e abituarsi all'idea. R.A.Heinlein
Camillo Non in Linea   Rispondi Citando
Vecchio 21-11-2009, 20.32.08   #3
Registered User
 

Iscritto da: 31-03-2009
Messaggi: 64
Feedback: (0)
ciao grazie per la risposta, cioè che tipo di loop dovrei fare?
cosi com'è il programma farebbe solo 2 conversioni e poi si fermerebbe giusto?
se dopo la return ci mettesi un goto ch0_an0 andrebbe bene?
sai per caso dov'è che posso immettere qualche valore de inserire nel conv per provarlo in simulazione?

GRAZIE mille scusami per le mille domande!
Buonaserata!!!!!!
stef23 Non in Linea   Rispondi Citando
Vecchio 22-11-2009, 16.57.53   #4
Registered User
 

Iscritto da: 31-03-2009
Messaggi: 64
Feedback: (0)
Ciao ho modificato il programma e cosi non mi da più il problema con lo stack, dovrebbe fare un loop infinito tra ch0 e ch1
Quote:
processor 16f876a
#include "p16f876a.inc"
__CONFIG _CP_OFF & _DEBUG_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC
radix DEC
errorlevel -302

org 0x00
movlw 0
bsf STATUS,RP0 ; Banco 1
movlw 11000000b
movwf TRISC
movlw 20
movwf SPBRG ; 57600 BAUD
bsf TXSTA,BRGH
bsf TXSTA,TXEN
movlw 00000000b
movwf ADCON1 ; AN7-AN0 tutti ing. analogici Vref+/Vref-=Vdd,Vss
bcf STATUS,RP0 ; Banco 0
bsf RCSTA,SPEN ; ABILITA SERIALE
clrf PORTC


Ch0_an0
movlw 10000001b ;Freq=625Khz(20Mhz/32),CH0 AN0, MODULO A/D ABILITATO
movwf ADCON0
bsf ADCON0,2 ;ABILITO BIT 2 PER INIZIO CONVERSIONE
btfsc ADCON0,2 ;VADO A TESTARE SE la trasmissione è finita
goto $-1
movfw ADRESH ;METTO IL RISULTATO DELLA CONVERSIONE IN W
call txdato

Ch1_an1
movlw 10001001b ;Freq=625Khz(20Mhz/32),CH1 AN1, MODULO A/D ABILITATO
movwf ADCON0
bsf ADCON0,2 ;ABILITO BIT 2 PER INIZIO CONVERSIONE
btfsc ADCON0,2 ;VADO A TESTARE SE la trasmissione è finita
goto $-1
movfw ADRESH ;METTO IL RISULTATO DELLA CONVERSIONE IN W
call txdato
goto Ch0_an0
txdato
movwf TXREG ;muovo il valore dI W in txreg
bsf STATUS,RP0
btfss TXSTA,TRMT ;testo se la trasmissione è finita
goto $-1
bcf STATUS,RP0
return

END
per provarlo con il simulatore c'è una soluzione per simulare sugli ingressi ra0(an0-ch0) e ra1(an1-ch1) una tesione in modo da vedere se converte oppure mi conviene fare un circuitino e provarlo esternamente????

Grazie mille spero possiate aiutarmi
stef23 Non in Linea   Rispondi Citando
Vecchio 23-11-2009, 14.28.10   #5
Registered User
 

Iscritto da: 31-03-2009
Messaggi: 64
Feedback: (0)
Ciao, secondo voi funziona il programma, cioè lo posso provare su circuito invece di simularlo???
Non c'è una soluzione per simulare gli ingressi analogici da pc??

Grazie mille
stef23 Non in Linea   Rispondi Citando
Rispondi Per le vostre immagini su questo forum potete usare PcTunerUp!
Iscriviti gratuitamente alla nostra newsletter.


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 visitatori)
 
Strumenti Discussione
Modalità Visualizzazione

Regole di scrittura
non Puoi inserire messaggi
non Puoi rispondere ai messaggi
non Puoi inviare allegati
non Puoi modificare i tuoi messaggi

codice vB è Attivo
Smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Disattivato
Pingbacks are Disattivato
Refbacks are Disattivato
Vai al Forum


Tutti gli Orari sono GMT +1. Attualmente sono le 14.38.05.


Powered by vBulletin Versione 3.6.12
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright © 2009 - Master New Media S.r.l. a socio unico - P.I. 02947530784. Tutti i diritti di proprietà letteraria e artistica sono riservati- Privacy
www.pctuner.net è testata telematica registrata presso il Tribunale di Torino, n. 39 del 07.05.2008, Editore Master New Media S.r.l.