- Este programa recibe una cadena de 16 caracteres ASCII de la calculadora HP 50g y la muestra en un LCD con controlador Hitachi 44780.
- Se utiliza Direccionamiento Indirecto para guardar la cadena de caracteres en registros sucesivos a partir de la dirección 20h.
- Los datos en serie se reciben a 9600 baudios por el pin RA4.
- Según el siguiente diagrama de tiempos de envio de datos en serie:
- El programa espera a que se presente un "0" (bit START). Cuando esto ocurre se ejecuta una rutina que guarda los bits que llegan en serie, a partir del menos significativo, en la dirección de memoria al que apunta el registro FSR (Direccionamiento indirecto).
- Una vez recibidos los 8 bits, debidamente sincronizados a 9600 baudios mediante retardos, se ejecuta un retardo más a la espera del primer bit STOP (para evitar falsas lecturas de "0" que podría ser el 8 bit de datos).
- Se incrementa FSR para apuntar a la dirección sucesiva y se incrementa un contador de caracteres recibidos.
- Si ya se recibieron 16 caracteres se salta a la rutina que muestra la cadena en un LCD, una vez finalizada se repite el proceso nuevamente . Caso contrario se espera un nuevo "0" (bit START) para recibir el siguiente caracter.
- La cantidad de caracteres a recibir se puede modificar en el archivo .ASM (donde se indica).
- Opcional: para enviar caracteres desde la calculadora crear el siguiente programa que permite enviar 10 cadenas cada vez que se ejecuta. Escribir la cadena entre comillas (".....") cuando se solicite.
1 10
FOR j
"CADENA A ENVIAR"
{":a:" {0 0} V}
INPUT
OBJ→ 'a' STO a
9600 BAUD
XMIT
DROP
NEXT
'a' PURGE >>
Archivos .ASM y .HEX: