TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: retovil en 24 de Septiembre de 2016, 20:12:43
-
hola amigos del foro , soy nuevo en la programaciòn de pics y realice el programador jdm
casero ,con el soft icprog utilice la ultima versiòn . programo con ccs c compiler . y con proteus 7 los pruebo .Bueno a modo de querer probar realice la primera grabaciòn .hice un circuito de un led con un sw . simple nada màs de prueba . tube problemas de con el soft pero icprog pero las pase bien . ahora grabe el programa ,he colocado en el protoboard el ci y no funciona. aclaro que no coloque el xtal de 4M . que pudo haber salido mal? dejo el codigo
#include<16f628A.h>
#fuses xt,nowdt,noput
#use delay(clock= 4000000)
#BYTE TRISA = 0x85
#BYTE PORTA = 0X05
#BYTE TRISB = 0x86
#BYTE PORTB = 0X06
#define SW1 PIN_A0 //PORTA RA0
#define LED1 PIN_B0 //PORTB RB0
void main(){
set_tris_A(0b1111111);
set_tris_B(0b0000000);
while(true){
if(input(SW1)==0)
output_toggle(LED1);
delay_ms(200);
}
}
-
:shock:
si no le pones el cristal no te va a funcionar
-
Bueno, faltan detalles de como estaras conectando, pero.... como dice mariano_pic, si declaras un cristal de 4Mhz y no lo pones pues no funcionara, a no ser que.... hagas un cambio en los fuses, para usar el oscilador interno, algo asi:
#include<16f628A.h>
#fuses intrc_io,nomclr,nowdt,noput
#use delay(clock= 4000000)
#define SW1 PIN_A0 //PORTA RA0
#define LED1 PIN_B0 //PORTB RB0
void main()
{
set_tris_A(0b1111111);
set_tris_B(0b0000000);
while(true)
{
if(input(SW1)==0)
output_toggle(LED1);
delay_ms(200);
}
}
Como veras, agregue, "intrc_io" y quite "xt", con ello usas el oscilador interno y tambien puse el fuse del NO master clear reset, porque como que me suena a que no has colocado la resistencia de master clear reset, pero pues eso lo sabriamos con mas detalles de tus conexiones en el protoboard.
Tambien he quitado las declaraciones de registros que tenias porque pues....no veo que las uses, estan de mas para mi opinion, prueba asi y nos cuentas
-
:) Gracias thegame por tu asistencia ,bueno realice todo lo que me dijeste pero bajo esas declaraciones en el pic c compiler, no se porque el programa(ICPROG) pone un cartel fallo
00000h! ,noto que al cargar el archivo hex en el programa icprog marca la casilla BODEN automaticamente y se graba correctamente pero en la aplicaciòn el microcontrolador no funciona . Parece que solo funciona con xt osea poniendole un cristal de 4M .