Tutorial Microcode studio pro, que es? y como usarlo?

Buenos días a todos

Primero que nada me gustaría agradecer a todos quienes comparten su conocimiento, haciendo de este foro una experiencia maravillosa.

soy un aficionado de la electrónica, (paso mucho de mi tiempo buscando y experimentando, pero no soy un profesional) y acabo de conocer el mundo de los pic's.

quiero que me ayuden a comprender como usar este compilador, cabe señalar que no se programar en ningún otro lenguaje, apenas me inicio con MicroCode.

adjunto un manual de MicroCode en castellano
(también lo subí a megaupload por si acaso)



los comandos q conozco, son los siguientes:
IF, THEN , HIGH, LOW, GOTO, GOSUB, : , RETURN, PAUSE, VAR, FOR, NEXT, SOUND, END.
para usar un oscilador externo: @device xt_osc define 4 (si es de 4 Mhz)

y este es mi problema, no se usar los demás comandos.
mi intención es aprender a crear circuitos de radio control, por módulos rf, y por infrarrojos.

lo que quiero es que me ayuden con ejercicios prácticos de como poder usar los demás comandos.

para quemar pic's, uso el pickit 2 usb.

espero no haberlos aburrido con todo esto jeje.
agradezco su ayuda.
 

Adjuntos

  • manual_PicBasicPro.pdf
    646.9 KB · Visitas: 700
Última edición por un moderador:
Buenos días a todos

Primero q nada me gustaría agradecer a todos quienes comparten su conocimiento, haciendo de este foro una experiencia maravillosa.

soy un aficionado de la electrónica, (paso mucho de mi tiempo buscando y experimentando, pero no soy un profesional) y acabo de conocer el mundo de los pic's.

quiero q me ayuden a comprender como usar este compilador, cabe señalar q no se programar en ningún otro lenguaje, apenas me inicio con microcode.

adjunto un manual de microcode en castellano
(también lo subí a megaupload por si acaso)



los comandos q conozco, son los siguientes:
IF, THEN , HIGH, LOW, GOTO, GOSUB, : , RETURN, PAUSE, VAR, FOR, NEXT, SOUND, END.
para usar un oscilador externo: @device xt_osc define 4 (si es de 4 Mhz)

y este es mi problema, no se usar los demás comandos.
mi intención es aprender a crear circuitos de radio control, por moludos rf, y por infrarrojos.

lo que quiero esq me ayuden con ejercicios prácticos de como poder usar los demás comandos.

para quemar pic's, uso el pickit 2 usb.

espero no haberlos aburrido con todo esto jeje.
agradezco su ayuda.
Hola Amigo, MCS o MicroCodeStudio, posee una ayuda sobre comandos, y ejemplos.
En cuanto a programacion, habra que experimentar es la unica forma de aprender.- Saludos.-
 
jejeje, tienes toda la razón Gudino, pero hay cosas que no entiendo, y pues que no puedo llevar a la practica, porque no se en donde va, o que precisamente hace, ejemplo:

10.15. SERIN y SEROUT
SERIN y SEROUT usan sintaxis BS1 SERIN2 y SEROUT2 usan sintaxis BS2 .Se agregó un control de
tiempo estilo BS2 a SERIN .
SERIN y SEROUT han sido alterados para funcionar hasta 9600 baud en lugar del límite de 2400 baud de
BS1 .Esto se logró reemplazando el baud rate de 600 por el de 9600 .
Ahora se pueden usar Modes T9600 ,N9600 ,OT9600 ,ON9600.
600baud no está disponible y causará un error de compilación si se intenta usar .

aquí, mi pregunta es: que es baud, cuales son los modes T9600, N9600, etc, etc...

y así, muchas que en en el manual, dice, pero que me deja en las mismas.
 
Última edición por un moderador:
jejeje, tienes toda la razon Gudino, pero hay cosas q no entiendo, y ps q no puedo llevar a la practica, porq no se en donde va, o q precisamente hace, ejemplo:

10.15. SERIN y SEROUT
SERIN y SEROUT usan sintaxis BS1 SERIN2 y SEROUT2 usan sintaxis BS2 .Se agregó un control de
tiempo estilo BS2 a SERIN .
SERIN y SEROUT han sido alterados para funcionar hasta 9600 baud en lugar del límite de 2400 baud de
BS1 .Esto se logró reemplazando el baud rate de 600 por el de 9600 .
Ahora se pueden usar Modes T9600 ,N9600 ,OT9600 ,ON9600.
600baud no está disponible y causará un error de compilación si se intenta usar .

aqui, mi pregunta es: que es baud, cuales son los modes T9600, N9600, etc, etc...

y asi, muchas q en en el manual, dice, pero q me deja en las mismas.

Hola Amigo, bueno respondiendo a tu pregunta las instrucciones SERIN y SEROUT, inicializan el protocolo de comunicacion serial asincrona entre el microcontrolador y algun periferico. BAUD, indica la tasa de transferencia de datos el cual, todos los dispositivos involucrados en dicha comunicacion deben tener el mismo valor, el cual es arbitrario. El caracter T o N como prefijo indica si el dato se envia en modo logica positiva o negativa respectivamente. La designacion OT u ON especifica que el puerto sera usado como Drenador abierto o Surtidor abierto respectivamente.
En mi region consegui un libro llamado PROGRAMACION DE MICROCONTROLADORES, de Dogan Ibrahim, es muy completo, e incluso las explicaciones inician desde cero.-:)
 
Última edición:
ok Gudino, buscare ese libro para aprender.
entre tanto, como estaba aburrido, programe un pic 16f628a, para q hagas las luces del Auto fantástico "KITT", con 8 leds

lo subí a megaupload, en la carpeta hallaran el .hex, una simulación en preteus, y un .pbp para q lo editen con microcode.



el problema, esta en que es demasiado código, estoy seguro que debe haber una manera mas rápida de efectuar todo ese proceso.

el funcionamiento va así, hay dos button, uno para encender y otro para apagar, los led, se encienden de derecha a izquierda y viceversa.


Código:
inicio:
if porta.0=1 then kiton
if porta.1=1 then kitof
return
kiton:
high portb.0
pause 10
low portb.0
pause 10
high portb.1
pause 10
low portb.1
pause 10
high portb.2
pause 10
low portb.2
pause 10
high portb.3
pause 10
low portb.3
pause 10
high portb.4
pause 10
low portb.4
pause 10
high portb.5
pause 10
low portb.5
pause 10
high portb.6
pause 10
low portb.6
pause 10
high portb.7
pause 10
low portb.7
pause 10
high portb.6
pause 10
low portb.6
pause 10
high portb.5
pause 10
low portb.5
pause 10
high portb.4
pause 10
low portb.4
pause 10
high portb.3
pause 10
low portb.3
pause 10
high portb.2
pause 10
low portb.2
pause 10
high portb.1
pause 10
low portb.1
pause 10
gosub inicio
goto kiton
kitof:
low portb.0
low portb.1
low portb.2
low portb.3
low portb.4
low portb.5
low portb.6
low portb.7
gosub kitof
goto inicio
end


si alguien me ayuda a programar un radio control, se lo agradeceré de por vida...

lo único que se, es que para ello puedo usar dos pic16f628a y un módulo :tlp 434 trf", y un "tlp 434 rrf"
pero no se como generar los datos para que los reconozca el módulo, es decir, no se como hacer para enviar los datos, ni como generar esos datos.
 
Última edición por un moderador:
ok Gudino, buscare ese libro para aprender.
entre tanto, como estaba aburrido, programe un pic 16f628a, para q hagas las luces del Auto fantastico "KITT", con 8 leds

lo subi a megaupload, en la carpeta allaran el .hex, una simulacion en preteus, y un .pbp para q lo editen con microcode.



el problema, esta en q es demasiado codigo, estoy seguro q debe haber una manera mas rapida de efectuar todo ese proceso.

el funcionamiento va asi, hay dos button, uno para encender y otro para apagar, los led, se encienden de derecha a izquierda y bicebersa.


inicio:
if porta.0=1 then kiton
if porta.1=1 then kitof
return
kiton:
high portb.0
pause 10
low portb.0
pause 10
high portb.1
pause 10
low portb.1
pause 10
high portb.2
pause 10
low portb.2
pause 10
high portb.3
pause 10
low portb.3
pause 10
high portb.4
pause 10
low portb.4
pause 10
high portb.5
pause 10
low portb.5
pause 10
high portb.6
pause 10
low portb.6
pause 10
high portb.7
pause 10
low portb.7
pause 10
high portb.6
pause 10
low portb.6
pause 10
high portb.5
pause 10
low portb.5
pause 10
high portb.4
pause 10
low portb.4
pause 10
high portb.3
pause 10
low portb.3
pause 10
high portb.2
pause 10
low portb.2
pause 10
high portb.1
pause 10
low portb.1
pause 10
gosub inicio
goto kiton
kitof:
low portb.0
low portb.1
low portb.2
low portb.3
low portb.4
low portb.5
low portb.6
low portb.7
gosub kitof
goto inicio
end


si alguien me ayuda a programar un radio control, se lo agradecere de por vida...

lo unico q se, esq para ello puedo usar dos pic16f628a y un modulo :tlp 434 trf", y un "tlp 434 rrf"
pero no se como generar los datos para q los reconozca el mudulo, es decir, nose como hacer para enviar los datos, ni como generar esos datos.

Amigo con un registro de desplazamiento puede hacerse de forma sencilla, dame tiempo y veo que hago para darte una mano.-
 
aqui, mi pregunta es: que es baud, cuales son los modes T9600, N9600, etc, etc...
Saludos.
Les dejo estos proyectos. se tratan de la comunicación serial PIC a PIC
Se usan las funciones SERIN y SEROUT de PBP
Espero les sirvan. :apreton:
 

Adjuntos

  • 16F628A TX-RX.rar
    40.2 KB · Visitas: 943
  • COMU SERIAL PIC A PIC.rar
    24.7 KB · Visitas: 566
Saludos.
Les dejo estos proyectos. se tratan de la comunicación serial PIC a PIC
Se usan las funciones SERIN y SEROUT de PBP
Espero les sirvan. :apreton:



grax, esta buenisimo, lo voy a estudiar para saber como funciona. muchas gracias.
ya logre enviar y recibir datos, para encender y apagar reles, adjunto el circuito con su pbp, y su HEX.
lo hice para un carro a control remoto. pero supongo q se puede usar para mucho mas.
este lo hice yo mismo buscando info. espero q le sirva a alguien.

la salida de datos es por porta.o del pic emisor, y va a la entrada de datos del emisor tlp434
la entrada de datos es por porta.0 del pic receptor, y va a la salida de datos del receptor tlp 434

me podrias ayudar con las pantallas lcd, con el pic 16f628a, me gustaria q cuando el carrito vaya hacia adelante, en el lcd, muestre "AVANZANDO", y cuando retroceda, "RETROCEDIENDO", y asi etc etc..

de nuevo muchas gracias por tu ayuda
 

Adjuntos

  • radio control tlp434 pic.zip
    102.6 KB · Visitas: 326
Ok. Saludos, Con gusto te ayudare en tu proyecto para lo del lcd.
A ver que tal te parece este diseño, ya le agregaras cosas a tu gusto.
 

Adjuntos

  • PICRC.rar
    47.5 KB · Visitas: 442
Última edición:
Hola amigos no se alguien me podria ayudar con el comando SERIN en el microcode quisiera que me ayuden sobretodo con la sintaxis de este ya que quiero ponerle un parametro de tiempo para q no se quede en un lazo x ejm. SERIN portb.1,N9600,5000,inicio,["A"]; donde:
5000 es el parametro de tiempo e inicio es el nombre de la subrutina, quisiera saber si esto esta bien ya que en el microcode me sale errores al compilar.
Garcias y saludos
 
Hola amigos no se alguien me podria ayudar con el comando SERIN en el microcode quisiera que me ayuden sobretodo con la sintaxis de este ya que quiero ponerle un parametro de tiempo para q no se quede en un lazo x ejm. SERIN portb.1,N9600,5000,inicio,["A"]; donde:
5000 es el parametro de tiempo e inicio es el nombre de la subrutina, quisiera saber si esto esta bien ya que en el microcode me sale errores al compilar.
Garcias y saludos
Descarga los ejemplos que subi anteriormente.
Ahí veras como usar las instrucciones SERIN y SEROUT :apreton:

Gudino Roberto duberlin dijo:
Hola Amigo, MCS o MicroCodeStudio, posee una ayuda sobre comandos, y ejemplos.
En cuanto a programacion, habra que experimentar es la unica forma de aprender.- Saludos.-
 
Última edición:
hola amigos
siento no haber apoyado antes, pero aunduve un poco ocupado..

amigo Darkbytes, grax por la ayuda, ya lo voy a revisar, espero q me pueda servir.

adjunto un diseno de el control remoto, ya con un display.

solo tengo un prolem con este diseno, y esq el texto en el display, permanese hasta q se presione otro switch, bueno ya lo veran.

los datos del pic transmisor salen del pin portb.o, asia el pic receptor al pin portb.o
los datos entran al pic del display por el pin porta.4

apenas tenga algo mas de tiempo, publico el nuevo circuito usando la ayuda de Darkbytes, q espero alli ya solucionar el problema del texto.

att: Edison
 

Adjuntos

  • radio control tlp434 pic.zip
    126.2 KB · Visitas: 173
solo tengo un prolem con este diseno, y esq el texto en el display, permanese hasta q se presione otro switch, bueno ya lo veran.

los datos del pic transmisor salen del pin portb.o, asia el pic receptor al pin portb.o
los datos entran al pic del display por el pin porta.4

apenas tenga algo mas de tiempo, publico el nuevo circuito usando la ayuda de Darkbytes, q espero alli ya solucionar el problema del texto.

att: Edison
Ok, creo saber que es lo que quieres, y como solucionarlo.
Si es que quieres que el texto solo dure unos segundos y regrese.
Revisare lo que llevas y vere que se puede hacer. :apreton:
 
edyrron
Realize algunos cambios, hay un detalle que se podria resolver con flags
pero eso ya lo dejo a tu creatividad.
Checalo a ver que te parece y a ver que se te ocurre. :apreton:
 

Adjuntos

  • rev 1.1.rar
    79.1 KB · Visitas: 260
edyrron
Realize algunos cambios, hay un detalle que se podria resolver con flags
pero eso ya lo dejo a tu creatividad.
Checalo a ver que te parece y a ver que se te ocurre. :apreton:


gracias, esta buenísimo, es justo lo que quería, te lo agradezco muchísimo.

soy en nuevo en programación de pics, cuales son los flags??
vi que en el proyecto anterior que me has enviado, usas "SELECT CASE Y CASE #"
es ese el flag??
 
Última edición por un moderador:
grax, esta buenisimo, es justo lo q queria, te lo agradezco muchisimo.

soy en nuevo en programacion de pics, cuales son los flags??
vi q en el proyecto anterior q me has enviado, usas "SELECT CASE Y CASE #"
es ese el flag??
Ok. Saludos, mira edyrron un Flag o bandera es una variable de un Bit
que que se denota como un valor booleano por así decirlo, osea Cierto o Falso
o 1 y 0 y se usan para determinar el suceso de un evento.
Por ejemplo si un proceso se cumple se activa o desactiva el Flag
Esto es para tener un control de sucesos.
En PBP se declararia como Flag VAR BIT
No necesariamente tiene que tener un valor BIT puede ser de cualquier tipo.
Pero como solo se requiere de un cambio de estado es mejor usar BIT para ahorrar memoria.
Tambien en el PIC hay registros que cambian de estado y se usan como Flags. :apreton:
 
saludos a todos

tengo una duda

acabo de pasar el circuito a ares, para poder hacer la placa de circuito impreso
pero no se como verificar que este bien.

en isis esta bien el circuito anda perfectamente, pero al momento de pasarlo a ares, me maree, al mover los elementos para darle forma, y no se si por allí se daño el circuito.

pensé en hacerlo de nuevo, pero me quedo la duda, si por accidente lo hice mal, como poder verificar si esta o no bien??

adjunto el archivo comprimido con todos los archivos generados por proteus, isis y ares..
ya esta separado el circuito emisor del receptor, no como antes que estaba en un solo diseño.

el receptor lo hice en baquelita con cobre en una sola cara
pero el transmisor está en baquelita con cobre en ambas caras
 

Adjuntos

  • radio control edy.zip
    247.2 KB · Visitas: 165
Última edición por un moderador:
en isis esta bien el circuito anda perfectamente, pero al momento de pasarlo a ares, me maree, al mover los elementos para darle forma, y no se si por alli se dano el cicuito.

pense en hacerlo de nuevo, pero me quedo la duda, si por accidente lo hice mal, como poder verificar si esta o no bien??
Esta vez no podre ayudarte con el diseño de ARES por que note que usas una versión
anterior al ARES que yo tengo, y si le hago cambios, no podras ejecutarlo.
Te lo digo por experiencia, por que ya me paso que modifique un PCB de un amigo
y el no lo podia ejecutar por tener una versión anterior.
Un tip: Si por ejemplo colocaste un Pushbutton en ISIS y este no tiene encapsulado,
le puedes asignar un encapsulado, seleccionando el componente e ir a la barra de herramientas.
Presionas el icono "Packaging Tool" Es el icono de un IC con una llave cruzada.
Aparecera una ventana en donde puedes seleccionarle un encapsulado al componente.
Por ejemplo el CONN-SIL2 o el que quieras. Le asignas los PIN's y listo.
Con esto ya no tendras que modificar el diseño original, y puedes seguirlo simulando.
PD: En el diseño del transmisor es donde hay pistas mal acomodadas y el tamaño algo grande.
:apreton:
 
ok gracias

ya voy a modificar el transmisor, aunque el tamaño lo hice del mismo que el de un joystick.

una pregunta, que pic de de 28 pines es compatible con el grabador de pics, pikit2.
estuve viendo la lista de pics, pero todos son de la serie 16f.
para no tener que usar dos pics, uno para transmisor, y otro para display, sino uno solo para todo.
y en el receptor si un 16f628a.
gracias de antemano
 
Última edición por un moderador:
Atrás
Arriba