DESCRIPCION:
Este programa maneja un lcd de 16*2 con el pic16f877.El lcd se encuentra configurado en 8 bits, se utiliza todo el puerto C para enviar el dato y los 2 pines menos significativos del puerto B para el RS Y EL E.
Nota: retrado calculado para un cristal de 20 Mhz
MATERIALES:
- PIC16F877A
- Resistencias de 4.7K
- Cristal de 20MHZ
- Push Botton
- Fuente de DC de 5 volts
- Protoboard
- LCD
RUTINAS IMPORTANTES DEL PROGRAMA:
;--------------------------------------------------------------------
CLRF PORTB ;LIMPIA EL PUERTO
CLRF PORTC ;LIMPIA EL PUERTO
call inicialcd ;CONFIGURA EL LCD(INICIALIZA EL LCD)
call letrero ;ESCRIBE EL LETRERO
call limpia ;LIMPIA EL LCD
call linea2 ;SELECCIONA LA LINEA 2
call letrero ;ESCRIBE EL LETRERO
;--------------------------------------------------------------------
;subrutina para inicializar el lcd
inicialcd:
movlw 0x01 ; El comando 0x01 limpia la pantalla en el LCD
movwf PORTC
call comando ; Se da de alta el comando
movlw 0x0C ; Se selecciona la primera linea
movwf PORTC
call comando ; Se da de alta el comando
movlw 0x3C ; Se configura el cursor
movwf PORTC
call comando ; Se da de alta el comando
bsf PORTB, 1 ; Rs se pone en 1 para deshabilitar el uso de comandos
return
;-------------------------------------------------------------------
linea2:
bcf PORTB, 1 ; rs en 0
movlw 0xc0 ; selecciona linea 2 pantalla en el LCD
movwf PORTC
call comando ; Se da de alta el comando
return
;-------------------------------------------------------------------
limpia:
bcf PORTB, 1 ; rs en 0
movlw 0x01 ; limpia lcd pantalla en el LCD
movwf PORTC
call comando ; Se da de alta el comando
return
;--------------------------------------------------------------------
DIAGRAMA DE CONECCIÓN:
Puede descargar el programa completo en la seccion de Desgargas de este blog.
4 comentarios:
que tal mi nombre es alveiro y estudio electronica en estos momentos estoy realizando mi proyecto y tengo que mostrar varios mensajes en una pantalla lcd con un pic 16f877 es esactamente lo que usted publico,
disculpe me la molestia y si no tendria algun problema en enviarme el programa completo a mi correo alvei_mont88@hotmail.com
quedare muy agradesido con su ayuda muchas gracias
muchas gracias por su imensa ayuda, es para mi muy importante poder programar mi pic 16f877 con mi modulo lcd
estare probando los demas proyectos me parecen muy interesante
te contare de que trata mi proyecto.
es muy complejo por que tengo que hacer que apararesca un mensaje por cada bit que ingrese al pic, estoy utilizando hasta ahora solo los 4 primeros bits es decir las combinaciones respectivas me arrojan 15 diferentes mensajes, todo eso me funciona pero con el pic 16f84a necesito pasarlo a un pic mas grande para poder hacer mas combinaciones de bits y ese es mi gran problema sera que me pueden ayudar a pasar el programa para que trabaje con el pic 16f877
se que hay que cambiar las etiquetas por que las direcciones de la memoria del pic
cual quier aporte sera bien recibido en mi correo alve_mont88@hotmail.com
hola, me llamo jessica, y en mi proyecto empleo un pic 16f877 con un lcd. al hallar el codigo que publicastes, me di cuenta que sería algo muy similar a mi proyecto. por lo que me gustaria saber si podrias mandarme el resto del programa a mi mail: jessiremes@hotmail.com
desde ya muchas gracias.
Hola que tal, Actualmente estoy haciendo un montaje casi parecido al que usted tiene en su Blog, con la salvedad que estoy utilizado el puerto B para la salidad de datos hacia el LCD y los bit nenos significativos del puerto A (A0, A1) son para controlar el modulo LCD. Si no es mucha molestia o abuso poder enviarme el codigo ASM para comparalo con mi programa, ya que no me esta funcionando bien. Gracias y saludos. Mail: berardi04@gmail.com
Publicar un comentario