Autor Tema: simulacion PROTEUS CPU LOAD 100%  (Leído 5059 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado kronocher

  • PIC10
  • *
  • Mensajes: 47
simulacion PROTEUS CPU LOAD 100%
« en: 12 de Enero de 2006, 16:12:00 »
buenas...
estoy haciendo un programa para un reloj, pero cuando simulo en el proteus por cierto estoy usando el pic 16f84a se vuelve muy lento CPU LOAD 100%, no entiendo porque...
fui depurando el programa y al final probe con algo mas sencillo como el siguiente programa pero igual en la simulacion la cpu se carga al 100% porque????:

inicio
  bsf estado,5
   clrf puerto_b
   clrf puerto_a
  bcf estado,5
bucle
     
  movlw b"001"
  movwf puerto_a

  movlw b"010"
  movwf puerto_a

  goto bucle

P.D.: el programa en si no tiene significado alguno pero lo que me interesa saber es porque en proteus el CPU se carga al 100%

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
RE: simulacion PROTEUS CPU LOAD 100%
« Respuesta #1 en: 13 de Enero de 2006, 07:54:00 »
¿Te pasa con todos los programas que simulas? ¿que version de PROTEUS tienes y que microprocesador es el de tu PC?

Aqui, otro link donde se habla del mismo tema:
http://miarroba.com/foros/ver.php?foroid=58549&temaid=4571805


Suerte!!!Giño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: simulacion PROTEUS CPU LOAD 100%
« Respuesta #2 en: 13 de Enero de 2006, 14:27:00 »
Ami me pasa cuando multiplexo displays, pero vamos que no es tan raro...
Si juegas contra el mejor, pierdes como los demás.

Desconectado kronocher

  • PIC10
  • *
  • Mensajes: 47
RE: simulacion PROTEUS CPU LOAD 100%
« Respuesta #3 en: 14 de Enero de 2006, 07:52:00 »
bueno tengo pentium 1.7 ghz con 480 mb de ram. Al parecer todo depende de los componentes que se utilice en la simulacion. al comienzo utilizaba 6 unidades de display de 7 segmentos con eso la CPU se cargaba hasta el 100% , pero al utilizar el array de display la CPU se carga hasta unos 50%,  bueno nose....
pero todavia no llego a entender porque este programita :
inicio
  bsf estado,5
   clrf puerto_b
   clrf puerto_a
  bcf estado,5
bucle
     
  movlw b"001"
  movwf puerto_a
  movlw b"010"
  movwf puerto_a
 
 goto bucle
 end
lo carga la CPU al 100% y eso solo lo simulo con el pic no mas ...

mi idea es simular un reloj digital en protues pero debido a ese problema no puedo simularlo, algun consejo????


Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
RE: simulacion PROTEUS CPU LOAD 100%
« Respuesta #4 en: 14 de Enero de 2006, 08:00:00 »
Haber, tu programa entra en el bucle y ejecuta continuamente estas lineas de comando:
Codigo:

   movlw b"001"
   movwf puerto_a
   movlw b"010"
   movwf puerto_a


mi pregunta es,¿cuanto tiempo trada el pic en realizar una instruccion? pues depende del reloj colocado y d ela instruccione s atratar, pero es muy muy muy poco....tu cargas el programa en proteus y simulas, el simulador debera realizar el codigo a una velocidad bestial! por eso consume el 100% de la CPU, prueba a ponerle retardos entre sentencias:
Codigo:

   movlw b"001"
   movwf puerto_a
   retardo 10 ms
   movlw b"010"
   movwf puerto_a
   retardo 10 ms


Haber si ahora se carga al 100%........

Suerte!!!Giño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado kronocher

  • PIC10
  • *
  • Mensajes: 47
RE: simulacion PROTEUS CPU LOAD 100%
« Respuesta #5 en: 14 de Enero de 2006, 09:32:00 »
gracias por tu consejo, funciono!!!
me pregunto si en la realidad sera que en caso que en la simulacion tengamos la CPU cargada al 100% afectara al PIC en la realidad, pasa que todavia no lo he probado por que tambien me estoy armando un grabador...
ahh y por cierto, no tendras algun esquema de un grabador para poder trabajar en "in circuit programming" para no estar sacando y probando el progama
gracias..!!

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
RE: simulacion PROTEUS CPU LOAD 100%
« Respuesta #6 en: 14 de Enero de 2006, 09:42:00 »
Buenas!!!veo que quieres realizar un relog digital y supongo que sera con display"s de 7seg, bien, decirte que tambien en la vida real debes realizar una pausa entre display"s ya que si no la pones no veras nada, simplemente veras 8 jeje es decir todos los led"s encendidos o datos que no correponden, cuando se trabaja con display"s multiplexados la tecnica a emplear es la llamada "barrido de display"s", consiste en ir seleccionando cada display"s para mostrar el dato correspondiente, la pausa entre display y display va en torno a los 10ms - 20ms para que no sea apreciable por el ojo humano, pronto colgare un reloj digital con display"s en el post de ejemplitos en c, pero te aconsejo que te mires el ejemplito numero 18 donde se usa la multiplexacion de 4 display"s de 7seg, aqui el enlace:
http://miarroba.com/foros/ver.php?foroid=46840&temaid=4061462

Con respecto al programador no te puedo ayudar, simplemente te aconsejo que te pases por el subforo de programacion haber si encuentras algo o postealo haber que te responden.

Suerte!!!Giño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte