Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

07/04/2013 #1


Problema con simulacion de un at89s52 en proteus
que tal, soy nuevo en este foro.

como dice el titulo, he tenido algunos problemas con una practica de la escuela en la cual, mediante dos puertos de entradas, controle 3 secuencias diferentes (esto para mandar la salidas a un moc y controlar unos focos -.-)

uso el keil para tal cuestión (programo en c) y el AT89S52.

en el keil pruebo el código y aparentemente todo esta correcto, sin embargo cuando cargo el archivo con extensión ".h" en el micro de proteus, este simplemente no anda, ni siquiera oscila, simplemente se queda ahí quieto.

ya tengo mas de dos semanas con esto y sencillamente no puedo hacerlo funcionar. quisiera pensar que la razón de la falla en la simulación es lo siguiente: en proteus no existe el dispositivo AT89S52 y lo sustituí por un AT89C52, aunque un compañero de la escuela me dijo que debería funcionar de todas formas la simulación.

como nota adicional, he decirles que no lleve un curso "formal" de programación de micros, apenas y nos explicaron el entorno de manera muy escueta y mucho menos el como programar en el, pues aunque se programe en C, hay ciertas diferencias, o al menos eso me pareció.

Aquí les dejo el código que he desarrollado, así como una imagen del proyecto en si.

Código:
#include <reg52.h>

void main (void)
{ 
     int tiempo,retardo=23000;
    
   while(1)
     {
         
         if (P1==0)
         {
          P3=0;
         }
         
     if (P1==1)
         {
             P3=120;
                
             for(tiempo=0; tiempo<retardo; tiempo++);
                
                 P3=228;
                
             for(tiempo=0; tiempo<retardo; tiempo++);
                
                 P3=156;
                
             for(tiempo=0; tiempo<retardo; tiempo++);
         }
         if (P1==2)
         {
             P3=152;
                
             for(tiempo=0; tiempo<retardo; tiempo++);
                
                 P3=236;
                
             for(tiempo=0; tiempo<retardo; tiempo++);
                
                 P3=116;
                
             for(tiempo=0; tiempo<retardo; tiempo++);
             
         }
         if (P1==3)
         {
             P3=232;
                
             for(tiempo=0; tiempo<retardo; tiempo++);
                
                 P3=124;
                
             for(tiempo=0; tiempo<retardo; tiempo++);
                
                 P3=148;
                
             for(tiempo=0; tiempo<retardo; tiempo++);

         }
    }
}



De antemano gracias por la ayuda.
07/04/2013 #2


Hola comino628

Según he visto por aquí es que el archivo que se programa en el uProsesador es el de extensión “xxx.HEX” y no el “.h” como lo mencionas.

Al compilar el código que adjuntaste se generan muchos archivos, entre ellos el que te menciono.
Otra opción es programarlo con el de extensión “xxx.COF”.

saludos
a sus ordenes
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

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