POR: OSWALDO SÁNCHEZ ESCALATE
   Pantalla de cristal liquido 16 x 2
   Partes de una lcd
   Pines de la lcd
   Trabajo a 8 y 4 bits
   Comandos
   Declaraciones
   Comando print
   Comando print at
   Es un dispositivo de salida de informacion
    avanzada
   Se pueden visualizar gran cantidad de
    caracteres
   Trae un microcontrolador Hitachi 44780.
   Se componen de :
   Pines de entrada de datos
   Microcontrolador encargado de recibir los
    datos del pic y generar los caracteres visibles.
   Pantalla la cual se encarga de mostrar los
    caracteres
   Pin 1 VSS: voltaje negativo de la pantalla
   Pin 2 VDD: voltaje positivo de la pantalla
   Pin 3 VEE: ajuste de contraste de la
    pantalla(se le suele colocar un potenciómetro)
   Pin 4 RS: encargado de indicar si la
    información es de comando o es de datos
     0=comando 1=dato
   Pin 5 R/W: Este pin e indica a la lcd si vas a
    grabar datos o vas a leer datos de su
    memoria ram. 0=escritura 1=lectura
   Pin 6 E eneable: sirve para habilitar la pantalla
    o debilitarla para usar los pines dirigidos a
    ella para otras funciones 0=desactivada
    1=activada
   Pin 7 al 14: son los pines de entrada de datos
    o comandos.
   Si se trabaja con 8 bits se manda el dato(byte
    completo) si se trabaja con 4 bit primero se
    envían los 4 bits mas significativos y luego se
    envían los menos significativos al hacer esto
    consume mas tiempo de respuesta pero para
    la percepción humana es un tiempo
    insignificante.
   Se define al declarar el uso de la pantalla
   DECLARE LCD_DTPIN PORT . PIN
    DECLARE LCD_DTPIN PORTB.4        ' Used for 4-line interface.
    DECLARE LCD_DTPIN PORTB.0        ' Used for 8-line interface.

    DECLARE LCD_ENPIN PORT . PIN
    DECLARE LCD_RSPIN PORT . PIN
    DECLARE LCD_INTERFACE 4 or 8
    Inform the compiler as to whether a 4-line or 8-line interface is required
    by the LCD. If the DECLARE is not used in the program, then the default
    interface is a 4-line type.
    DECLARE LCD_LINES 1 , 2 , or 4
    Inform the compiler as to how many lines the LCD has. LCD's come in a
    range of sizes, the most popular being the 2 line by 16 character types.
    However, there are 4-line types as well. Simply place the number of lines
    that the particular LCD has into the declare. If the DECLARE is not used
    in the program, then the default number of lines is 2.
    $FE, 1       limpia display
     $FE, 2       vuelve el cursor al inicio
    $FE, $0C     apaga el cursor
     $FE, $0E     subraya donde este el cursor
     $FE, $0F     parpadea donde esta el cursor
     $FE, $10     mueve el cursor a la izquierda
     $FE, $14     mueve el cursor a la derecha
     $FE, $C0     mueve el cursor al principio de
    la segunda linia
 Para facilitar el uso guardar lo siguiente en un
  archivo de proton para que cuando se vaya a
  efectuar el uso de una lcd solo sea cuestión
 abrir el archivo.
 Para el bootloader no es necesario pues ya
  esta definido dentro de la librería
  “bootloader.inc”
   Declare LCD_DTPin PORTB.4      ' a 4 bits empesando en
    portb.4
   Declare LCD_ENPin PORTB.2 ' pin eneable en portb.2
   Declare LCD_RSPin PORTB.3 ' pin rs en portb.3
   Symbol confi=$FE       'palabra para configurar
   Symbol limpia=1      'limpia display
   Symbol inicio1=2      'vuelve el cursor al inicio
   Symbol subraya=$0E       'subraya donde este el cursor
   Symbol parpadea=$0F        'parpadea donde esta el cursor
   Symbol mueveiz=$10        'mueve el cursor a la izquierda
   Symbol mueveder=$14         'mueve el cursor a la derecha
   Symbol inicio2=$C0      'mueve el cursor al principio de la
    segunda linia
   Symbol apaga=$0C        'apaga el cursor
 PRINT
Se pone el mando PRINT para indicarle al
  compilador que vamos a imprimir algo en una
  lcd ya sean caracteres ASCII o un comando.
 PRINT CONFI,LIMPIA :
 Este es un ejemplo de cómo usar los
  comandos definidos en la anterior
  presentación
   Hacer que en la pantalla LCD aparezca
    nuestros dos nombres en la parte superior y
    en la parte inferior nuestros apellido. hacer
    que se desplacen.
   Device 18F2550
   Declare PROTON_START_ADDRESS = $1000
   Xtal 20
   All_Digital= true
   Declare LCD_DTPin PORTB.4      ' a 4 bits empesando en portb.4
   Declare LCD_ENPin PORTB.2      ' pin eneable en portb.2
   Declare LCD_RSPin PORTB.3 ' pin rs en portb.3
   Symbol confi=$FE       'palabra para configurar
   Symbol limpia=1      'limpia display
   Symbol inicio1=2      'vuelve el cursor al inicio
   Symbol subraya=$0E       'subraya donde este el cursor
   Symbol parpadea=$0F        'parpadea donde esta el cursor
   Symbol mueveiz=$10        'mueve el cursor a la izquierda
   Symbol mueveder=$14         'mueve el cursor a la derecha
   Symbol inicio2=$C0      'mueve el cursor al principio de la segunda linia
   Symbol apaga=$0C       'apaga el cursor
   Dim x As Byte
   Dim y As Byte
   Dim DATO As Byte
   TRISB=0
   TRISA=0
   inicio:
   y=16
   DATO=0
   For DATO=0 To 16
   Print confi,limpia
   Print At 1,DATO,"Edwin Oswaldo"
   Print At 2,y, "Sanchez Escalante."
   Dec y
   DelayMS 200
   Next


   For y=1 To 16
   Print confi,limpia
   Print At 1,DATO,"Edwin Oswaldo"
   Print At 2,y ,"Sanchez Escalante."
   Dec DATO
   DelayMS 200
   Next


   GoTo inicio
   HACER UN PROGRAMA DONDE SE IMPRIMA EN
    UNA PANTALLA LCD SU NOMBRE Y AL PRESIONAR
    UN BOTÓN SE DESPLACE A LA IZQUIERDA Y AL
    PRESIONAR OTRO BOTÓN SE DESPLACE A LA
    DERECHA. DELIMITAR CON UN IF EL ESPACIO DE
    LA PANTALLA
    HACER UN TIPO MENÚ PARA HACER PRENDER
    DOS LEDS SI SE APRIETA UN BOTÓN QUE PRENDA
    UN LED Y TE INDIQUE LA PANTALLA CUAL LED
    ESTA PRENDIDO Y AL APRETAR OTRO BOTÓN QUE
    SE PRENDA OTRO LED Y LA PANTALLA TE
    INDIQUE CUAL LED ESTA PRENDIDO.

Microcontroladores clase 8

  • 1.
  • 2.
    Pantalla de cristal liquido 16 x 2  Partes de una lcd  Pines de la lcd  Trabajo a 8 y 4 bits  Comandos  Declaraciones  Comando print  Comando print at
  • 3.
    Es un dispositivo de salida de informacion avanzada  Se pueden visualizar gran cantidad de caracteres  Trae un microcontrolador Hitachi 44780.
  • 5.
    Se componen de :  Pines de entrada de datos  Microcontrolador encargado de recibir los datos del pic y generar los caracteres visibles.  Pantalla la cual se encarga de mostrar los caracteres
  • 6.
    Pin 1 VSS: voltaje negativo de la pantalla  Pin 2 VDD: voltaje positivo de la pantalla  Pin 3 VEE: ajuste de contraste de la pantalla(se le suele colocar un potenciómetro)  Pin 4 RS: encargado de indicar si la información es de comando o es de datos 0=comando 1=dato
  • 7.
    Pin 5 R/W: Este pin e indica a la lcd si vas a grabar datos o vas a leer datos de su memoria ram. 0=escritura 1=lectura  Pin 6 E eneable: sirve para habilitar la pantalla o debilitarla para usar los pines dirigidos a ella para otras funciones 0=desactivada 1=activada  Pin 7 al 14: son los pines de entrada de datos o comandos.
  • 8.
    Si se trabaja con 8 bits se manda el dato(byte completo) si se trabaja con 4 bit primero se envían los 4 bits mas significativos y luego se envían los menos significativos al hacer esto consume mas tiempo de respuesta pero para la percepción humana es un tiempo insignificante.  Se define al declarar el uso de la pantalla
  • 9.
    DECLARE LCD_DTPIN PORT . PIN DECLARE LCD_DTPIN PORTB.4 ' Used for 4-line interface. DECLARE LCD_DTPIN PORTB.0 ' Used for 8-line interface. DECLARE LCD_ENPIN PORT . PIN DECLARE LCD_RSPIN PORT . PIN DECLARE LCD_INTERFACE 4 or 8 Inform the compiler as to whether a 4-line or 8-line interface is required by the LCD. If the DECLARE is not used in the program, then the default interface is a 4-line type. DECLARE LCD_LINES 1 , 2 , or 4 Inform the compiler as to how many lines the LCD has. LCD's come in a range of sizes, the most popular being the 2 line by 16 character types. However, there are 4-line types as well. Simply place the number of lines that the particular LCD has into the declare. If the DECLARE is not used in the program, then the default number of lines is 2.
  • 10.
    $FE, 1 limpia display $FE, 2 vuelve el cursor al inicio  $FE, $0C apaga el cursor $FE, $0E subraya donde este el cursor $FE, $0F parpadea donde esta el cursor $FE, $10 mueve el cursor a la izquierda $FE, $14 mueve el cursor a la derecha $FE, $C0 mueve el cursor al principio de la segunda linia
  • 11.
     Para facilitarel uso guardar lo siguiente en un archivo de proton para que cuando se vaya a efectuar el uso de una lcd solo sea cuestión abrir el archivo.  Para el bootloader no es necesario pues ya esta definido dentro de la librería “bootloader.inc”
  • 12.
    Declare LCD_DTPin PORTB.4 ' a 4 bits empesando en portb.4  Declare LCD_ENPin PORTB.2 ' pin eneable en portb.2  Declare LCD_RSPin PORTB.3 ' pin rs en portb.3  Symbol confi=$FE 'palabra para configurar  Symbol limpia=1 'limpia display  Symbol inicio1=2 'vuelve el cursor al inicio  Symbol subraya=$0E 'subraya donde este el cursor  Symbol parpadea=$0F 'parpadea donde esta el cursor  Symbol mueveiz=$10 'mueve el cursor a la izquierda  Symbol mueveder=$14 'mueve el cursor a la derecha  Symbol inicio2=$C0 'mueve el cursor al principio de la segunda linia  Symbol apaga=$0C 'apaga el cursor
  • 13.
     PRINT Se poneel mando PRINT para indicarle al compilador que vamos a imprimir algo en una lcd ya sean caracteres ASCII o un comando.  PRINT CONFI,LIMPIA : Este es un ejemplo de cómo usar los comandos definidos en la anterior presentación
  • 14.
    Hacer que en la pantalla LCD aparezca nuestros dos nombres en la parte superior y en la parte inferior nuestros apellido. hacer que se desplacen.
  • 15.
    Device 18F2550  Declare PROTON_START_ADDRESS = $1000  Xtal 20  All_Digital= true  Declare LCD_DTPin PORTB.4 ' a 4 bits empesando en portb.4  Declare LCD_ENPin PORTB.2 ' pin eneable en portb.2  Declare LCD_RSPin PORTB.3 ' pin rs en portb.3  Symbol confi=$FE 'palabra para configurar  Symbol limpia=1 'limpia display  Symbol inicio1=2 'vuelve el cursor al inicio  Symbol subraya=$0E 'subraya donde este el cursor  Symbol parpadea=$0F 'parpadea donde esta el cursor  Symbol mueveiz=$10 'mueve el cursor a la izquierda  Symbol mueveder=$14 'mueve el cursor a la derecha  Symbol inicio2=$C0 'mueve el cursor al principio de la segunda linia  Symbol apaga=$0C 'apaga el cursor  Dim x As Byte  Dim y As Byte  Dim DATO As Byte  TRISB=0  TRISA=0  inicio:  y=16  DATO=0  For DATO=0 To 16  Print confi,limpia  Print At 1,DATO,"Edwin Oswaldo"  Print At 2,y, "Sanchez Escalante."  Dec y  DelayMS 200  Next  For y=1 To 16  Print confi,limpia  Print At 1,DATO,"Edwin Oswaldo"  Print At 2,y ,"Sanchez Escalante."  Dec DATO  DelayMS 200  Next  GoTo inicio
  • 16.
    HACER UN PROGRAMA DONDE SE IMPRIMA EN UNA PANTALLA LCD SU NOMBRE Y AL PRESIONAR UN BOTÓN SE DESPLACE A LA IZQUIERDA Y AL PRESIONAR OTRO BOTÓN SE DESPLACE A LA DERECHA. DELIMITAR CON UN IF EL ESPACIO DE LA PANTALLA  HACER UN TIPO MENÚ PARA HACER PRENDER DOS LEDS SI SE APRIETA UN BOTÓN QUE PRENDA UN LED Y TE INDIQUE LA PANTALLA CUAL LED ESTA PRENDIDO Y AL APRETAR OTRO BOTÓN QUE SE PRENDA OTRO LED Y LA PANTALLA TE INDIQUE CUAL LED ESTA PRENDIDO.