Curso de programación en C para microcontroladores PIC

en un manual lei que se podia generar una rutina y mientra tener el TMR funcionando
yo genero los delay asi:

bsf porta,0
call delay_1ms
call send_dato

fue lo primero que se me ocurrio pero en el ejemplo antes de enviar el dato tendria que perder el tiempo en esperar que el delay se cumpliera
pero con lo que entendi mientras espero que el tiempo avance podira enviar el dato sin ningun problema

Pd: voy a buscar si encuentro lo que intento explicar para copiarlo textualmente

salu-2
 
Última edición:
bazookao mira para manejar interrupciones lo puedes ver como cuando tomasvas o tomas clases y el profesor esta dando su clase ese seria el programa principal lo que el micro debe hacer siempre, y en cierto momento llega alguien e interrumpe la clase el profesor tendria que atender a quien interrumpio y despues regresa a clases o lo que seria el programa principal

si deseas ver ejemplos de en paginas anteriores de este tema yo subi un archivo llamado Envio.Zip qeu contiene algunos ejemplos de interrupciones y otros checalos y si tines dudas te puedo ayudar a entenderlos mejor
 
Muy buen material yack, quisiera saber si ¿armaste estos circuitos en tu protoboard?

es que un problema que yo tengo con mi progrma es que en proteus si anda bien pero en el PIC no. yo uso un 18f4520 de heco hice un post https://www.forosdeelectronica.com/f24/problemas-al-grabar-pic-codigo-c-36586/

es que tengo sospechas que tengo algo mal en mi cofiguracion
de ser que si tengas los circuitos armados en protoboard me ayudaria mucho saber como se debe configura por ejemplo tu siempre (o en los que vi mas detenidamente)

tienes algo asi

Código:
#include "18f4550.h"
#fuses HSPLL,NOWDT,NOBROWNOUT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,MCLR,NOPBADEN,WRTB
#use delay(clock=48000000)
#build(reset=0x800, interrupt=0x808)
#org 0x000, 0x7ff { }

que es la libreria los fuses el use delay, si los tenia en mi programa, pero el build y el org no. me podrias decir para que los utilizas.

y si acaso sabes como debo configurar mi pic o que parte del datashhet tengo que leer para saber como configurarlo, te lo agradeceria mucho

en el link esta mi codigo, que por cierto aun no funciono, no lo pongo aqui para no hacer mas bulto en el foro


de antemano muchas gracias

saludos
 
hola bazookao

veras la instruccion build y la instruccion org son para establecer una espacion de memoria que no se ocupara por el codigo de los programas, en esta pocicion esta guardado un firware llamado bootloader el cual permite grabar el micro controlador de forma automatica sin necesidad de desconectarlo del proto o de un equipo fisico, aora bien el micro controlaor que estas ocupando es por decirlo asi el primo del 18f4550 lo mismo que el 2550 son similares en cuanto a la configuracion de los fuses te recomiendo adquirir aunque sea la version demo del compilador CCS y en la barra de menus busca la opcion fuses y en esta opcion encontraras todos los posibles fuses que puedes activar en tu micro

Tambien todos los codigos los arme y continuo haciendolo, puedes entrar a Youtube.com y buscar "videos de multiyack" y encontraras los primeros circuitos probados durante estos dias continuare subiendo mas para que se puedan checar com funcionan
 
Hola, tengo un par de preguntas muy básicas...y es que soy noob en esto de los pics:

1. ¿Es lo mismo editar el programa en C que en C++?
2. Para editar el programa para un pic 18F ¿puedo hacerlo digamos en BOrland C++ o necesito un editor específico para pics?
 
en muy poca experiencia creo q1ue si es necesario un compilador especial para pics como mikroc picbasic microcode studio o algun soft de code warrior claro tambien depende del tipo de pic que vayas a programar y ps para c ++ puede ser ccs...:)
 
THE ONE ANDRES dijo:
Hola compañeros,

Alguien sabe como realizar un codigo para 16f84 en C en Multisim? tengo conocimientos de C aunque no mucho ahi me defiendo, y el hardware esta listo en la simulacion de multisim, solo me falta el codigo pero no se por donde empezar... gracias y buen dia

Hola, para dar respuesta a mi misma pregunta jejeje... les comento que la ultima version de multisim no tiene para simular no mas solamente el PIC 16F84, lastimosamente, ya que desde el punto de vista academico es una excelente herramienta que integra todo en uno por asi decirlo, incluso programar en C, puedes cambiar el codigo y analizar la simulacion en el mismo programa, ademas con la extencion NI ELVIS II puedes en el software cablear la protoboard con una opcion de check de errores, lo que podras llevar a la protoboard despues de que la simulacion halla dado bien, con un minimo casi nulo de errores, otro contra es que las librerias no son tan extensas pero igual seria super si se pudiera simular una gran cantidad de PIC como en proteus... Conclusion, lo que me dijeron los de NI fue que no habia de mas, que habria que esperar, aja... ya que...

Si alguien sabe de algun programa de simulacion de PICs gratis, seria super que lo compartiera... aca dejo un enlace de una pagina que tiene una cantidad de programas de simulacion de circuitos, pero ninguno gratis y para PIC...

http://www.yoreparo.com/foros/laboratorios_virtuales/programas-de-diseno-electronico-y-simulacion-t316534.html

Saludes... :cool:
 
Mapcec si deseas aprender a programar pics on C no puedes hacerlo con un compilador comoo lo es borlan ya que estos son para aplicaciones informaticas el compilador que necesitas es un o para microcontroladores y uno de ellos es el CCS y por lo tanto no puedes utilizar cualquier compilador para C debe ser uno especifico para microcontroladores
 
Buenas, estoy haciendo un proyecto que transmite y recibe datos por rf a travez del modulo usart, uso 2 pic16f876a, y de acuerdo con lo que lei aca http://www.todopic.com.ar/foros/inde...;topic=30837.0 programe el pic para realizar una codificacion manchester en tx y decodificacion manchester en rx, el problema no es la codificacion, si no el problema es que no se como enviar 2 bytes completos y sin interrupciones por el transmisor, ya que es lo que quiero hacer, en el manual habla de back to back, lo que hice fue cargar el registro txreg 2 veces seguidas para mandar 2 bytes completos pero no se si funcione asi.

En el receptor es el problema porque debo de recibir esos 2 bytes seguidos y cargarlos en registros, la duda es que usando interrupciones en el receptor, cada vez que un byte entra entonces se interrumpe y se debe de leer el rcreg, o en realidad entran los 2 bytes y despues se interrumpe ?????
 
Hola, estoy iniciando un proyecto para usar el PCI18F2550 pero quiero saber si puedo usar C para programarlo.

Por si alguien está interesado, lo estoy armando poco a poco para mi tesis y estoy dejando registro de avance en la página

http://www.grupovalpe.com/capacitacion/estudio_pics/

Gracias por su respuesta.

A propósito, si alguien está interesado esta es la página donde subí mi tesis entera:

http://www.grupovalpe.com/capacitacion/tesis_pendulo_invertido/


Es un sistema de control para un péndulo invertido.

Saludos

Ernesto
 
Última edición:
bueno primero que nada cual es la apliacion que realizara el micro, haber si cumple las espectativas necesarias para un pleno funcionamiento, yo recomiendo micro c for pic, un programa que se utiliza para casi toda la famila de 16f y 18f que son muy aplicables. En tanto a la configuracion de una respuesta deacuerdo a una entrda simplemente configuras tus puertos para decirles que van a ser sus fuciones, como entrada o salida, luego declarado esto tu deacuerdo a tu entrada configuas tu salida con una simple funcioncita o directamente con lo configuracion de los puertos.. Espero que sea un poco de ayuda.

busca micro c pro pic o solamente microC, creo que ese Pic esta en su libreria.
 
Última edición:
como puedo cambiar el vector de reset, necesito que el programa se ejecute desde otra parte al presionar mclr en forma física y no desde main.
utilizo ccs y proteus.
cualquier aporte, gracias.
 
como puedo cambiar el vector de reset, necesito que el programa se ejecute desde otra parte al presionar mclr en forma física y no desde main.
utilizo ccs y proteus.
cualquier aporte, gracias.

Has probado al directiva #ORG ?, revisa eso en el Help y en la carpeta del ccs hay un ejemplo "loader.c" te puede ser de ayuda.

saludos.
 
hola que tal , soy nuevo en el foro, tengo el siguiente problema: deseo hacer un contador de 0 a 99 con pic 16f84a, pero hay una condicion que al desconectar Vcc y volverla a conectar el micro continue donde se quedo al desconectar Vcc. Cabe aclarar que yo programo en CCS C .Agradezco mucho su asesoria y pronta respuesta.

Atte,

wilson serna
 
hola que tal , soy nuevo en el foro, tengo el siguiente problema: deseo hacer un contador de 0 a 99 con pic 16f84a

Bienvenido...
Cada cuanto tiempo incrementas el conteo? puedes usar ese tiempo para guardar la cuenta en la memoria EEPROM del PIC, de ese modo no se borra.
Intenta, tienes unos 10ms para grabar la cuenta en la memoria EEPROM...

saludos.
 
Atrás
Arriba