Eros Matheus Posted September 26, 2013 at 05:00 AM Report #526021 Posted September 26, 2013 at 05:00 AM bom dia, preciso de uma ajuda, estou tentar gravar o codico em c que criei no micro controlador pic 16f877. quando gravo com o kitpic2 ele ,funciona só quando o kitpic esta conectado a placa, ma quando em retiro o kitpic o programa para de funcionar. alguém sabe porque acontece isso. ou será que eu estou fazendo algo errado na hora de gravar no pic. qual e o procedimento certo par ata gravando no pic utilizo o mplab, e o CCS para programar.
gadelhas Posted September 26, 2013 at 01:28 PM Report #526093 Posted September 26, 2013 at 01:28 PM Boa Tarde; Sinceramente muitas coisas podem acontecer, mas para começar, esquema do circuito? Configuração dos fuses do PIC? Quando tiras o Pickit do circuito, tens outra alimentação lá ligada? Abraço Gadelhas
Eros Matheus Posted September 26, 2013 at 05:09 PM Author Report #526143 Posted September 26, 2013 at 05:09 PM (edited) Sim tenho o pic ta ligado certo, consigo gravar com o kitpic2, e ver o resultado funcionar, mas quando vou tirar o kitpic o led fica aceso em vez de ficar piscando como na Programação. segue o código abaixo para alguém tentar me ajudar. #include <C:\Program Files\PICC\Devices\16F877.h> #device adc=8 #FUSES NOWDT //No Watch Dog Timer #FUSES XT //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD #FUSES PUT //Power Up Timer #FUSES NOPROTECT //Code not protected from reading #FUSES BROWNOUT //Reset when brownout detected #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #FUSES NOCPD //No EE protection #FUSES NOWRT //Program memory not write protected #FUSES NODEBUG //No Debug mode for ICD #FUSES RESERVED //Used to set the reserved FUSE bits #use delay(clock=4000000) void main() { setup_adc_ports(NO_ANALOGS); setup_adc(ADC_CLOCK_DIV_2); setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); While (true){ if(input(PIN_B2)) { output_low(pin_B1); output_high(PIN_B0); delay_ms(200); output_low(pin_B0); delay_ms(200); output_high(PIN_B0); delay_ms(200); output_low(pin_B0); delay_ms(200); } else { output_high(PIN_B1); delay_ms(200); output_low(pin_B1); delay_ms(200); } } } queria saber porque o código não fica no pic. será que o código esta errado. no pic tem duas entrada vcc e gnd tenho que ligar os dois vcc e os dois gnd ou uma so basta, pois so tenho uma ligada. Edited September 26, 2013 at 05:13 PM by thoga31 Tags code + GeSHi
gadelhas Posted September 26, 2013 at 06:27 PM Report #526152 Posted September 26, 2013 at 06:27 PM Viva; Se tens 2 VDD ou 3 ou 10, tens sempre de os ligar todos, assim como VSS. Deves colocar sempre um condensador de 100nF entre cada VDD e VSS. Se depois disto ainda não funcionar, desactiva o fuse do Brown out reset e experimenta. Já agora, qual a tensão que estás a aplicar ao circuito depois de desligares o pickit? Abraço Gadelhas
Eros Matheus Posted September 26, 2013 at 08:18 PM Author Report #526181 Posted September 26, 2013 at 08:18 PM a tensão que estou utilizando e de 5 volts. tenho um eliminador de 12 volts e depois peguei em um integrado 7805 com dois capacitores e reduzi a voltagem para 5 volts para alimentar o pic16f877. o pic 16f877 e o que estou a utilizar.
gadelhas Posted September 27, 2013 at 02:47 PM Report #526322 Posted September 27, 2013 at 02:47 PM a tensão que estou utilizando e de 5 volts. tenho um eliminador de 12 volts e depois peguei em um integrado 7805 com dois capacitores e reduzi a voltagem para 5 volts para alimentar o pic16f877. o pic 16f877 e o que estou a utilizar. E já fizeste o que te disse? Ou seja, desligar o BrownOut e colocar os condensadores entre os VDD e VSS? Como é que está ligado o cristal ao PIC? Abraço Gadelhas
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now