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

Avatar de inspector gadget

Saludos, a proposito de repasos, lo estoy haciendo poco a poco en este foro, para no volver a preguntar lo que posiblemente ya esta resuelto, y comenze por leer sobre como controlar lcd con 16f877a, ya que se complementan bien a mi modo de ver, este chip tiene innumerables posibilidades, asi que saberlo dominar junto con lcd esta de lujo, pero me he topado con el inconveniente de que hay varios ejercicios muy buenos que aunque se dice que esta incluida la simulacion, esta no aparece, en otros casos solo esta el hex sin que aparezca el codigo, mi pregunta es si estaban asi desd el principio o fueron deshabilitados posteriormente, estare posteando mis dudas sobre este tema si no encuentro alguna respuesta que me ayude a despejar mis dudas, gracias por su valioso tiempo

---------- Actualizado después de 20 minutos ----------

D@rkbytes dijo: Ver Mensaje
Mira este proyecto y para 2 horas cargas la variable de conteo t2 con 7200

Suerte.
Darkbytes saludos, habría algún problema en realizar temporizaciones para varios minutos empleando simplemente repeticiones como base de tiempo? en simulación funciona bien y en físico, me refiero a si a largo plazo, el empleo de esta técnica dentro del programa puede comenzar a presentar alguna falla en montaje físico?
09/04/2013 #2462


Gracias por la ayuda.. ya descarge microcode studio y pic basic pro.... pero cuando le doy compile sale una ventanda que dice:
"serching for MPSAM folder pleace wait"... pero.. no tengo nada de MPSAM... y no lo puede compilar..
10/04/2013 #2463
Moderador

Avatar de D@rkbytes

inspector gadget dijo: Ver Mensaje
Darkbytes saludos, habría algún problema en realizar temporizaciones para varios minutos empleando simplemente repeticiones como base de tiempo? en simulación funciona bien y en físico, me refiero a si a largo plazo, el empleo de esta técnica dentro del programa puede comenzar a presentar alguna falla en montaje físico?
¿Retardos con repeticiones, te refieres a usar un bucle For?
Si es así, debe servir, el problema es usar la instrucción Pause, ya que congela el micro durante su ejecución.

A continuación adjunto dos ejemplos de temporizadores precisos usando el Timer 1 del PIC.
Se usa un cristal externo de 32768 Hz. para la sincronización del TMR1 (De los que usan los relojes digitales)
Se genera 1 segundo de temporización por desborde del Timer 1 que puede ser usada para el diseño de un reloj.
Ó como en estos ejemplos para realizar un temporizador con períodos precisos de conteo.

La ventaja de usar este método, es que no existe congelamiento del PIC durante la temporización,
y así se pueden ejecutar otras tareas mientras el conteo deseado sigue avanzando.
La desventaja es que se pierden dos pines, los destinados al oscilador del cristal (T1OSO y T1OSI)
Que en el caso de estos ejemplos, donde use un 16F628A, son los pines RB6 y RB7.
Milesatra dijo: Ver Mensaje
Gracias por la ayuda.. ya descarge microcode studio y pic basic pro.... pero cuando le doy compile sale una ventanda que dice:
"serching for MPSAM folder pleace wait"... pero.. no tengo nada de MPSAM... y no lo puede compilar..
Me supongo te refieres a MPASM.
Eso es normal cuando MicroCode Studio no ha encontrado la carpeta del compilador MPASMWIN.
Debes instalar MPLAB si deseas compilar con ese compilador. Descárgalo desde la pagina oficial de Microchip.
Pero no descargues el MPLABX, sino el MPLAB IDE, que por ahora va en la versión 8.90.
Después de la instalación de MPLAB, realiza una búsqueda manual de la carpeta del compilador,
y estableces la carpeta: C:\Archivos de programa\Microchip\MPASM Suite
Dependiendo el sistema, podría ser también C:\Program files\Microchip\MPASM Suite, u otra ruta.
La idea es encontrar la carpeta MPASM Suite, que es donde se encuentra el compilador MPASMWIN.

Saludos y suerte.
Archivos Adjuntos
Tipo de Archivo: rar 16F628A TMR1 1Seg.rar (41,9 KB (Kilobytes), 211 visitas)
Tipo de Archivo: rar 16F628A Temporizador con TMR1.rar (46,0 KB (Kilobytes), 201 visitas)
10/04/2013 #2464

Avatar de inspector gadget

Gracias dark, podrian decirme que pasa con los archivos de los primeros ejercicios con lcd, Mecatrodatos tiene muy buenos ejercicios pero es imposible ejecutarlos en proteus, ni tampoco quiere abrir los programas en PBP a pesar d haberlos descomprimido, ojala l puedan hachar una miradita haber que sucede con estos archivos...gracias por su tiempo.
10/04/2013 #2465


Hola inspector gadget

Por qué dices que: es imposible ejecutarlos en proteus ??.
Lo Hice y funcionan bien. Qué error te marca el ISIS de Proteus ??

Por qué dices que no puedes abrir los PBP??
Marca algún error??... Cuál es ??

Desde el mensaje #22 al #26 de este tema, mecatrodatos desarrolla varios circuitos y programas para el manejo del LCD. Cuál en particular no te funciona ??

saludos
a sus ordenes
10/04/2013 #2466

Avatar de inspector gadget

MrCarlos dijo: Ver Mensaje
Hola inspector gadget

Por qué dices que: es imposible ejecutarlos en proteus ??.
Lo Hice y funcionan bien. Qué error te marca el ISIS de Proteus ??

Por qué dices que no puedes abrir los PBP??
Marca algún error??... Cuál es ??

Desde el mensaje #22 al #26 de este tema, mecatrodatos desarrolla varios circuitos y programas para el manejo del LCD. Cuál en particular no te funciona ??

saludos
a sus ordenes
Saludos y gracias por responder pronto. la verdad no se que hacer, ya que llevo mucho tiempo simulando varios ejercicios sin problema, pero ahora que intento un repaso general me doy cuenta que en las primeras paginas de este curso tengo problemas a la hora de ejecutar los ejercicios para no ir muy lejos comienzo con el primer ejercicio de mecatrodatos en la pagina 1 creo que es el mensaje 9, lo descomprimo con winzip, también lo hice con winrar, aparece la carpeta descomprimida y sus respectivos archivos como son simulación, hex ,pbp, entre otros pero estos son los que nos interesan, luego abro el microcode y el archivo llamado proyecto1 led (que es el ejercicio citado) no aparece para abrirlo, intento con el proteus y tampoco se encuentra el archivo y supuse que posiblemente este en una versión posterior a la que manejo que el la 7.5, pero para corroborar eso abro mi programador y tampoco aparece el archivo hex, a pesar de que en la descompresión aparecen los iconos de dichos archivos, proteus, hex, pbp....intento con otras herramientas y me dice que son archivos de solo lectura, o con proteus sale un mensaje que dice: Archivo no es una aplicacion win 32 valida, lo mismo pasa con varios de los ejercicios no solo de meca, hay varios,muy raro no? teniendo en cuenta que esta acción la repito continuamente para repasar y no había sucedido antes, claro con ejemplos posteriores de otros mensajes, por ejemplo si voy hasta el mensaje 192 de la pagina 10 donde Dario postea unos archivos de un ejercicio llamado proporcional, ahí no tengo ningún problema, así sucede con muchísimos mas adelante donde no tengo problema....que puede estar pasando, ayúdenme a buscar una solución, muchísimas gracias por su tiempo.

---------- Actualizado después de 20 minutos ----------

D@rkbytes dijo: Ver Mensaje
¿Retardos con repeticiones, te refieres a usar un bucle For?
Si es así, debe servir, el problema es usar la instrucción Pause, ya que congela el micro durante su ejecución.

A continuación adjunto dos ejemplos de temporizadores precisos usando el Timer 1 del PIC.
Se usa un cristal externo de 32768 Hz. para la sincronización del TMR1 (De los que usan los relojes digitales)
Se genera 1 segundo de temporización por desborde del Timer 1 que puede ser usada para el diseño de un reloj.
Ó como en estos ejemplos para realizar un temporizador con períodos precisos de conteo.

La ventaja de usar este método, es que no existe congelamiento del PIC durante la temporización,
y así se pueden ejecutar otras tareas mientras el conteo deseado sigue avanzando.
La desventaja es que se pierden dos pines, los destinados al oscilador del cristal (T1OSO y T1OSI)
Que en el caso de estos ejemplos, donde use un 16F628A, son los pines RB6 y RB7.
Saludos dark, ojala me puedas colaborar con el problema que se me presento en la descarga de los archivos de los primeros ejercicios de este curso y que relate mas arriba, por otro lado quisiera por favor claridad a que hace referencia el concepto de que un pic se quede congelado por el uso de los pauses en las repeticiones y que el chip pudiera realizar otras tareas mientras se ejecuta la temporización? tareas como cuales podrían ser por ejemplo? y no entiendo es por el hecho que en mensajes anteriores, solicitaba la guía para realizar dentro de un mismo chip, varios contadores independientes en sus funciones pero dentro del mismo chip, osea activar un contador, o varios si es necesario, o pausar el que yo quiera, con el fin de no emplear un chip por cada uno, dado que la finalidad de usar un micro es prescindir de varios circuitos integrados digitales y usar un micro que tenga muchos pines como el 16f877 u otros, para emplear sus puertos justamente en el desarrollo de varias tareas, y me comentabas que esto no es posible ya que los programas son secuenciales y primero se realiza una tarea, para después seguir con otra, entonces no me queda claro leyendo ahora que se podrían realizar otras tareas mientras se ejecuta una, querría decir lo anterior que lo que pretendo si es posible y la limitación es la forma de realizar el programa? gracias por tu colaboración y sugerencias.
10/04/2013 #2467


Hola inspector gadget

Probablemente al descomprimir esos archivos con tus WINZIP o WINRAR les gregue o no les cambie e atributo llamado Read only.

Al descomprimirlo dale un click con el botón secundario(Derecho) del mouse y selecciona propiedades. Podrás ver que atributos tiene ese archivo.
Por ejemplo puede tener el de solo lectura u oculto. Esos 2 atributos son los importantes. Tienes que desmarcarlos.

Por lo pronto te adjunto el proyecto que viene en el mensaje #9 el cual, entre muchos LED’s, enciende y apaga uno solo.

saludos
a sus ordenes

Vaya, modificaste tu mensaje antes de responderte.
Archivos Adjuntos
Tipo de Archivo: zip On-Off 1 LED.zip (10,0 KB (Kilobytes), 94 visitas)
10/04/2013 #2468

Avatar de inspector gadget

MrCarlos dijo: Ver Mensaje
Hola inspector gadget

Probablemente al descomprimir esos archivos con tus WINZIP o WINRAR les gregue o no les cambie e atributo llamado Read only.

Al descomprimirlo dale un click con el botón secundario(Derecho) del mouse y selecciona propiedades. Podrás ver que atributos tiene ese archivo.
Por ejemplo puede tener el de solo lectura u oculto. Esos 2 atributos son los importantes. Tienes que desmarcarlos.

Por lo pronto te adjunto el proyecto que viene en el mensaje #9 el cual, entre muchos LED’s, enciende y apaga uno solo.

saludos
a sus ordenes

Vaya, modificaste tu mensaje antes de responderte.
MrCarlos , gracias por ayudarme, dichas casillas están desmarcadas, no entiendo porque a pesar de descomprimirse no aparecen desde proteus, ni en PBP o desde mi programador, el archivo que incluyes en tu ultimo mensaje descomprime igual que los otros, pero a este si lo puedo llamar desde proteus y los demás programas, no se que pasa, o que versiones debo usar para poder llamarlos, que versiones tienes tu, ya que a ti si te funcionan? gracias por tu interés.
10/04/2013 #2469


Hola inspector gadget

La versión que tengo es la 7.8 SP2.

No podríamos decir que tu versión sea anterior a la de mecatrodatos pues entonces no podrías abrir los que te he enviado.
No sé a que se deba ese problema, sin embargo si nesesitas algún otro diseño lo puedo “acomodar” como el anterior que subí para que lo puedas manejar.
Ahorra mensajes mencionando en qué # está y de que trata.

saludos
a sus ordenes
11/04/2013 #2470

Avatar de inspector gadget

MrCarlos, otra vez te agradezco, mira si puedes hacerme el favor, los archivos que necesito son: No.23,24,25,26 y 40 que tratan d ejercicios que involucran LCD. Necesito investigar y usar como base estos archivos y ver si despejan mis dudas, de todas maneras ya posteare lo que pretendo, no sin antes realizar los avances para solicitar la valiosa ayuda de este foro, gracias por tu tiempo.
11/04/2013 #2471


hola, me podrían explicar como le hago una rutina de comprobar errores el siguiente programa tengo una secuencia de led que se enciendes al conectar un cableado utp par entrenando ,lo que quiero es saber como hacer que me muestre cuando hay error y cuando este bueno



saludes
11/04/2013 #2472


Hola inspector gadget

Espero no haber omitido nada y que no tengas problemas con estos archivos.

saludos
a sus ordenes
Archivos Adjuntos
Tipo de Archivo: zip Mensaje23.zip (11,6 KB (Kilobytes), 78 visitas)
Tipo de Archivo: zip Mensaje24.zip (16,2 KB (Kilobytes), 65 visitas)
Tipo de Archivo: zip Mensaje25.zip (13,5 KB (Kilobytes), 59 visitas)
Tipo de Archivo: zip Mensaje26.zip (14,2 KB (Kilobytes), 62 visitas)
Tipo de Archivo: zip Mensaje40.zip (18,0 KB (Kilobytes), 67 visitas)
11/04/2013 #2473


Saliendome un poquito del tema que llevan ahora en este hilo.. pero creo que es algo que aca puedo preguntar..xD jeje.. alguien me podria decir si hay alguna forma de programar un pic en micro code studio y despues incorporarlo a la biblioteca de livewire para simularlo en un circuito?
11/04/2013 #2474


Hola Milesatra

Creo que no hay forma de modificar las bibliotecas de LiveWire.
Sin embargo este simulador trae un dispositivo llamado Word Generator.
Este generador lo puedes incorporar en tu diseño, en LiveWire,
Luego editar sus propiedades para programarle unos o ceros en sus 16 salidas.
Eso que le programes lo puedes guardar como un archivo yyy.DAT para posteriormente re-utilizarlo.

saludos
a sus ordenes
Imágenes Adjuntas
Tipo de Archivo: jpg Word Generator.jpg (166,1 KB (Kilobytes), 38 visitas)
12/04/2013 #2475

Avatar de inspector gadget

MrCarlos dijo: Ver Mensaje
Hola inspector gadget

Espero no haber omitido nada y que no tengas problemas con estos archivos.

saludos
a sus ordenes
gracias amigo, voy a ejercitar.
18/04/2013 #2476


Sistemita
Hola buenas tardes!!
Tengo un proyecto con un PIC16F628A , 3 botones , 2 leds y un Display 7 seg.



Consiste en que cada vez que el botón conteo se pulsa el numero va ir cambiando del 1-9.
cada numero va tener un ciclo distinto.
el botón START va activar ese ciclo dependiendo en el numero que se encuentre va ir ejecutando ese ciclo.
ejemplo:
Si el conteo esta en el numero 1 hace lo siguiente:
se prenden los 2 les después hace una pausa de 100 mili segundos se apaga el led2 y hace otra pausa 100 mili segundos y repite el ciclo infinitamente hasta que el botón RESETse apriete empezara todo.
y así sucesivamente con cada numero con la diferencia que cada numero cambia el timpo de espera.
Numero:
1------- 9 mili segundos
2------- 8 mili segundos
3------- 7 mili segundos
4------- 6 mili segundos
5------- 5 mili segundos
6------- 4 mili segundos
7------- 3 mili segundos
8------- 2 mili segundos
9------- 1 mili segundos

yo realice este código que aun no termino pero si me pudieran echar una manita por favor.

Código:
'*******************************************************************************
' DEFINICIÓN DE FUSES Y OSILADOR
@ device  pic16F628A, intrc_osc, pwrt_on, wdt_off, mclr_on, lvp_off, protect_off
DEFINE OSC 4
'*******************************************************************************
CMCON = 7
TRISA = %00000011
TRISB = %00000000
PORTA = 0
PORTB = 0
'*******************************************************************************
dI1 var byte
dI2 var byte
B0 var byte
B1 VAR BYTE
SUMA var byte
SUMA = 0
B0 = 0
B1 = 0
PORTB = 121
'*******************************************************************************
INICIO:
Button PORTA.0,1,255,0,B0,1,ESTADO
Button PORTA.1,1,255,0,B1,1,CLOCK
GOTO INICIO 

ESTADO:
suma = suma+1
if suma = 9 then suma = 0
di1 = suma
LOOKUP di1, [121,36,48,25,18,2,120,0,16], di2
PORTB = di2
pause 10
goto inicio

CLOCK:
PORTA.2 = 1
PAUSE 100
GOTO CLOCK1

CLOCK1:
END
que función me recomiendan para activar con un IF o con un CASE son las dos formas que se me ocurre para la activación del START.
Gracias y espero me puedan ayudar
18/04/2013 #2477


que función me recomiendan para activar con un IF o con un CASE son las dos formas que se me ocurre para la activación del START.
Gracias y espero me puedan ayudar
Buenas Noches!
aquí pongo una de las formas con la cual esta trabajando el proyecto bien!!

con la función Select Case:

Código:
'*******************************************************************************
' DEFINICIÓN DE FUSES Y OSILADOR
@ device  pic16F628A, intrc_osc, pwrt_on, wdt_off, mclr_on, lvp_off, protect_off
DEFINE OSC 4
'*******************************************************************************
CMCON = 7
TRISA = %00000011
TRISB = %00000000
PORTA = 0
PORTB = 0
'*******************************************************************************
dI1 var byte
dI2 var byte
B0 var byte
B1 VAR BYTE
SUMA var byte
SUMA = 0
B0 = 0
B1 = 0
PORTB = 121
'*******************************************************************************
INICIO:
Button PORTA.0,1,255,0,B0,1,ESTADO
Button PORTA.1,1,255,0,B1,1,CLOCK
GOTO INICIO 

ESTADO:
PAUSE 200
suma = suma+1
if suma = 9 then suma = 0
di1 = suma
LOOKUP di1, [121,36,48,25,18,2,120,0,16], di2
PORTB = di2
pause 10
goto inicio

CLOCK:
PORTA.2 = 1
GOTO CLOCK1

CLOCK1:
PAUSE 200
Select Case PORTB
case 121
goto NUM1
case 36
goto NUM2
case 48
goto NUM3
case 25
goto NUM4
CASE 18
goto NUM5
CASE 2
goto NUM6
CASE 120
goto NUM7
CASE 0
goto NUM8
CASE 16
goto NUM9
End Select 

NUM1:
PORTA.7 = 1
PAUSE 9
PORTA.7 = 0
PAUSE 9
GOTO NUM1

NUM2:
PORTA.7 = 1
PAUSE 8
PORTA.7 = 0
PAUSE 8
GOTO NUM2

NUM3:
PORTA.7 = 1
PAUSE 7
PORTA.7 = 0
PAUSE 7
GOTO NUM3

NUM4:
PORTA.7 = 1
PAUSE 6
PORTA.7 = 0
PAUSE 6
GOTO NUM4

NUM5:
PORTA.7 = 1
PAUSE 5
PORTA.7 = 0
PAUSE 5
GOTO NUM5

NUM6:
PORTA.7 = 1
PAUSE 4
PORTA.7 = 0
PAUSE 4
GOTO NUM6

NUM7:
PORTA.7 = 1
PAUSE 3
PORTA.7 = 0
PAUSE 3
GOTO NUM7

NUM8:
PORTA.7 = 1
PAUSE 2
PORTA.7 = 0
PAUSE 2
GOTO NUM8

NUM9:
PORTA.7 = 1
PAUSE 1
PORTA.7 = 0
PAUSE 1
GOTO NUM9
end
de esta manera hace los ciclos que necesito hasta que el reset reinicia todo.

Saludos y si a alguien le interesa el Código con gusto adjunto los archivos.
Archivos Adjuntos
Tipo de Archivo: zip Control-Velocidad.zip (310,2 KB (Kilobytes), 111 visitas)
20/04/2013 #2478


Buenas Saludos a todos. soy nuevo en programación picbasic pro, quiero hacer un programa que active por un pin del pic16f628a una bomba de agua por 4 horas continuas. no encuentro instruccion que active un pulso por largo tiempo y posteriormente de desactive. Gracias por adelantado
20/04/2013 #2479
Moderador

Avatar de D@rkbytes

D@rkbytes dijo: Ver Mensaje
Mira este proyecto y para 2 horas cargas la variable de tiempo t2 con 7200

Suerte.
Así que si requieres de 4 horas de temporizado, cargas la variable t2 con 14400

Suerte.
20/04/2013 #2480


Gracias D@rkbytes pero no entiendo la logica de
t2 = 300 ; 5 x 60 = 300 segundos (5 Minutos)

entiendo que los retardos son de 500ms como son dos es igual a 1sg pero, por que el contador tiene que ser hasta 300?

---------- Actualizado después de 3 minutos ----------

para 60 segundos seria:

LEDENCENDIDO VAR PORTB.0
SW1 var porta.0
I VAR BYTE
T var word
T1 var word

INICIO:

T=60
t1=0

If sw1=0 then goto PRENDERBOMBA
goto inicio


PRENDERBOMBA:
high ledencendido

TIEMPO:
if t1<T then
t1=t1+1
PAUSE 1000
Goto tiempo
ENDIF

low ledencendido
goto inicio:
END

---------- Actualizado después de 9 minutos ----------

Ok gracias ya entendi
¿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 - 2016, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.