Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

03/10/2016 #421

Avatar de ASDRUBAL2

Gracias..!! Saint_ eres magnifico respondiste de inmediato te lo agradesco ya puedo continuar con el codigo, la verdad me estaba ahogando con ese vaso de agua
14/11/2016 #422


Saludos amigos.

Estoy haciendo un proyecto con el PIC18F2520, el cual tiene 3 puertos, (A,B y C) pero el problema con eso es que utilizo una pantalla LCD con un teclado 4x3 y ambos usan el puerto B.
Entonces me gustaría saber cómo modificar alguna de las dos librerías (lcd.c o kbd.c)
La que sea mas sencilla.

Necesito cualquiera de las dos en el puerto A o C.
La verdad no tengo inconvenientes con que sea otro puerto, sólo que uno se quede por defecto y otro sí cambiarlo.

Espero que me puedan ayudar.

Intenté usar la librería flex_lcd416a.c y solo modifiqué esto:
Código:
// Flex_LCD416.c

// These pins are for my Microchip PicDem2-Plus board,
// which I used to test this driver.
// An external 20x4 LCD is connected to these pins.
// Change these pins to match your own board's connections.

#define LCD_DB4 PIN_C4
#define LCD_DB5 PIN_C5
#define LCD_DB6 PIN_C6
#define LCD_DB7 PIN_C7

#define LCD_RS PIN_C0    //PIN_C4
#define LCD_RW PIN_C1
#define LCD_E PIN_C2    //PIN_C6
Pero una vez intentándolo en proteus, sólo prende la LCD pero no muestra nada.

Por cierto, mi programa es este: (igual y tengo algún fallo)
Código PHP:
#include <18F2520.h>
#fuses NOBROWNOUT, INTRC, NOMCLR
#use delay(internal=8M)
#include <flex_lcd416a.c>



void main(){
lcd_init();
for(;{
printf(lcd_putc,"Electronica");
delay_ms(2000);
lcd_putc("\f");
delay_ms(2000);
}

Lo hago sencillo, pues si no funciona así, para qué intento seguirle.
14/11/2016 #423

Avatar de roberttorres

zerOswaldo dijo: Ver Mensaje
Saludos amigos.

Estoy haciendo un proyecto con el PIC18F2520, el cual tiene 3 puertos, (A,B y C) pero el problema con eso es que utilizo una pantalla LCD con un teclado 4x3 y ambos usan el puerto B.
Entonces me gustaría saber cómo modificar alguna de las dos librerías (lcd.c o kbd.c)
La que sea mas sencilla.

Necesito cualquiera de las dos en el puerto A o C.
La verdad no tengo inconvenientes con que sea otro puerto, sólo que uno se quede por defecto y otro sí cambiarlo.

Espero que me puedan ayudar.

Lo hago sencillo, pues si no funciona así, para qué intento seguirle.
Buenas
Yo modificaría la librería lcd420 para el puerto C y poder conectar mi teclado matricial al puerto B y así ahorrar hardware puesto que el puerto B tienes las resistencias Pull-Up.
Si quieres ahorrar pines y hardware(resistencias) podrías conectar ambos periféricos por puerto B.
Adjunto Simulación :
Archivos Adjuntos
Tipo de Archivo: rar LCD420.rar (42,6 KB (Kilobytes), 9 visitas)
Tipo de Archivo: rar Ejemplo2.rar (49,9 KB (Kilobytes), 7 visitas)
16/11/2016 #424


zerOswaldo, el for que has puesto no es asi "for(;", es asi "for;;".

Haber si es`por eso por lo que no te funciona.
Hace 3 Días #425


Buenas a todos, me a servido de mucha ayuda los aportes e tomado uno como referencia ya que me solicitaron el uso de assembler para trabajar con el PIC16F887, pero presento un problema al querer adaptar lo que se muestra en un display a un LCD, ya que debo poder mostrar ese numero seleccionado en binario en un LCD. adjunto lo que tengo para ver quien pueda ayudarme con eso. Gracias de antemano.
Archivos Adjuntos
Tipo de Archivo: rar Teclado Matricial.rar (52,9 KB (Kilobytes), 3 visitas)
Hace 3 Días #426
Moderador

Avatar de D@rkbytes

En vez de usar un oscilador RC, es mejor que uses el oscilador interno.
La pantalla la puedes direccionar por un puerto y el display de 7 segmentos por otro puerto.
El decodificador 7448 no debe ir conectado a la pantalla, sino al display de 7 segmentos.
Pero con el PIC no es necesario que lo uses, porque también se puede controlar directamente, aunque se usarán más pines.

Para controlar la pantalla necesitas rutinas especiales, así como lo estás haciendo no es correcto.

PD. Ese display de 7 segmentos a 4 bits, nunca lo he visto comercialmente.
Hace 2 Días #427


Hola, gracias por responder, si bueno mi error fue dejarle los display a la simulación, los deje como guía para luego apartarlos al lcd, solo debe ir conectado el lcd, pero ese es mi error ya veo que no se trabajan igual según lo que me mencionas y es donde tengo mi falla ya que no se trabajar con el LCD, debo hacer algún tipo de configuración dentro del .ASM para activar el LCD, o debo modificar el código como tal? por que de ser así por eso ando perdido
Hace 2 Días #428
Moderador

Avatar de D@rkbytes

Pues sí, por lo tanto primero debes estudiar cómo funciona cada dispositivo.

Adjunto un ejemplo de cómo implementar lo que deseas hacer.

Suerte.
Archivos Adjuntos
Tipo de Archivo: rar 16F887 Teclado Matricial 4x4, LCD 16x2 y Display 7 segmentos.rar (59,2 KB (Kilobytes), 388 visitas)
Hace 2 Días #429


Muchas gracias de verdad si me es muy útil para realizar lo que debo hacer, ya solo me queda investigar como hacer para que en el LCD aparezca el numero en binario.
Hace 2 Días #430


D@rkbytes dijo: Ver Mensaje
Pues sí, por lo tanto primero debes estudiar cómo funciona cada dispositivo.

Adjunto un ejemplo de cómo implementar lo que deseas hacer.

Suerte.
hola, luego de adaptarlo quiero realizar la acción de decirle al LCD que muestre el valor en binario no consigo como hacer que el muestre dicho valor, investigando usan agregar la palabra "Bin" para que el mande el valor en binario pero tanto con ese como en otros que e conseguido investigando un poco son usados en css o usan mucho lenguaje C, y no assembler para realizar la acción por eso estoy desorientado con esta opción del LCD.
Hace 1 Día #431
Moderador

Avatar de D@rkbytes

Bin no es una opción que tenga la pantalla o el lenguaje ensamblador.
Seguramente es el nombre que una persona le puso a su rutina de conversión a Binario.

Para eso se necesita crear una subrutina que compare bit por bit un numero.

Me parece que se te va a complicar aunque es muy sencillo, así que adjunto el programa con la subrutina para convertir de BCD a Binario.

Nota: Requiere de la librería "LCD_4Bits.inc" del programa adjunto en el post #428
Archivos Adjuntos
Tipo de Archivo: rar Con Conversión de BCD a Binario.rar (1,9 KB (Kilobytes), 3 visitas)
Hace 1 Día #432


De verdad que muchas gracias hermano, si esta perfecto y logre entender mejor con esa subrutina, muchas gracias y espero disculpes tanta molestia
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.