Fecha actual Vie Mar 29, 2024 2:52 am

Todos los horarios son UTC - 3 horas



Reglas del Foro


Todos los comentarios y opiniones expresadas por los usuarios en los foros son de exclusiva responsabilidad de sus autores. Tecnicosaurios.com no acepta ningún tipo de responsabilidad por los comentarios de los usuarios en los foros que son de índole pública, ni por las consecuencias de utilizar la información recogida en los mismos. Está absolutamente prohibido por Reglamento General de Tecnicosaurios.com, la publicación de contenidos protegidos por las leyes de copyright sin mediar la autorización de los dueños de dicha propiedad intelectual.
Copyright 2008-2015 Todos los derechos reservados



Nuevo tema Responder al tema  [ 6 mensajes ] 
Autor Mensaje
NotaPublicado: Dom May 29, 2016 7:22 pm 
Desconectado
Usuario Habitual
Usuario Habitual

Registrado: Lun May 05, 2014 12:50 pm
Mensajes: 30
Ciudad: sol grande
Level: 4
HP: 0 / 61
0 / 61
MP: 29 / 29
29 / 29
EXP: 30 / 38
30 / 38
Saludos gente, vengo a pedir asesoría. Estoy usando Proteus 8 y mikroC para hacer un circuito, basicamente es un reloj pero que solo cuenta el tiempo al recibir una señal. Estoy usando el PIC16F887 viendo tutoriales aprendi a conectar y usar el LCD el cual me hace un msj de presentacion pero no se como poner el reloj como tal. Me podria recomendar un manual o tutorial que me explique como hacer esto? o me podrian explicar como hacerlo? mis conocimientos son basicos, de antemano gracias por su ayuda.


Arriba
 Perfil Enviar mensaje privado  
 
NotaPublicado: Mar May 31, 2016 5:47 am 
Desconectado
Usuario Super
Usuario Super
Avatar de Usuario

Registrado: Lun Dic 07, 2015 12:13 am
Mensajes: 686
Ciudad: Buenos Aires (Argentina)
Level: 23
HP: 24 / 1225
24 / 1225
MP: 585 / 585
585 / 585
EXP: 686 / 698
686 / 698
Buenas.
Si usted ya tiene el editor de C, este con lleva una ayuda que le enseña el lenguaje y cada una de sus instrucciones, al menos la versión paga, por eso yo uso solo assembler que es gratis y voy mas rápido ademas de simplificarme el proyecto. Ya que al final, no hay mucha diferencia entre uno y otro, teniendo como ventaja el Assembler , la posibilidad de un mejor aprovechamiento de los recursos del chip y un código a menudo mas breve.
Lo que no me queda claro, es donde radica su dificultad, en Proteus o en MikroC :(
¿Usted solo emuló el funcionamiento con Proteus o ya hizo la placa y el problema lo tiene con el software?
Tambien en estos productos técnicos a menudo vienen solo en ingles, para lo cual, es necesario que al menos lo lea bien.
Como usted bien dijo y solicitó, amerita un curso para hacerlo bien, que no es el alcance de este foro entiendo, que es mas que nada para evacuar dudas técnicas. Digo porque explicarlo es extenso y muy específico, si le puedo dar un lineamiento general.(como en las universidades) :D
De paso le aclaro que lo que usted quiere, es un temporizador , no un reloj
Quedo leyendo drinks.gif

P.D1:
Aqui le voy a hablar del lineamiento general.
Usted tiene 2 dispositivos electrónicos a saber :
1- una pantalla con un controlador incorporado, el cual ya tiene y necesita un protocolo de acceso a respetar para comunicarse con el, el cual ademas, tiene una estructura interna implícita, que usted debe conocer, para posiciónar los caracteres y números en los lugares disponibles deseados.
2-un micro computador que puede contener un programa de usuario y/o un pequeño sistema operativo.
Las rutinas para comunicarse con la pantalla, respetando el protocolo del LCD , las debe escribir en el lenguaje elegido, conociendo el nombre de los puertos del chip PIC o ubicaciónes, a traves de las cuales, piensa realizar la comunicación con el LCD, como asi su función específica, por ejemplo: el pin N del PIC lo programo como salida y su función será ( R/W.)en el LCD

Debo aclararle que, una cosa son la rutinas basicas para comunicarse con el LCD y hacer algo simple y otra muy diferente es hacer el programa Temporizador.
Usted basicamente tiene que escribir 3 programas
1- el que atiende el arranque y parada del temporizador
2- el temporizador en si, es decir,generar una base de tiempo, contar los segundos, las hora, los minutos,recordarlos, etc.
3- el DRIVER que se ocupa de poner el tiempo en el LCD y demas funciones basicas.

Usted comenzó aclarando muy bien, que tenia conocimientos básicos, el tema es que no sé que TAN básicos.
Para un proyecto de este tipo, en lo personal, yo no lo calificaria para recien iniciados, porque a mi, me tomó años aprenderlo.Usted igual pruebe. :D
Le quise pasar un archivo de texto con un programa en assempler para una lavadora de piezas, que escribi hace 10 años, de manera que tenga una idea. Este ejemplo está incompleto pero si funcionó la verisón final. Pasa que el foro no me permite subirlo como texto, veré como se pueda hacer.
Espero que esto le ayude.


Arriba
 Perfil  
 
NotaPublicado: Mar May 31, 2016 11:02 pm 
Desconectado
Usuario Habitual
Usuario Habitual

Registrado: Lun May 05, 2014 12:50 pm
Mensajes: 30
Ciudad: sol grande
Level: 4
HP: 0 / 61
0 / 61
MP: 29 / 29
29 / 29
EXP: 30 / 38
30 / 38
Saludos unmonje, te agradesco mucho que te tomaras el tiempo para responder, te cuento estoy armando mi proyecto, con diferentes tutoriales, paginas y videos logre hacer algunas cosas que pienso que me ayudaran hacer lo que quiero, por ejempo necesito que el proyecto cuente las horas al momento de que prenda otro aparato,
1.-para eso hice 2 circuitos que convierten de 110V a 5v y de 24V a 5V para cuando prendan el aparato envien una señal de 5V a uno de los pines del micro y de esta forma arrancar,
2.-ya conecte a mi pic el lcd, y al momento de simularlo con el codigo de mikro C me aparece el mensaje por defecto,
3.-ahora mi problema es que no se como mostrar el reloj o temporizador en la lcd "uno de mis problemas"
4.-Estoy intentando estudiar los codigos y todo lo demas para tratar de obtener los conocimientos que necesito.
5.-tengo que realizar una interfaz, que aparesca en la lcd un msj como "desea iniciar" Si o no y con un pulsador o tecla pueda elejir.
6.-tambien quiero poner una opcion que el usuario pueda introducir por ejemplo 1 hora, y al pasar esa hora avise con un led por ejemplo.
Conocimientos basicos es lo que tengo, me guio mas que nada por ejemplos y guias, pero la verdad no se realizar esto. Que me recomiendas hacer? te agradeceria cualquier cosa, y si me puedes ayudar a como conectarlo podria pasar imagenes de la programacion "lo que mas me cuesta" y la simulacion en proteus. Gracias por responder bro.


Arriba
 Perfil Enviar mensaje privado  
 
NotaPublicado: Mié Jun 01, 2016 2:05 am 
Desconectado
Usuario Super
Usuario Super
Avatar de Usuario

Registrado: Lun Dic 07, 2015 12:13 am
Mensajes: 686
Ciudad: Buenos Aires (Argentina)
Level: 23
HP: 24 / 1225
24 / 1225
MP: 585 / 585
585 / 585
EXP: 686 / 698
686 / 698
Buenas...
¿El programa que usted grabó en la pic lo escribio usted?
Si no lo escribio usted, pero tiene el código fuente de este ,lo que tiene que hacer antes que nada, es entender por completo ESE código. De esa manera va a saber, como se posiciona un caracter en la pantalla, por ejemplo.
Le aclaro de antemano que lo que usted está queriendo hacer, es bien complejo.Tanto en programación como en electrónica.
Código fuente =  Se llama así a un programa NO compilado ni ensamblado que un ser humano puede entender mas facilmente.
Para saber como programar el display, necesita la hoja de datos del fabricante de ese display , que le va a decir como colocar una letra en alguna fila y columna de ese display. Realmente le va a dar la estructura interna , el fabricante asume que usted ya cuenta con la formación minima como diseñador para entenderlo .(es necesario saber de electronica digital)
Vamos a los hechos... He aqui hoja de datos de un fabricante de display -> bajar esto de ejemplo
.....y

Para programar en assembler este chip  necesita bajarse esto -> VER
,,,y aprenderse de memoria estas 288 páginas en ingles, para empezar :D ( es bien importante tener claro electrónica ANTES)

Me dá pena, pero,,, si fuera fácil, cualquiera lo haría y eso no suele pasar. Si el mundo se resolviera con TUTORIALES, no existirian la universidades  :roll:

P.D1:
Ejemplo de rutinas para comunicarse con el display:
"Limpiar pantalla "
El Comando para hacer esto en el display exige :   0 0 0 0 0 0 0 1   en binario, o sea que, sería -01- en HEXAdecimal ó 1 en decimal.
Ademas, la hoja de datos dice que :para este comando R/S y R/W ambas deben estar en cero.
Entonces hago lo siguiente :

Supongamos que W se llama es registro índice del PIC
que tambien PORTB se llama el puerto de datosB de la PIC, donde tengo conectado el BUS de datos del LDC
y que PORTA se llama el puerto de datosA de la PIC, donde tengo conectado el BUS de CONTROL del LDC
Entonces escribimos :
     LDI W,00                 ; ( cargamos el registro indice con 0,en HEXA, para el bus de control del LCD)
     OUT PORTA,W          ;  (y ya guardamos el comando en el puerto A , para comandar el LCD)
     LDI W,01                 ; ( ahora cargamos el registro con el comando 1,en HEXA)
     OUT PORTB,W          ;  (y ya guardamos el comando en el LCD)
Como resultado de esto la pantalla se limpia
Si el bus de control estuviera compartido con otro uso,teclado por ejemplo, se programa diferente.
     LD PORTA,W             ; ( cargamos el estado del puerto actual en W)
     RSTBIT n ,W             ; ( reseteamos el bit.  -n- , es el número de orden del bit de puerto)
     RSTBIT n ,W             ; ( ahora el otro bit)
     OUTPUT W,PORTA     ; ( y lo devolvemos al puerto  ya modificado)
Despues de esto enviamos el comando 01 y listo.
Todo los demas comandos se operan con este mismo criterio, solo son mas complejos.
Este es facil porque no tiene datos, solo son datos de CONTROL, que se tratan como DATO pero mirandolo desde el LCD, éste los interpreta como CONTROL.
Espero le sirva el desarrollo.

P.D2:
En realidad, por lo que cuenta, cableó los dispositivos, tomó un codigo ya hecho por alguien , lo puso dentro de la pic con una máquina que a su vez, hizo un tercero y hasta ahi la cosa.
Ahora falta que, usted se siente a leer ese programa hasta entender que hace cada linea, borre luego el programa, escriba el suyo o sobre escriba y lo guarde.
Como comenta que quiere opciones para el usuario, va a necesitar un cuarto programa, que atienda cada uno de los aspectos atinentes al  teclado y proveerle a su circuito de un teclado segun su imaginación, porque en estos desarrollos la imaginación del diseñador es muy importante. Quiero decir, hay un Océano entre un ingeniero y un ingenioso, pero me quedo con el ingenioso 2 veces.
Las 2 cosas es mejor. :D Abrazo

P.D3:
Finalmente, encontre la manera de que usted pueda leer un archivo de un programa de extencion parecida al que usted quiere implementar.Este incluso puede leer un teclado externo.Leer entradas analógicas , tiene timers, contadores, etc.
Acomodado convenientemente, podria escribiendo mas, comunicarse con su LCD, previo borrar la parte del programa para el cliente que lo hice.
Para saber que borrar, tendrá usted que saber que esta borrando y entender ANTES lo que está haciendo.

Es un archivo de texto, pero tendrá antes que descomprimirlo con un  ZIP o RAR
exitos.   whv.gif


No tenés los permisos requeridos para ver los archivos adjuntos a este mensaje.


Arriba
 Perfil  
 
NotaPublicado: Mié Jun 01, 2016 4:27 pm 
Desconectado
Usuario Habitual
Usuario Habitual

Registrado: Lun May 05, 2014 12:50 pm
Mensajes: 30
Ciudad: sol grande
Level: 4
HP: 0 / 61
0 / 61
MP: 29 / 29
29 / 29
EXP: 30 / 38
30 / 38
Bro, no sabes cuanto te agradesco el tiempo que haces para explicarme todo, muchas gracias de verdad. Sera posible que te pueda mostrar la imagen de proteus y de mikroc para que veas lo que tengo hecho, para saber si voy bien o mal?


Arriba
 Perfil Enviar mensaje privado  
 
NotaPublicado: Jue Jun 02, 2016 1:05 am 
Desconectado
Usuario Super
Usuario Super
Avatar de Usuario

Registrado: Lun Dic 07, 2015 12:13 am
Mensajes: 686
Ciudad: Buenos Aires (Argentina)
Level: 23
HP: 24 / 1225
24 / 1225
MP: 585 / 585
585 / 585
EXP: 686 / 698
686 / 698
Para empezar no soy su hermano, apuesto que hasta podria ser su abuelo. :D
No me imagino como podria usted mostrarme lo que está haciendo con el PROTEUS, que yo he usado alguna vez solo para analizar algun circuito.
Quedo leyendo y me comenta como ! :D drinks.gif

P.D1:
En principio apuesto que va mal, porque segun sus dichos, no hace lo que ud. quiere. whv.gif

Olvidé decirle , por creerlo innecesario que , aparte de los 4 módulos de programa que tiene que escribir, debe agregarle unos fragmentos de codigo, que los vicule para que trabajen justos en la tarea, de otro modo nunca vá a funcionar.

P.D2:
A la postre, para que no se tome usted tantas molestias con el proteus, sepa usted que el fabricante del chip, da gratis una aplicación para escribir, compilar y ensamblar en Assembler, que cuenta con su propio emulador, de manera que usted puede probar su programa ANTES de ponerlo a QUEMAR y éste funciona de maravillas, menos la parte analógica , pero no es tan importante ésta carencia, por su simpleza.
Como sea , hasta amigarse con el producto y manejarlo con soltura, van pasar una par de semanas.


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 6 mensajes ] 

Todos los horarios son UTC - 3 horas


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados


No podés abrir nuevos temas en este Foro
No podés responder a temas en este Foro
No podés editar tus mensajes en este Foro
No podés borrar tus mensajes en este Foro
No podés enviar adjuntos en este Foro

Buscar:
Saltar a:  
Web Button Image by Free-Web-Buttons.com v2.0 Powered by phpBB® Forum Software © phpBB Group
Traducción al español argentino por xirox con la colaboración de phpBB-Es.com
Traducción actualizada por nextgen