elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica
| | |-+  PIC16F877A Y LCD
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: PIC16F877A Y LCD  (Leído 3,072 veces)
H3lltronik

Desconectado Desconectado

Mensajes: 9


Still Alive


Ver Perfil
PIC16F877A Y LCD
« en: 22 Mayo 2018, 06:56 am »

Saludos, de nuevo yo.

Esta vez intento que realizar un programa que muestre un texto cualquiera en el LCD usando C embebido, el problema es que no muestra lo que debe mostrar.
Este es mi codigo:
Código:
#define LCD_ENABLE_PIN PIN_D7
#define LCD_RS_PIN PIN_D5
#define LCD_RW_PIN PIN_D6

#define LCD_DATA0 PIN_B0
#define LCD_DATA1 PIN_B1
#define LCD_DATA2 PIN_B2
#define LCD_DATA3 PIN_B3
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7

#include <16f877a.h>
#use delay (clock = 4M)
#include <lcd.c>

#byte TRISB = 0x86
#byte TRISD = 0x88


void main(){

   TRISB = 0x00;
   TRISD = 0x00;

   lcd_init();
   delay_ms(1000);
   printf(lcd_putc,"NO FUNCIONA ESTA COSA");

}

Y este es el circuito de la simulacion:



Se supone deberia mostrar "NO FUNCIONA ESTA COSA" pero en lugar de eso me da esos simbolos extraños y cosas raras.

No comprendo que es lo que estoy haciendo mal! Nunca habia usado realmente C y ahora tengo problemas con el LCD, espero que alguien pueda ayudarme :C


« Última modificación: 22 Mayo 2018, 07:05 am por H3lltronik » En línea

Still Alive
srWhiteSkull


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: PIC16F877A Y LCD
« Respuesta #1 en: 22 Mayo 2018, 11:17 am »

http://www.zilogic.com/releases/current/zdev-user-manual/_lcd.html


En línea

PalitroqueZ


Desconectado Desconectado

Mensajes: 948



Ver Perfil
Re: PIC16F877A Y LCD
« Respuesta #2 en: 22 Mayo 2018, 16:09 pm »

varias consideraciones,

- necesitas preformatear a la funcion lcd_putc dentro de printf, como limpiar o indicarle la fila donde se mostraran los caracteres alfanumericos,

printf(lcd_putc,"\fNO FUNCIONA ESTA COSA");

- la pantalla lcd puede mostrar 16 caracteres, por lo que se truncará el texto que pretendes mostrar.

- en proteus no hace falta colocar cristales, elimina e cristal con los condensadores, asi como tambien el potenciometro de contraste de la pantalla lcd

- en proteus hay que configurar la frecuencia del cristal en las propiedades del micro, asi como tambien la word configurations o fuses de programación.

- por alguna extraña razón, la libreria lcd.c que viene con el compilador CCS no funciona bien con el proteus, no siendo asi, probando el montaje en físico. hay otra libreria que es mucho mejor (mas flexible y funciona en simulación y en fisico) se llama flex_lcd_c.c esta libreria la puedes buscar en google, asi como las instrucciones de utilizarla.

En línea

"La Economía planificada lleva de un modo gradual pero seguro a la economía dirigida, a la economía autoritaria y al totalitarismo" Ludwig Erhard
H3lltronik

Desconectado Desconectado

Mensajes: 9


Still Alive


Ver Perfil
Re: PIC16F877A Y LCD
« Respuesta #3 en: 22 Mayo 2018, 19:04 pm »

PalitroqueZ de verdad te lo agradezco mucho! lo unico que hice fue cambiar la libreria que estaba usando por la que mencionaste y parece estar funcionando correctamente ahora  :D
En línea

Still Alive
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con PORT-B de un PIC16F877A
Electrónica
rodogodo 3 4,034 Último mensaje 3 Mayo 2006, 18:55 pm
por {05c4r}
ADC con PIC16f877a
ASM
Jsempe 0 3,423 Último mensaje 13 Octubre 2013, 04:39 am
por Jsempe
Programar pic16f877a
Electrónica
Egarcesovalle 1 4,687 Último mensaje 29 Noviembre 2016, 04:59 am
por engel lex
PIC16F877A No enciende
Electrónica
H3lltronik 4 6,380 Último mensaje 25 Abril 2018, 06:21 am
por H3lltronik
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines