Ir al contenido principal

FRASES EN PANTALLA LCD 16X2 | CON EL PIC 16F877A.

FRASES EN PANTALLA LCD 16X2 | CON EL PIC 16F877A.

Frases en pantalla LCD 16X2.
INTRODUCCION: Cuando empezamos a programar microcontroladores PICs, primero empezamos con leds, luego vamos avanzando con más proyectos y con forme vamos avanzando en el los proyectos lo vamos haciendo más dificultoso, en este caso vamos a programar unas letras en el display que se desplacen de izquierda derecha. En la cual podemos recibir publicidad o frases, podemos escribir muchas frases de acuerdo a nuestro pic que utilicemos.

Este componente (LCD) se encarga de convertir las señales eléctricas de la placa en información visual fácilmente entendible por los seres humanos.

Debemos de dominar tanto las conexiones como la programación de la pantalla LCD con PIC ya que es un componente muy útil en muchos proyectos. La gran ventaja es que gracias a la pantalla LCD, podremos mostrar información de datos como temperatura, humedad, presión o voltaje.

LCD es el acrónimo de Liquid Crystal Display (en español Pantalla de Cristal Líquido). No podemos considerar que se trate de una tecnología novedosa. El LCD lleva con nosotros mucho tiempo, solo tenemos que echar la mirada hacia atrás y recordar esos relojes Casio o las calculadoras que llevamos a clase de matemáticas.


A continuación les muestro el diagrama que vamos a ensamblar en este proyecto, es muy simple de ensamblarlo, también vamos a utilizar una protoboard para hacer el circuito, allí tiene el diagrama:

Diagrama.
MATERIALES:

  • 1 PIC 16f877a.
  • 1 Pantalla LCD de 16X2.
  • 1 Potenciómetro de 1kΩ.
  • 1 Resistencia de 420Ω.
  • 1 Resistencia de 10kΩ.
  • 1 Crystal de 4MHZ.
  • 2 Condensadores cerámicos de 22pf.
  • 1 Pulsador N.A.
  • 1 Protoboard.
  • 1 Fuente de 5v/0.5A

PIC16F877A: En este proyecto se utilizó el PIC 16F877A. Este microcontrolador es fabricado por Microchip familia a la cual se le denomina PIC. El modelo 16F877A posee varias características que hacen a este microcontrolador un dispositivo muy versátil, eficiente y práctico para programar frases, palabras, etc…

Algunas de estas características del PIC se muestran a continuación:

·         Soporta modo de comunicación serial, posee dos pines para ello.
·         Amplia memoria para datos y programa.
·         Memoria reprogramable: La memoria en este PIC es la que se denomina FLASH; este tipo de memoria se puede borrar electrónicamente (esto corresponde a la "F" en el modelo).
·         Set de instrucciones reducidas (tipo RISC), pero con las instrucciones necesarias para facilitar su manejo.

CARACTERÍSTICAS.

En siguiente tabla de pueden observar las características más relevantes del dispositivo:

CARACTERÍSTICAS
16F877a
Frecuencia máxima.
DX-20MHz
Memoria de programa flash palabra de 14 bits.
8KB
Posiciones RAM de datos.
368
Posiciones EEPROM de datos.
256
Puertos E/S.
A,B,C,D,E
Número de pines.
40
Interrupciones.
14
Timers.
3
Módulos CCP
2
Comunicaciones Serie.
MSSP, USART
Comunicaciones paralelo.
PSP
Líneas de entrada de CAD de 10 bits.
8
Juego de instrucciones.
35 Instrucciones
Longitud de la instrucción.
14 bits
Arquitectura.
Harvard
CPU.
Risc
Canales Pwm.
2
Pila Hardware.
-
Ejecución En 1 Ciclo Máquina.
-


Ahora una vez teniendo lo que es el diagrama, y toda la teoría de los componentes principales como el PIC y el LCD, ahora vamos a programar el PIC16F877A, en mi caso para programar los PICs utilizo el programa PROTON IDE, que lo pueden descargar AQUÍ, a continuación les dejo el código bas o código fuente del proyecto, para que ustedes puedan hacer sus pruebas y a la ves puedan modificar las frases.

Device = 16F877A                                  'ELEGIMOS EL PIC A USAR 
XTAL = 4                                                 'CRYSTAL A USAR

Declare LCD_TYPE 0
Declare LCD_DTPIN PORTD.4      'DECLARAR LOS PUERTOS DE PROGRAMACION.
Declare LCD_RSPIN PORTD.2       'DECLARAR LOS PUERTOS DE PROGRAMACION.
Declare LCD_ENPIN PORTD.3       'DECLARAR LOS PUERTOS DE PROGRAMACION.
LCD_LINES 2

ALL_DIGITAL TRUE                

TRISD=0                                           'PUERTO D = SON SALIDAS  
DelayMS 200 
Cls 

INICIO: 
      Print At 1,1,"BIENVENIDOS A LA"    'PRIMERA FILA (MAXIMO DE LETRAS 16) 
      Print At 2,1,"  ELECTRONICA   "       'SEGUNDA FILA (MAXIMO DE LETRAS 16)
      DelayMS 3000
      
      Print At 1,1,"                "                      'FILA APAGADOS 
      Print At 2,1,"                "                      'FILA APAGADOS 
      DelayMS 500
      
      Print At 1,1,"PROGRAMACION CON"
      Print At 2,1,"   PROTON IDE   "
      DelayMS 3000
      
      Print At 1,1,"                "
      Print At 2,1,"                "
      DelayMS 500
      
      Print At 1,1,"  PANTALLA LCD  "
      Print At 2,1,".....16 X 2....."
      DelayMS 3000
      
      Print At 1,1,"                "
      Print At 2,1,"                "
      DelayMS 500
      
      Print At 1,1,"ELECTRONICA- MI_"
      Print At 2,1,"CROCONTROLADORES"
      DelayMS 3000
      
      Print At 1,1,"                "
      Print At 2,1,"                "
      DelayMS 500
      
      Print At 1,1," ): HOLA AMIGOS "
      Print At 2,1," DE YOUTUBE   (:"
      DelayMS 3000
      
      Print At 1,1,"                "
      Print At 2,1,"                "
      DelayMS 500
      
      Print At 1,1," SIGAN LOGRANDO "
      Print At 2,1,"  SUS METAS....."
      DelayMS 3000
      
      Print At 1,1,"                "
      Print At 2,1,"                "
      DelayMS 500
      
      Print At 1,1,"  ELECTRONICA   "
      Print At 2,1,"  INDUSTRIAL    "
      DelayMS 3000
      
      Print At 1,1,"                "
      Print At 2,1,"                "
      DelayMS 500
      
      Print At 1,1,"0,1,2,3,4,5,6,7,"
      Print At 2,1,"8,9,10,11,12,13."
      DelayMS 3000
      
      Print At 1,1,"                "
      Print At 2,1,"                "
      DelayMS 500
      
      Print At 1,1,"Programacion de "
      Print At 2,1," pantalla lcd.  "
      DelayMS 3000
      
      Print At 1,1,"                "
      Print At 2,1,"                "
      DelayMS 500
      
      Print At 1,1," EL MUNDO DE LA "
      Print At 2,1,"  ELECTRONICA   "
      DelayMS 3000
      
      Print At 1,1,"                "
      Print At 2,1,"                "
      DelayMS 500
      
      GoTo INICIO 
      End 

Una vez que ya tengan el código y hayan compilado ok, y a la vez lo hayan simulado en el proteus, ahora ese código hex que nos genera al momento de compilar lo vamos a copiar al PIC, por medio de un GRAVADOR DE PICs, una vez ya grabado el código hex. Ahora conectamos todo y alimentamos el circuito CON 5v y tienen que funcionar excelente .Cualquier duda que tengan no duden en preguntar.

Aquí led dejo el video para vean el funcionamiento y la programación paso a paso:



Links de descarga:

1.    Diagrama en proteus, para hacer las pruebas.
              https://goo.gl/uXaRSN

2.    Código bas, o código fuente, para que modifiquen las frases.
             https://goo.gl/QL2iPp

3.    Código hex para que lo carguen al proteus , y vean lo que hemos mostrado en el video.
            https://goo.gl/B3dRcR


Comentarios

Anónimo dijo…
muchas gracias por su ayuda, saludos desde chile
José María dijo…
Hola amigo,me llamo José María,y estoy empezando en este mundo de los pic.En primer lugar darte las gracias por compartir tus conocimientos,gracias a personas como tu Internet es un sitio más solidario.La pregunta que te quiero hacer es la siguiente.Yo tengo el compilador CCS,y quiero hacer el circuito que tú propones,y quisiera saber si descargando el archivo en formato HEX le puedo cargar al pic con el PICKIT 3,que es el que tengo.Muchas gracias.

Entradas más populares de este blog

Como hacer un Dimmer Electrónico con TRIAC y DIAC | Muy fácil paso a paso.

INTRODUCCIÓN :   Un Dimmer electrónico es un  regulador, atenuador o dímer, sirve para regular la energía en uno o varios focos con el fin de variar la intensidad de la luz que emiten, cuando las propiedades de la lámpara lo hacen posible, en sí, el dimmer tiene muchas aplicaciones, podemos regular la velocidad de giro de un motor eléctrico, también podemos conectar un Cautín para regular su temperatura, en si lo que hace el dimmer es variar el voltaje AC en unas de sus salidas del dimmer, al final del blog veremos cómo regular la velocidad e un ventilador. La luz que ilumina una habitación puede incidir en nuestro estado de ánimo, en nuestra predisposición, etc. El dimmer o atenuador de luz es un instrumento electrónico de lo más útil para conseguir un nivel óptimo de confort en casa, ya que con esta pequeña ruleta podremos controlar la luminosidad de nuestras lámparas a cada momento, pudiendo regular la iluminación a nuestro antojo. En mi caso yo lo utilizo mucho este

Carrito a control remoto con Arduino / Bluetooth / Android, circuito en Protoboard y en Baquelita.

Circuito en Protoboard. Circuito en baquelita. 1.- INTRODUCCION: En este blog y video, haremos un carrito / coche a control remoto, lo vamos hacer con Arduino Uno , o también podemos utilizar el Arduino Leonardo , y lo vamos a controlar por medio de bluetooth , el dispositivo bluetooth que estamos utilizando es el HC-05 o también pueden utilizar el HC-06 , el carrito lo vamos a con nuestro teléfono celular Android , el aplicativo lo vamos a descargar desde le Play Store, tengo el código, el diagrama, materiales y la explicación paso a paso de como ensamblar el circuito. 2.- ¿QUE ES ARDUINO? Arduino es una plataforma de creación de electrónica de código abierto, la cual está basada en hardware y software libre, flexible y fácil de utilizar para los creadores y desarrolladores. Esta plataforma permite crear diferentes tipos de microordenadores de una sola placa a los que la comunidad de creadores puede darles diferentes tipos de uso. Para poder entender este concepto, primero vas

Carrito evasor de obstáculos con Arduino, con sensor ultrasónico y servomotor, en protoboard y baquelita.

1.-INTRODUCCION: El objetivo de este proyecto será crear un robot que avance recto mientras no detecte la presencia de un obstáculo. En caso de detectar algún obstáculo en su camino debe ir girando sobre sí mismo hasta que esquive el obstáculo y pueda seguir su camino. El sensor HC-SR04 nos permitirá percibir la presencia de un obstáculo y con el control de los motores de corriente continua podremos accionar nuestro robot para avanzar y girar ante los obstáculos. Este circuito es uno de los proyectos que más entusiasman a estudiantes y aficionados de la robótica y/o la Electrónica. Con la ayuda del tutorial y el código podrás ponerlo en funcionamiento este robot.  El robot es capaz de esquivar obstáculos a una distancia (en nuestro caso 15cm) definida en el programa girando a la derecha antes de colisionar con el objeto. 2.-DIAGRAMA: A continuación, les dejo el diagrama, donde allí se ve todas las conexiones a realizar, estamos utilizando el Arduino uno, un servomotor SG90 , y un