Manejo de tablas
con el Atmega164P por David Torres Herrera
Visualizando mensaje en el AVR studio
El uso de tablas en los
microcontroladores AVR’s es muy necesario a la hora de implementar cierto tipo
de programas donde se necesita optimizar el código y así evitarnos largas
jornadas de programación en assembler. Usos adecuados del manejo de tablas en
assembler las podemos encontrar para sacar secuencias de números, secuencias de encendidos, mostrar mensajes de
texto por comunicación serial, etc.
En este programa se mostrara como
visualizar un mensaje por medio del manejo de tablas.
.include"m164pdef.inc"
.def contador = r17 ; defino el registro r17 como
contador
.dseg ;se tendra
variable que se almacena en la memoria de datos
.org 0x100 ;se apunta a la direccion 0x100 de la SRAM
Mensaje: .byte 24 ; definimos el
tamano de la variable que mostrara el mensaje
; el mensaje es
"Electroncia desdeEcuador_"
.cseg
.org 0x00 ; desde aqui empieza el programa
//apunto
con los punteros indicados para sacar el mensaje
inicio:
ldi contador,25 ;cargo contador con el numero de la variable a sacar +1
ldi xh,high(Mensaje) ;apunto al puntero x alto y le cargo el
tamano de mensaje
ldi xl,low(mensaje) ;apunto al puntero x bajo y le cargo
el tamano de mensaje
ldi zh,high(tabla<<1) ;apunto cpn puntero
z alto para sacar datos de la tabla
ldi zl,low(tabla<<1) ;apunto cpn
puntero z bajo para sacar datos de la tabla
//rutina
donde se saca caracter por caracter y se lo muestra
mostrar:
lpm r16,z+
;carga el valor del puntero z en r16
st x+,r16 ; guarda el valor de r16 en el puntero x
dec contador ;
decrmenta contador hasta que
brne mostrar
; se haga cero y sale del lazo mostrar
fin:
rjmp fin
; se mantiene en un lazo infinito una vez acabado el
programa
//
las tablas simepre deben colocarse al final del programa
tabla:
.db
"Electronica desde Ecuador_" ; la tabla
debe contener datos pares, caso contrario
; el AVR studio nos
completara con cero ese espacio
·
Cuando se procede a depurar un programa en el
AVR studio se debe presionar play en la barra de herramientas en la parte
superior del programa
·
Una vez que lo hemos hecho nos pedirá seleccionar
el depurador
·
Se selecciona el simulador
·
Luego se procede a pausar le depuración para así
observar los resultados
·
Una vez hecho esto procedemos a observar los
datos de la tabla en la IRAM, hay que fijarse que estos comienzan desde la
localidad que nosotros le designamos que fue 0x100
buen tuto, pero por que se hace recorrer tabla a la izquierda
ResponderBorrar