TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: gotdemets en 22 de Febrero de 2006, 12:54:00
-
Hola que tal, estoy empezando a utilizar el pic18f452 y quisiera saber algunas cosas sobre programacion con el compilador c18, ya me di cuenta que a nadie le gusta este compilador, pero si alguien sabe utilizarlo pues la agradeceria me diera uns ejemplos o algo por el estilo. Lo necesito para mi proyecto de titulacion y lo que voy a utilizar son los timer como contador, comunicacion serial, interrupciones, el watchdog, y configurarlo para que entre en modo sleep. Por favor les agradeceria mucho si me ayudaran.
-
Escrito originalmente por gotdemets
Hola que tal, estoy empezando a utilizar el pic18f452 y quisiera saber algunas cosas sobre programacion con el compilador c18, ya me di cuenta que a nadie le gusta este compilador, pero si alguien sabe utilizarlo pues la agradeceria me diera uns ejemplos o algo por el estilo. Lo necesito para mi proyecto de titulacion y lo que voy a utilizar son los timer como contador, comunicacion serial, interrupciones, el watchdog, y configurarlo para que entre en modo sleep. Por favor les agradeceria mucho si me ayudaran.
Hola.
Bueno he ocupado el compilador C18, sin embargo, prefiero el CCS, porque pues ya me acostumbre al IDE para windows.
Sin embargo sigue siendo programación en C. lo unico que cambia son algunas directivas y/o instrucciones, pero son muy parecidos. busca el Tutorial para C18, te puede ser de gran ayuda para comenzar a utlizar este compilador, inclusive viene con algunos ejemplos sencillos para que te hagas una idea de como se ocupa......
Intenta hacer tu primer programa con los timers y si tienes problemas, pues escribes y te podemos hechar una mano......................
la guia esta en http://ww1.microchip.com/downloads/en/devicedoc/mplab_c18_users_guide_51288j.pdf
-
gracias mi grouchy, bueno pues ya con la informacion que he buscado y lo que he practicado ya pude utilizar los timers, ahora quisiera entrar al tema de la comunicacion serial, necesito mandar datos desde el micro hasta una computadora pero aun no se como. Tal vez alguien podria ayudarme con las configuraciones del pic, que conexiones debo utilizar, como configurar el cable, etc, etc. no importa que sean ejemplos con el compilador ccs, de todos modos dicen que es muy parecido, con que pueda apreciar la configuracion de los registros es mas que suficiente. Gracias
-
Escrito originalmente por gotdemets
gracias mi grouchy, bueno pues ya con la informacion que he buscado y lo que he practicado ya pude utilizar los timers, ahora quisiera entrar al tema de la comunicacion serial, necesito mandar datos desde el micro hasta una computadora pero aun no se como. Tal vez alguien podria ayudarme con las configuraciones del pic, que conexiones debo utilizar, como configurar el cable, etc, etc. no importa que sean ejemplos con el compilador ccs, de todos modos dicen que es muy parecido, con que pueda apreciar la configuracion de los registros es mas que suficiente. Gracias
Hola gotdemets aqui tienes lo necesario para comunicarte con el pc por rs232 eleborado por el maestro RedPic 
http://miarroba.com/foros/ver.php?foroid=46840&temaid=4679539
Aqui otros ejemplos más:
http://miarroba.com/foros/ver.php?foroid=46840&temaid=4683700
-
Hola,
Yo estoy usando el 18F452 con el C18 (me manejo con el entorno del MPLAB). Te cuento q para modificar cualquier registro, me fijo en la hoja de datos el nombre, la funcion de cada bit y solo me resta ponerlo de cualquiera de las siguientes formas:
TRISA = 0b0001111;
TRISA = 15;
TRISA = 0x0F;
Si deseo solo modificar un bit del registro:
INTCONbits.GIE=1;
donde la "formula" seria:
NOMBREDELREGISTRObits.NOMBREDELBIT=
Esta forma la vas a entender mejor si revisas el archivo p18f452.h (es el header del pic, que lo tenes q incluir en el programa)
A continuacion te mando un pedazo de codigo q utilizo para inicializar mis programas:
void set() //Setea el micro
{
TRISC = 0b10001000; //PORTC como serie, entradas y salidas
SPBRG = 15; //configuro el serie a 9600 baudios
RCSTA = 0b10000000;
TXSTA = 0b00000100;
PORTC = 0;
RCONbits.IPEN=0; //disable priority levels, el vector es 0x08
INTCONbits.GIE=1; //habilita interrupciones
INTCONbits.TMR0IE=1; //habilita el overflow del timer0
T0CON= 0b00010111; //timer0 de 16bits, con prescaler de 256, apagado
TMR0L=0; //reseteo el timer
TMR0H=0;
//PUERTOS DE PRUEBA
ADCON1 = 0b11110110; //PORTA y PORTE como I/O digital xxxx011x
TRISA = 0b0001111; //PORTA como entrada (a0...a3)
TRISD = 0x0; //PORTD como salida (d4....d7)
PORTD = 0x0;
}
Te recomiendo q primero leas el manual (aunq reconozco q puede llegar a ser tedioso) para entender como funciona y q registros tenes q manejar.
Suerte, Nyquist.
-
muchas gracias por sus respuestas. Oye nyquist ya que estas trabajando con el pic18f452 en mplab, quisiera saber si tu manejas el modo sleep y el watchdog, ya que tambien necesitar usarlos, si tienes algunos ejemplos de los que tu tienes pues te agradeceria los pusieras. Yo por mi parte si estoy investigando en el manual, pero que mejor que tener un ejemplo como base para empezar. Si tienes algunos otros ejemplos de cualquier otra funcion pues te lo agradeceria tambien. Muchas gracias.