domingo, 23 de febrero de 2014

MICROCONTROLADORES PIC 35: LCD CON PBP PARTE 3

MICROCONTROLADORES PIC 35: LCD CON PBP PARTE 3

         Este un ejemplo de la forma en que podemos obtener información de lo que esta ocurriendo en el PIC y que esta información la podamos ver en una pantalla LCD, es un ejemplo sencillo que será muy útil para comprender futuros programas que se hagan con el PIC.

        En este caso se crea una variable, cuyo valor que va cambiando con el tiempo lo podemos ver mediante la pantalla LCD, ademas se activaran unos pines lo cual lo podemos ver mediante unos leds, a la vez que en la pantalla observaremos que led es el que esta activo.

 El vídeo es es siguiente:

El diagrama de flujo para crear el programa en el PBP a conticuación:

El esquema del circuito utilizado a continuación:


El código en PBP utilizado para realizar el vídeo a continuación:

#CONFIG
   __config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF

 #ENDCONFIG

DEFINE OSC 4

DEFINE LCD_DREG PORTB         'Los datos se enviarán por el puerto b del PIC
DEFINE LCD_BITS 4
DEFINE LCD_DBIT 4

DEFINE LCD_RSREG PORTA        
DEFINE LCD_RSBIT 1                   'El pin RS del LCD se conectará al pin RA1 del PIC
DEFINE LCD_EREG PORTA
DEFINE LCD_EBIT 0                     'El pin E del LCD se conectará al pin RA0 del PIC
DEFINE LCD_LINES 2

pause 200

trisa.2=0
trisb.2=0
porta.2=0
portb.2=0

control var byte
control=0

inicio:
lcdout $fe,1
lcdout $fe,$80,"Control: ",dec control      'En la primera linea del LCD nos informamos 
                                                              'del valor de la variable control

if control<50 then                                    
porta.2=1                                        'esto ocurre si control es menor que 50
portb.2=0
lcdout $fe,$c0,"Verde encendido"    'La segunda línea del LCD nos informa 
                                                               'que el led verde está encendido.
else
porta.2=0                                        'Esto ocurre si control es mayor o igual a 50
portb.2=1
lcdout $fe,$c0,"Rojo encendido"      'La segunda línea del LCD nos informa
                                                               'que el led rojo está encendido
endif

pause 200

control=control+1
if control=100 then control=0                   'Cuando la variable control es igual a 100
                                                               'se inicializará a cero.
goto inicio
end

No hay comentarios:

Publicar un comentario