domingo, 23 de febrero de 2014

MICROCONTROLADORES PIC 33: LCD CON PBP PARTE 1

            Se realiza un primer programa para el manejo de una pantalla LCD de 2x16 con el PBP, en este caso se utiliza el PIC16F84A; en este primer ejemplo se trata sobre la forma en que hay que escribir el código para decirle al programa que pines del PIC serán utilizados para datos y que pines serán los de control; luego mediante la instrucción lcdout del PBP se enviarán mensajes que se podrán ver en la pantalla LCD.

              El formato de la instrucción lcdout que se utiliza tiene la siguiente forma:

                          lcdout dato,dato,dato...
             
             Donde dato puede ser una instrucción para la pantalla LCD, y si dato va entre comillas será eso lo que se imprima en la pantalla.

              En este caso se utiliza la instrucción $fe,1, la cual sirve para limpiar la pantalla LCD, es decir que borre todo lo escrito en la pantalla.

              El vídeo es el siguiente:

           El esquema del circuito utilizado, así como el diagrama  de flujo del programa utilizado en este ejemplo a continuación:

           El código en PBP del programa que se realizó para el ejemplo es el siguiente:

#CONFIG
   __config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF

 #ENDCONFIG

DEFINE OSC 4

DEFINE LCD_DREG PORTB     'Se utiliza el puerto b para los datos a enviar al LCD.
DEFINE LCD_BITS 4                  'Se utilizarán 4 bits para el bus de datos.
DEFINE LCD_DBIT 4                 'Se utilizaran los pines D4,D5,D6 y D7 del LCD.

DEFINE LCD_RSREG PORTB    'El pin  RS del LCD se conectará al puerto b.
DEFINE LCD_RSBIT 1               'RS se conectará en el pin RB1 del PIC.
DEFINE LCD_EREG PORTB      'El pin E del LCD se conectará al puerto b.
DEFINE LCD_EBIT 2                  'E se conectará en el pin RB2 del PIC.
DEFINE LCD_LINES 2               'El LCD será de 2 líneas(2x16).

pause 200

inicio:
    lcdout $fe,1,"Hola Mundo"        'La instrucción $fe,1 sirve para limpiar la pantalla LCD.
    pause 500
    lcdout $fe,1,"Real Madrid"
    pause 500
goto inicio
end


Atte: Benny

No hay comentarios:

Publicar un comentario