TODOPIC

Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: [)estroyer en 11 de Junio de 2010, 23:23:18

Título: Primer proyecto, solicito ayuda, PIC16F887, usando proteus y PICC
Publicado por: [)estroyer en 11 de Junio de 2010, 23:23:18
Un saludo a todos, soy Dan Alvarez, estudiante de ingenieria electronica
Recien acabo de terminar todas las matematicas de mi carrera, y estoy empezando con las verdaderas clases :p
como ser dispositivos, y programacion

Hace unas semanas, recivimos un curso de programacion en PICC basico, fue 1 semana completa, donde se nos enseño desde cero, empezando por, que es un BIT, que es binaro, para que sirve, etc...

El profesor del curso, nos dejo un proyecto, que en caso de que lo presentemos, nos dara un titulo, y ademas del titulo, en simple hecho de aprender a hacer este proyecto, es un gran logro

El proyecto, es algo asi:
vamos a usar los siguientes componentes:
Un teclado 3x3, en proteus sale como KEYPAD
Un LCD, en proteus sale como LCD 16x2
Un motor paso a paso,
Un PIC16F887


Basicamente, son 3 fases, la tercera fase es opcional

Fase 1:
Si en el teclado, escribimos 1, el LCD muestra el numero 1
si en el teclado escribimos 2, el LCD muestra 2
y asi sucesivamente

para esto, estaba pensando utilizar algo similar a un programa que hicimos en clase, utilizando casos "CASES"

#INCLUDE <16F887.h>
#USE DELAY(CLOCK=4000000)
#FUSES XT,NOWDT,NOBROWNOUT,NOPUT, NOLVP
#BYTE PORTB=6
#BYTE PORTD=8
VOID MAIN()
{
   SET_TRIS_B(255);         //Configura el puerto B
   SET_TRIS_D(0);         //CONFIGURA EL PUERTO D
   WHILE(TRUE)         //Haga por siempre
   {   
   switch (PORTB) {
    case 0:PORTD=0;
           break;
    case 1:PORTD=0xAA;
           break;   
    case 2:PORTD=0x55;
           break;   
    case 4:PORTD=0xCC;
           break;   
    case 8:PORTD=0x33;
           break;           
    case 16:PORTD=0xD2;
           break;   
    case 32:PORTD=0x1C;
           break;           
    default:
           break; }
   }
}



Fase 2:
Ahora, cuando presionamos 1
el motor gira a la derecha, y el LCD muestra la palabra "Derecha"
cuando presionamos 2
el motor gira a la izquierda, y el LCD muestra la palabra "izquierda"

Fase 3 (opcional)
en vez del teclado usar un laptop

otro detalle, es que, se nos dio la opcion de presentar el proyecto "simulado" es decir, en proteus

aqui les dejo, mi correo:
dax_the_master@hotmail.com

cualquier ayuda es bienvenida ;D
Título: Re: Primer proyecto, solicito ayuda, PIC16F887, usando proteus y PICC
Publicado por: Suky en 12 de Junio de 2010, 15:53:03
Y cual es el problema? Tarea no hacemos  :mrgreen:
Título: Re: Primer proyecto, solicito ayuda, PIC16F887, usando proteus y PICC
Publicado por: [)estroyer en 12 de Junio de 2010, 16:39:41
Agregame  :(
el problema es que nunca antes habiamos usado un LCD solo display
no les estoy pidiendo que me hagan la tarea, que barbaros XD

necesito saber, exactamente como podria lograr que un LCD muestre numeros
ya que el programa q tengo, solo sirve para lograr diferentes resultados en el puerto B
agreguenme T_T
Título: Re: Primer proyecto, solicito ayuda, PIC16F887, usando proteus y PICC
Publicado por: jukinch en 12 de Junio de 2010, 18:49:53
[)estroyer: si no quieres que te respondan:
"yo quiero una pizza especial con aceitunas negras..."
 
1º "antes hay que buscar un poco.".
2º "Entender que el tiempo de la gente que está aquí en el foro vale."
3º "Empieza tu proyecto y síguelo hasta que no puedas seguir solo"
4º "Comentá todas las alternativas que hiciste para tratar de resolverlo"

recién en esta etapa te van a dar ayuda. Sinó sería muy cómodo de tu parte.
            Un cordial saludo.
                  Jukinch
Título: Re: Primer proyecto, solicito ayuda, PIC16F887, usando proteus y PICC
Publicado por: [)estroyer en 12 de Junio de 2010, 20:54:30
excelente consejo jukinch  :)
aqui vamos!
estuve buscando en el foro, y no encontre un curso donde expliquen como lograr q un LCD muestre lo que uno escribe en un teclado

ya empeze con mi proyecto, mas o menos hasta donde dice
#INCLUDE <16F887.h>

entre las alternativas para solucionar mi dilema con el LCD, estaba buscar un video tutorial en youtube
y no encuentro nada en C, solo assembler

podria alguien darme un cursillo rapido de
como hacer que tu LCD muestre "1,2,3"
muy amables ;D
Título: Re: Primer proyecto, solicito ayuda, PIC16F887, usando proteus y PICC
Publicado por: jhozate en 12 de Junio de 2010, 21:00:01
Si buscas en el foro encontraras todo para lo que tu quieres hacer
pasate por  aqui (http://www.todopic.com.ar/foros/index.php?topic=4530.0)
y lo que quieres hacer por acá (http://www.todopic.com.ar/foros/index.php?topic=21584.msg167848#msg167848)
Título: Re: Primer proyecto, solicito ayuda, PIC16F887, usando proteus y PICC
Publicado por: [)estroyer en 16 de Junio de 2010, 01:02:53
Saludos, todo marcha de maravilla con el proyecto
ahorita tengo la siguiente duda
es hacerca de
BIT_TEST

digamos que si yo quiero que llegado a cierto BIT el programa haga algo diferente uso !BIT_TEST(PORTC,0)
eso lo comprendo, y funcionar
pero cuando es un puerto entero ?
WHILE(!PORT_TEST(PORTB,0b00001001) && BIT_TEST(PORTC,0))

!PORT_TEST no me lo reconoce, alguien me ayuda ?
Título: Re: Primer proyecto, solicito ayuda, PIC16F887, usando proteus y PICC
Publicado por: jhozate en 16 de Junio de 2010, 08:31:23
 en la ayuda del compilador puedes encontrar las directivas existentes, PORT_TEST no existe en el compilador, pero puedes hacer if(portX==XX ), donde ”X” es  el puerto y el valor q esperas respectivamente.
Título: Re: Primer proyecto, solicito ayuda, PIC16F887, usando proteus y PICC
Publicado por: [)estroyer en 18 de Junio de 2010, 01:32:44
en la ayuda del compilador puedes encontrar las directivas existentes, PORT_TEST no existe en el compilador, pero puedes hacer if(portX==XX ), donde ”X” es  el puerto y el valor q esperas respectivamente.
gracias, te cuento q esa misma noche, resolvi el problema, pero utilizando arreglos
en este momento, el motor es una belleza, funciona de 3 formas diferentes, tanto para la derecha como izquierda
4 pasos
4 pasos diagonales
8 pasos

Ahora pasando esto, me sumerjo en el mundo del LCD y el KEYPAD 3x4
acabo de empezar y ya tope, pues, cual es la libreria para el Teclado 3x4 ?
Título: Re: Primer proyecto, solicito ayuda, PIC16F887, usando proteus y PICC
Publicado por: jhozate en 18 de Junio de 2010, 13:20:40
la libreria se llama KBD.C y la lcd se llama LCD.C, busca los archivos en la carpeta drivers para mas informacion. Aqui en el foro puedes encontrar una libreria de teclado por interrupciones o la libreria FLEX_LCD que te permite escoger los pines de datos y control como tu quieras.
Título: Re: Primer proyecto, solicito ayuda, PIC16F887, usando proteus y PICC
Publicado por: [)estroyer en 19 de Junio de 2010, 02:57:13
Les cuento, q el LCD es un hecho XD
ayer lo logre hacer funciinar, incluso son efectos como rotacion de texto
ya tengo todos los motores, y el LCD
estuve intentando hacer funcionar el teclado, pero al parecer no funciona esa libreria en el PIC16F887
no se por que motivo, es un KEYPAD 3x4, tipo telefonico
Título: Re: Primer proyecto, solicito ayuda, PIC16F887, usando proteus y PICC
Publicado por: jhozate en 19 de Junio de 2010, 15:25:58
porq no posteas los archivos o pantallazos para saber mas del problema