Mis primeros programas en assembler - Micros Designs
Mis primeros programas en assembler - Micros Designs
Mis primeros programas en assembler - Micros Designs
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Código<br />
GeSHi (asm):<br />
1. LCD_Putc macro Carac<br />
2. movlw Carac<br />
3. call LCD_Caracter<br />
4. <strong>en</strong>dm<br />
5. LCD_Putd macro Coman<br />
6. movlw Coman<br />
7. call LCD_Comando<br />
8. <strong>en</strong>dm<br />
Rutinas de Control:<br />
LCD_Config_puertos: Configura los puertos del PIC para el uso del módulo LCD, solo afecta a los<br />
pines utilizados.-<br />
LCD_Init: Inicializa el módulo LCD para su correcto funcionami<strong>en</strong>to. Es necesario ejecutar esta<br />
subrutina al principio de los <strong>programas</strong> que vayan a utilizar la visualización mediante LCD.<br />
LCD_Bandera: Explora el estado de la bandera Busy (ocupado) del módulo LCD y espera que<br />
termine cualquier comando previo antes de volver a la rutina que le llamo.-<br />
LCD_Enable: Habilita el módulo LCD durante 2us para recepción de datos o <strong>en</strong>vío.-<br />
LCD_Comando: Configura módulo LCD para recibir un comando mediante rutina<br />
LCD_Envio_Data.-<br />
LCD_Caracter: Configura módulo LCD para recibir un carácter mediante rutina LCD_Envio_Data.-<br />
LCD_Envio_Data: Envía dato al LCD, Cargando el nible alto y luego el nible bajo.-<br />
Nota: Observar que las líneas de control y bus de datos es fácilm<strong>en</strong>te modificable <strong>en</strong> Declaración de<br />
bits para control LCD y Declaración de Bytes del LCD.<br />
Librería LCD más ejemplo.<br />
Como ejemplo de aplicación se muestra un ejemplo donde se visualiza un m<strong>en</strong>saje (“InfoPic”):<br />
Código<br />
GeSHi (asm):<br />
1. ; **** Encabezado ****<br />
2. list p=16F84A<br />
3. #include P16F84A.inc<br />
4. __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC<br />
5. ;///////////////////////////////////////////////////////////////////<br />
6. ;**** Declaración de Registros ****<br />
7. LCD_Dato equ 0x0C ;registro para guardar dato<br />
a <strong>en</strong>viar al LCD<br />
8. Loop equ 0x0D ;registro para<br />
inicializacion del LCD<br />
9. Contador1 equ 0x0E ;registro para demoras<br />
10. Contador2 equ 0x0F ;registro para demoras<br />
11. ;**** Declaracion de bits para control LCD ****<br />
12. RS equ 0<br />
13. RW equ 1<br />
14. E equ 2<br />
15. BACK equ 3<br />
Autor: Suky Mail: inf.pic.suky@live.com.ar Web: www.micros-designs.com.ar