Vous êtes sur la page 1sur 13

Campus Ciudad de México 

División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
Inicie  el  programa    usando  el  icono  de  que  se  encuentra  en  la  barra  de  inicio,  o  ubíquelo  dentro  del 
escritorio de su computadora. La instalación por omisión, genera iconos en estas posiciones.  

 
 
Si  se  generó  anteriormente  algún  proyecto,  o  abrió  alguno  de  los  ya  existentes,  el  programa  iniciará 
con dicho proyecto. Si este fuera el caso, cierre el proyecto, usando project/Close Project.  
Ahora  el  programa  deberá  mostrarte  la  siguiente  vista.  Donde  se  pueden  observar  dos  sub‐ventanas 
(izquierda e inferior) nombradas Project y Build Output. En la región derecha superior aparece una región en 
gris, debido a que no se cuenta con proyecto alguno. 

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 
Campus Ciudad de México 
División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
Iniciemos  un  nuevo  proyecto  (Project/New  Vision  Project).  Es  importante  mencionar  que  en  Keil 
Vision,  es  necesario  trabajar  dentro  del  entorno  de  proyectos,  ya  que  serán  generados  por  lo  menos  6 
archivos con diferente información. 

 
Para evitar que los archivos de un proyecto sean mezclados por error con los de otro proyecto, genere 
un folder para cada proyecto. 
Una  vez  que  se  le  ha  asignado  un 
nombre  al  proyecto  dentro  de  un  nuevo 
folder,  Keil  Vision  nos  pide  el  tipo  de 
microcontrolador  con  el  que  vamos  a 
trabajar. Seleccione por supuesto AT89S51, 
que  se  encuentra  dentro  del  fabricante 
ATMEL.  Observe  que  en  la  sub‐ventana 
derecha,  aparecen  las  principales 
características  del  microcontrolador 
seleccionado. Presione OK. 
 
Keil Vision, nos mostrara la siguiente ventana. 

 
IMPORTATE SELECCIONAR NO 

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 
Campus Ciudad de México 
División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
Como resultado de la creación del nuevo proyecto, la 
sub‐ventana izquierda superior, nos mostrara ahora que se ha 
creado  un  proyecto,  con  la  denominación  Target1,  que 
contiene el grupo de archivos origen SourceGroup1. 
En  esta  sub‐ventana  aparecen  pestañas  4  pestañas, 

,  que  nos  dan 


nueva  información    relativa  al  proyecto.  Abordaremos  el 
contenido  de  estas  ventanas  una  vez  que  se  haya  compilado 
el  proyecto  y  que  se  hayan  generado  algunas  funciones,  
procedimientos o subrutinas. 
Note  que  aun  no  se  encuentra  relacionado  ningún 
archivo  a  dicho  proyecto.  Los  archivos  relacionados  al 
proyecto,  deberán  aparecer  en  la  parte  inferior  del 
contenedor SourceGroup1. 
 
Para generar un nuevo archivo de código en lenguaje 
ensamblador, seleccione las opciones de File/new.  En la sub‐
ventana  superior  derecha  aparece  ahora  un  nuevo 
documento, con la especificación Text1 sin extensión. 
 Guarde el documento en la misma ruta donde se localiza el proyecto generado anteriormente usando 
File/Save (CTRL+S) ASEGURESE DE ESCRIBIR LA EXTENSION DEL ARCHIVO COMO *.ASM. 

 
Cuando realiza ésta operación, en la ventana donde aparecía Text1, aparece el número 1 en la región 
izquierda de dicha ventana y en la parte superior, el nombre designado al archivo con la extensión *.asm.  Note 
que a pesar de que se ha generado un archivo *.asm, y se ha ubicado dentro del subdirectorio del proyecto, el 
archivo *.asm, aun no está vinculado con dicho proyecto. Esto se determina, porque en la ventana de Project, 
debajo del rubro SourceGroup1, no aparece el nombre del proyecto. 

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 
Campus Ciudad de México 
División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
Para vincular el archivo *.asm con el proyecto de click con el botón derecho del ratón sobre el rubro 
SourceGroup1 y seleccione Add Files to Group ´SourceGroup1´. 

 
En la ventana emergente, seleccione el tipo de archivo 
que  será  vinculado  al  proyecto,  como:  ASM  Source  file  (*.s*; 
*.src;*.a*).  Seleccione  el  archivo  que  genero  anteriormente. 
Presione  el  botón  Add.  Debido  a  que  con  esta  ventana,  se 
puede  adicionar  diversos  archivos  al  proyecto,  el  hecho  de 
presionar el botón Add, no cerrara la ventana emergente, por 
lo  que  será  necesario  presionar  el  botón  CLOSE  después  de 
haber presionado el botón ADD.  
 
Asegúrese  que  el  archivo  está  vinculado  con  el 
proyecto,  expanda  el  rubro  SourceGroup1,  y  debajo  de 
éste deberá aparecer el archivo vinculado.  
 
Para especificar las opciones del proyecto, es necesario dar click con el botón derecho del ratón sobre 
el rubro Target1 y seleccionar Options for Target1 (ALT+F7). 

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 
Campus Ciudad de México 
División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
En  la  ventana  emergente,  se  pueden  configurar  diversas  opciones  del  proyecto,  como  lo  son  la 
frecuencia de operación, el modelo de memoria a utilizar (solo memoria de programa interna, interna‐externa, 
para variables y constantes). Las opciones que modificaremos para los primeros proyectos generados son: 
1. Definir frecuencia de operación y modelo de memoria. 

 
2. Definir archivos de salida 

 
Ahora podemos escribir el código correspondiente a nuestro programa antes de iniciar el proceso de 
compilación, supongamos el siguiente fragmento de código para inicializar la operación de DEPURACION. 
CSEG        INC  A 
  ValueInitACC    EQU  01H        cicloRetrazaEnvio1: 
  CounterDelayOut  EQU  0FFH          MOV  R0, 
  CounterDelayIn  EQU  0FFH  #CounterDelayOut 
ORG 0000H          MOV  R1, 
JMP MAIN  #CounterDelayIn 
ORG 0030H          cicloRetrazaEnvio2: 
MAIN:            DJNZ 
  MOV  SP,#70H  R0, cicloRetrazaEnvio2 
  MOV  Counter,#1          DJNZ  R1, 
  cicloInicializaPuerto:  cicloRetrazaEnvio2 
    MOV  A, #Counter        INC  Counter 
    cicloEnviaPuerto:    JMP cicloEnviaPuerto 
      MOV  P1, A  END MAIN 
 

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 
Campus Ciudad de México 
División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
Una vez escrito algún segmento de código, se puede pasar al proceso de ensamble y enlace usando el  
comando Buil Target (F7). 
Después  será  necesario  observar  los  errores  que 
pudieran  aparecer  en  la  ventana  de  Build  Output,  lo 
ideal  sería  obtener  cero  errores,  como  se  muestra  a 
continuación.  
Si llegaras a obtener algún tipo de error, se te 
proporcionara  el  tipo  de  error  y  la  línea  donde  se  ubica 
dicho  error,  observa  la  siguiente  ventana.  En  esta  se 
indica  que  existe  un  error  de  sintaxis  (Algo  mal  escrito, 
que no es una palabra reservada) en la línea 5 del archivo 
borrar.asm. 
Dando doble clic sobre el error en la ventana de Build 
Output,  el programa te llevará a la ventana de código origen 
y  a  la  línea  donde  se  encuentra  dicho  error.  TIP.  Siempre 
corrige  los  errores  del  primero  al  último,  ya  que  un  error 
generalmente  genera  muchos  más  errores,  es  decir 
arreglando  los  primeros  errores,  casi  siempre  se  eliminan 
errores posteriores. 
Siempre  que  modifiques  el  contenido  del  archivo  fuente  (lenguaje  Ensamblador),  deberás  guardar  tu 

archivo File/Save (CTRL+S)  y volver a lanzar el proceso de ensamble y enlace 

Project/Build Target (F7)  . 
   

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 
Campus Ciudad de México 
División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
Cuando  tu  proyecto  ya  no  contenga  errores,  será  posible  entonces  iniciar  el  proceso  de  simulación  y 
depuración con el comando Start/Stop Debbug Session (CTRL+F5). 

 
Debido  a  que  se  está  utilizando  un  programa  de  evaluación,  siempre  que  se  lance  el  proceso  de 
Depuración, saldrá la siguiente ventana emergente. Presione el botón ACEPTAR. 

 
Si  se  han  realizado  adecuadamente  los  pasos  anteriores,  entraremos  en  modo  de  simulación,  y 
aparecerán nuevas ventanas, con información diversa de nuestro proyecto, el microcontrolador y los recursos 
de este. Observe la siguiente ventana. 

 
Analizaremos algunas de las características de simulación que proporciona el programa. 

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 
Campus Ciudad de México 
División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
EJECUCION DEL PROGRAMA 
El simulador nos permite ejecutar las instrucciones que forman al programa en diferentes modalidades: 
 Corrida libre (RUN F5). El programa corre libremente, 
hasta  que  se  alcance  algún  punto  de  rompimiento,  ya  sea  por 
hardware  o  por  software.  Si  no  se 
alcanza  algún  punto  de  rompimiento 
será necesario detener la ejecución libre 
del programa usando el comando Stop.  
 Corrida línea por línea (Step One Line F11). Permite la ejecución solamente de una línea de código. 
Cuando se encuentra con instrucciones de llamadas a procedimientos 
o subrutinas (instrucción call), el comando F11, se introduce al cuerpo 
de  la  función  para  seguir  la  ejecución  línea  por  línea  de  las 
instrucciones que  forman a la subrutina. 
 Corrida sobre la línea (Step Over the Line F10). De forma similar a F11, este comando ejecuta una 
línea  a  la  vez,  pero  si  la  línea  que  se  desea  ejecutar  es  una 
línea que contiene encapsulada un conjunto de instrucciones, 
esta  se  considera  como  si  fuera  una  sola  instrucción.  Esta 
función  es  utilizada  cuando  no  deseamos  depurar  el  código 
contenido dentro de alguna subrutina o función. 
 Salir  de la función actual (Step Out of the currenti function CTRL+F11). Estando dentro del cuerpo 
de  la  función,  este  comando  nos  permite  ejecutar 
todas  las  instrucciones  que  forman  a  la  función  a 
velocidad  de  corrida  libre  y  detenerse  en  la 
instrucción inmediata posterior a la llamada a dicha función. 
 Corrida libre hasta la línea del cursor (Run to Cursor Line CTRL+F10). Ejecuta todas las instrucciones 
a  velocidad  de  corrida  libre,  desde  la  posición  actual, 
hasta que sea alcanzada la instrucción donde se ubicaba 
el cursor cuando se presiono CTRL+F10. 
   

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 
Campus Ciudad de México 
División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
CONTEO DE TIEMPO 
En  la  parte  inferior  del  programa  Keil  mVision  (Barra  de  estado),  se  ubica  el  sistema  de  conteo  de 
tiempo del programa. Este sistema cuenta con tres cronómetros, que están relacionados con la ejecución del 
programa. Para observar el tiempo de estos cronómetros, basta con colocar el ratón sobre la barra de estados 
de los cronómetros. 

 
Para reinicializar alguno de los cronómetros del sistema, dar click con el botón derecho del ratón sobre 
la barra de estados donde se encuentra especificados los contadores y seleccionar la operación deseada.   

 
Dos  de  estos  contadores  (T1  y  T2)  pueden  ser  reiniciados  en  cero  en  cualquier  momento  de  la 
ejecución  del  programa,  no  así  el  T0  que  especifica  el  tiempo  total  que  ha  transcurrido  desde  que  el 
microcontrolador se inicializo.  
Existen dos tipos de puntos de rompimiento por software o por hardware,  
Los  puntos  de  rompimiento  por  hardware,  son    aquellos 
que detienen la ejecución de la simulación del programa (RUN F5), 
cuando  se  alcanza  una  instrucción  marcada  por  un  punto  de 
rompimiento. Los puntos de rompimiento son definidos o borrados, 
cuando se ejecuta el comando Insert/Remove BreakPoint (F9). 
 Los  puntos  de  rompimiento  son  marcados  sobre  el 
archivo origen (Lenguaje Ensamblador) con un círculo rojo.  En la 
imagen de la izquierda, el punto de rompimiento está definido en 
la línea 23 que corresponde con la instrucción INC Counter. 

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 
Campus Ciudad de México 
División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
PUNTOS DE ROMPIMIENTO 
Los  puntos  de  rompimiento  por  software  son  aquellos  que  se  definen  para  condiciones  de  acceso  o 
modificación  de  registros  o  posiciones  de  memoria.  Es  decir  es 
posible  especificarle  al  programa  que  ejecute  todas  las 
instrucciones  a  velocidad  de  corrida  libre,  pero  que  se  detenga 
cuando  se  haya  realizado  el  evento  de  lectura  de  un  registro 
determinado  o  con  mayor  complejidad  detener  la  ejecución  del 
programa  cuando  se  haya  accesado  un  registro  200  veces  para 
lectura y/o escritura. Estos puntos de rompimiento se definen o se 
deshabilitan usando el comando Debug/Breakpoints (CTRL+B). 
Una  vez  ejecutado  el  comando,  aparecerá  una  ventana  emergente  donde  se  podrán  especificar  las 
condiciones  requeridas  para  que  el  simulador  detenga  la  ejecución  del  programa  en  modo  de  corrida  libre. 

 
   

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 
Campus Ciudad de México 
División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
Por  ejemplo  observe  los  datos  que  se  han  escrito 
en  la  ventana  de  Breakpoints.  Seguidos  cada  uno  de  ellos 
de presionar el botón define. 
Los datos escritos definen el evento de Break para 
la  ejecución  del  programa,  cuando  el  nemónico  “r0”  sea 
usado por el programa 8 veces.  Para acc cuando sea usado 
255 veces y  el último se tendrá  cuando se use la posición 
de memoria de datos 30H 30 veces. 
   

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 
Campus Ciudad de México 
División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
VISUALIZACION DE VARIABLES Y CONSTANTES. 
Para  adicionar  una  variable  o  constante  a  la  región  de  Watch,  se  puede  realizar  dando  click  con  el 
botón  derecho  del  ratón  estando  sobre  el  nombre  de  la  constante  o  de  la  variable  y  seleccionando    Add  
‘variable o constante’ to.. Watch1 o Watch2. 
 

 
 
   

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 
Campus Ciudad de México 
División de Ingeniería  Arquitectura 
Departamento de Ingeniería Mecatrónica 
 
LABORATORIO DE MICROCONTROLADORES 
 
ANALIZADOR LOGICO. 
 
 

Laboratorio de Microcontroladores                                                         Genaro Sola Ortiz 
 

Vous aimerez peut-être aussi