desktop

Curso de programación de PIC en PICBasic Pro

Hola necesito su ayuda con los retardos para pic16f84a, bueno les cuento, ocupo que una funcion X que dure 3 segundos y luego salte, con un ejemplo seria asi: tengo una tabla de la verdad de X entradas , y se cumple una salida Y , la salida es 1100 necesito que se mantenga por 3 segundos y luego goto inicio... espero que me puedan ayudar
 
Hola necesito su ayuda con los retardos para pic16f84a, bueno les cuento, ocupo que una funcion X que dure 3 segundos y luego salte, con un ejemplo seria asi: tengo una tabla de la verdad de X entradas , y se cumple una salida Y , la salida es 1100 necesito que se mantenga por 3 segundos y luego goto inicio... espero que me puedan ayudar
¿ Y por qué no haces una pausa de 3 segundos y continuas?

Por ejemplo...

PORTB = %1100
Pause 3000
GoTo Inicio
 
OFF-TOPIC = ON

si, esa me sirve, gracias pero lo necesito para ensamblador creo que se llama asi, lo copilo en mplab
Eso lo hubieras aclarado antes. :confused:
eso que me pusiste más bien no estará en c...
Nop. Es lenguaje PICBasic, de lo que se trata este tema.

Usa esto...
Código:
; Retardo = 3 segundos
; Frecuencia de reloj = 4 MHz.

; Retardo actual = 3 segundos = 3000000 ciclos
; Error = 0 %

    cblock
    cnt1
    cnt2
    cnt3
    endc

Retardo3Segundos
; 2999995 ciclos
    movlw    0x1A
    movwf    cnt1
    movlw    0x8B
    movwf    cnt2
    movlw    0x07
    movwf    cnt3
Bucle3Segundos
    decfsz    cnt1,F
    goto    $+2
    decfsz    cnt2,F
    goto    $+2
    decfsz    cnt3,F
    goto    Bucle3Segundos
; 1 ciclo
    nop
; 4 ciclos (incluyendo call)
    return
Suerte.

OFF-TOPIC = OFF
 
Última edición:
saludos, una consulta: tengo un pequeño programa en 12c508a, ¿puedo migrar mi codigo a 12f508 sin ningun inconveniente? , es que no lo puedo correr en proteus ya que no trae esta referencia de pic, otra cosa, el nuevo proteus se deb pagar para instalarlo en mi pc y si lo instalo, me abre todas las simulaciones qu estan n eel foro? lo pregunto porque veo que ya los compañeros del foro estan comenzando a emplearlo y si no lo tengo, es imposible simular los aportes hechos n la nuva version, yo tengo el 7.5, debo eliminarlo para instalar la nuva version? qu m aconsejan...gracias.
 
saludos, una consulta: tengo un pequeño programa en 12c508a, ¿puedo migrar mi codigo a 12f508 sin ningun inconveniente? , es que no lo puedo correr en proteus ya que no trae esta referencia de pic, otra cosa, el nuevo proteus se deb pagar para instalarlo en mi pc y si lo instalo, me abre todas las simulaciones qu estan n eel foro? lo pregunto porque veo que ya los compañeros del foro estan comenzando a emplearlo y si no lo tengo, es imposible simular los aportes hechos n la nuva version, yo tengo el 7.5, debo eliminarlo para instalar la nuva version? qu m aconsejan...gracias.
Si, si puedes usar el 12F508, la F (Flash) significa que el dispositivo es reprogramable.
El 12C508 es OTP (One Time Programmable) Y se usa para distribución final.

El nuevo Proteus disponible oficialmente es un demo, ya tiene tiempo que salio la nueva versión 8,
y ya he estado incluyendo las simulaciones en algunos ejemplos, pero junto con la conversión a v7.
Se utiliza de forma diferente a las anteriores, pues ahora la ventana inicial es un entorno de desarrollo integrado.
Ahora tienes la opción de seleccionar los programas que utilizaras desde la ventana principal.
Aparte contiene un navegador web que se inicia al ejecutar el programa.

No debes eliminar la versión anterior de Proteus que ya tengas instalada.
El nuevo Proteus 8 se instala en una carpeta diferente, y no interfiere con los accesos directos del 7.X.
Ahora cambian los iconos de acceso directo y los archivos del proyecto.
Como siempre, puedes abrir proyectos de versiones anteriores con esta nueva versión.

Saudos.
 
Hola comunidad.. e estado leyendo tutoriales y manuales un poco tontos de como programar microcontroladores para aumentar mis conocimientos pero no e encontrado uno bueno... hasta ahora.. este esta increible.. esxplican muy bien los felicito.. ;D no he terminado de leer todos.. pero tengo una duda.. en los priemros ejemplos.. se usa solo un editor de texto para hacerlos o es algun programa especial como visual studio.. o algo asi? Espero su respuesta.. :D mientras tanto seguire con el resto de los ejemplos
 
en los priemros ejemplos.. se usa solo un editor de texto para hacerlos o es algun programa especial como visual studio.. o algo asi?
Como te habrás dado cuenta se trata de lenguaje PICBasic y existen varios programas que puedes usar.
Puedes escribir tu programa en un editor de texto como notepad, pero luego necesitas compilarlo.
A lo largo del tema se ha usado como editor MicroCode Studio, y como compilador PICBasic Pro.
Así desde el mismo entorno tienes varias herramientas disponibles, y desde ahí puedes programar el PIC.
Ahora ya existe la versión 3 de PBP, pero la mas utilizada por la mayoría es sin duda PBP 2.60.

Continua leyendo el tutorial para que tengas mas conocimientos acerca de este lenguaje.

Suerte.
 
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



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?
 
Última edición:
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..
 
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.
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.
 

Adjuntos

  • 16F628A TMR1 1Seg.rar
    41.9 KB · Visitas: 291
  • 16F628A Temporizador con TMR1.rar
    46 KB · Visitas: 279
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.
 
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 ?? saludosa sus ordenes
 
Última edición:
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.



¿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.
 
Última edición por un moderador:
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.
 

Adjuntos

  • On-Off 1 LED.zip
    10 KB · Visitas: 124
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.
 
Atrás
Arriba