TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: sgallego en 12 de Noviembre de 2009, 14:52:42
-
Hola a todos, estoy empezando con esto de los pic.
El programa es el simple del Led intermitente.
Me funciona bien en el Proteus pero cuando lo paso al pic, no funciona intermitente.
Primero empezaba con el LED apagado y por ahi pense que no se estaba grabando bien, pero luego cambia para que empiece con el LED encendido y cuando arranca el pic lo prende.
Es un PIC 16F877A con un Xtal de 20Mhz .
Creo que el problema tiene que estar en la parte del delay.
#include <16F877A.h> /* PIC16F877A */
#fuses XT,NOWDT,NOPROTECT,PUT //ordenes para el programador
#use delay (clock=20000000) //Fosc=20Mhz
#use fast_io(b)
///PROGRAMA
void main(void)
{
set_tris_b(0xFE); //portb como salida(RB0,las demas desactivadas)
disable_interrupts(GLOBAL); //todas las interrupciones desactivadas
set_tris_a(0xFF); //porta como entrada
for (; ;)
{
output_high(PIN_B0); //led on
delay_ms(500);
output_low(PIN_B0); //led off
delay_ms(500);
}
}
saludos, sebastian
-
El cristal es de 20MHz así que en el fuse debes colocar HS y no XT.
Saludos!
-
Muchisimas gracias Suky :-/.
Pensaba que tenia que tener algun error de ese tipo con el timer.
Justo todos los ejemplos eran con xtal de 4mhz. Y aca a mano tenia de 20mhz
Ahora mismo estoy viendo el video de "Introduccion a la programacion en C" del congreso virtual de microcontroladores.
Y explican que significa cada cosa.
Muchas gracias sinceramente, estaba de anoche dele quemar el pic a ver si lo podia hacer andar.
saludos, sebastian
-
De nada! De a poco se van aprendiendo todos esos detalles.
Saludos!