Haz una pregunta
  Foros de Electrónica » Temas de Interés » Software de Simulación y Diseño Electrónico
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

29/10/2013 #1


No simula en Proteus que puede ser ?
buenas claneros tengo un lio estoy tratando de simular un controlador de temperatura a traves de un lm35 donde conviertos los datos analogicos con un adc0804 o 0803 y controlado por un microcontrolador 8051 y no se que pasa que no me funciona ya lo compile y me arroja un error al final. que podria ser ? porfavor necesito su ayuda es urgente se los adjunto
30/10/2013 #2


Puff tio, no se si te sservira esto. Yo sulo usar proteu con un microcontrolador pic, pero yo lo que suelo cargar en el simulador es un archivo cof o un hex. Comprueba que el proteus sea compatible con los fromatos que les estas cargando.
31/10/2013 #3

Avatar de Scooter

Por el listado de errores parece que no les has definido el micro al compilador ya que todo son errores.
Tendrás que poner algo como #include 8052.def , #uses89c51.def o algo así para que cargue la tabla de definiciones del micro que estés usando.

¿Que compilador usas?
31/10/2013 #4


A que le dices que compilador uso, estoy trabajando en proteus, cargo un fichero el .txt. soy nuevo en esto es un trabajo de curso que tengo que entregar.
por favor ayúdenme
31/10/2013 #5

Avatar de Saint_

hola pj00, te comento que cometiste algunos errores.
1.- la extencion del archivo donde esta el programa tiene que ser *.asm, proteus lo genera por defecto con esa extencion.
2.- como estas trabajando con el ascembler de la familia 8051 la herramienta de compilación a elegir en proteus debería ser ASM51.
3.- Equivocaste los ventores de interrupción, pusiste la rutina del temporizador en ligar de interrupción y viceversa.
4.- proteus no simula la salida de interrupción del adc 0804 y 0803 por lo cual tu interrupción externa jamas se disparara (esto en la simulación), en el circuito real debería funcionar sin problemas.

Para el caso de la simulación, proteus genera un reloj interno propio en el adc, así que no se necesita introducirle un reloj al adc, en el chip adc real si tendrías que introducirle el reloj al adc o conectarle el R yC para que el adc genere su propio reloj.

adjunto las correcciones hechas al tu programa.
Archivos Adjuntos
Tipo de Archivo: rar ahora_si_compila.rar (33,6 KB (Kilobytes), 17 visitas)
31/10/2013 #6


tienes toda la razón confundí los vectores de interrupción con el del temporizador. otra pregunta como entonces puedo simular la interrupción. y muchísimas gracias hermano por la respuesta.
gracias nuevamente
31/10/2013 #7

Avatar de Saint_

... asi como esta no se va a poder utilizar la interrupción externa, te sugiero que leas el adc en la misma rutina del timer 0, primero leer el adc y luego le dar la orden para que haga una nueva convercion.
31/10/2013 #8


otra pregunta me es necesario que me interrumpa en la simulación cual seria el conversor que podría poner en proteus que si me simule la interrupción. por favor Saint_

Saint_ dijo: Ver Mensaje
... asi como esta no se va a poder utilizar la interrupción externa, te sugiero que leas el adc en la misma rutina del timer 0, primero leer el adc y luego le dar la orden para que haga una nueva convercion.
y no podría utilizar otro adc de 8bits que si me de esta interrupcion
31/10/2013 #9

Avatar de Saint_

puedes utilizar el adc0808, este da un nivel bajo mientras efectúa la convercion, da un nivel alto cuando termina la convercion y para iniciar la convercion requiere un pulso de nivel alto.
31/10/2013 #10


si pero este circuito si lo simula proteus

Saint_ dijo: Ver Mensaje
puedes utilizar el adc0808, este da un nivel bajo mientras efectúa la convercion, da un nivel alto cuando termina la convercion y para iniciar la convercion requiere un pulso de nivel alto.
si pero este circuito adc 0808 si lo simula proteus la interrupción
31/10/2013 #11

Avatar de Saint_

si, proteus simula sin ningún problema ese adc, pero tendrías que utilizar la interrupción externa por falco de subida.
31/10/2013 #12


Saint_ dijo: Ver Mensaje
si, proteus simula sin ningún problema ese adc, pero tendrías que utilizar la interrupción externa por falco de subida.
voy a tratar de configurarlo en proteus, de tener algún problema puedo contar con ud para solucionarlo.
31/10/2013 #13

Avatar de Saint_

si, no hay ningún problema.
31/10/2013 #14


Saint_ dijo: Ver Mensaje
si, no hay ningún problema.
mire a ver si estas bien asi, lo que no se es como configurar el adc0808 podria ayudarme
Archivos Adjuntos
Tipo de Archivo: rar test.rar (12,8 KB (Kilobytes), 4 visitas)
31/10/2013 #15

Avatar de Saint_

hola aun le faltan algunos detalles.
Archivos Adjuntos
Tipo de Archivo: rar adc0808.rar (12,0 KB (Kilobytes), 8 visitas)
31/10/2013 #16


Saint_ dijo: Ver Mensaje
hola aun le faltan algunos detalles.
gracias hermano. me he quedado sin palabras. ahora voy a tratar de unir todo, te digo no se nada por software de proteus, siempre he realizado las cosas en protoboard. no te molesta si tuviera algún obstaculo poder solicitar tu ayuda
31/10/2013 #17

Avatar de Saint_

se hacen maravillas con lo simuladores y una ver terminado rara ves falla el circuito real.
Para mi es como ejercitar, "así no pierdo la practica".
31/10/2013 #18


Saint_ dijo: Ver Mensaje
se hacen maravillas con lo simuladores y una ver terminado rara ves falla el circuito real.
Para mi es como ejercitar, "así no pierdo la practica".
ya lo realice y me funciono lo que pasa ahora es en el soft que cuando lo le modifico el valor me da error que pudiera ser te lo adjunto.
este es un pedaso del código dode le modifique el este

ext0:
mov A,P0
cjne A,#0,prende
setb P3.5
jmp salir1
prende:
cjne A,70h,salir1 ;aca comparaba con 0Eh y ahora quiero que sea igual a 07h
clr P3.5
salir1:
reti
Archivos Adjuntos
Tipo de Archivo: rar prueba.rar (35,8 KB (Kilobytes), 4 visitas)
31/10/2013 #19

Avatar de Saint_

a mi no me sale ningún error al compilarlo, lo que no me queda claro es porque en esta linea de código
cjne A,70h,salir1
estas comparando el valor del acumulador con la dirección 70h o 07h según el caso si no tienes guardado ningún valor en dichas direcciones, lo mas coherente por el momento es que lo compares con una constante
cjne A,#70h,salir1 o cjne A,#07h,salir1 según el caso.
adicional mente a eso como la interrupción externa del 8051 solo se dispara por nivel bajo por flanco de bajada, hay que adicional un inversor a la salida del adc y finalmente tomaste al revés las salidas del adc.

también veo que una vez que la temperatura es igual a cierto valora se apaga un bit el problema de esto es que si por algún motivo la temperatura tiene un cambio rápido y el adc no toma las lecturas rápidamente quizá ese bit nunca se apague.
Archivos Adjuntos
Tipo de Archivo: rar prueba_____.rar (37,5 KB (Kilobytes), 3 visitas)
31/10/2013 #20


gracias bro, es con cjne,#70h es un valor de salida del adc0808 que coresponde con 27 grados
gracias de nuevo. cualquier cosa que te haga falta me puedes molestar sin problemas ok
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Software de Simulación y Diseño Electrónico

Todo lo relacionado con estos programas.

Cerrar
Foros de Electrónica » Temas de Interés » Software de Simulación y Diseño Electrónico

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.