13.11.2012 Views

Mis primeros programas en assembler - Micros Designs

Mis primeros programas en assembler - Micros Designs

Mis primeros programas en assembler - Micros Designs

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!