View previous topic :: View next topic |
Author |
Message |
kranz
Joined: 27 Nov 2007 Posts: 7
|
12F675 Destroying Program ? |
Posted: Thu Oct 02, 2008 7:15 am |
|
|
Hi.
I am having serious problems with some 12F675.
I developed a program in CCS compiler, but this program is completely destroying all my pics. I burn it in 6 working 12f675 and after I do it the pic just stop work and lose all the id's and fuses and configurations.
What is that ?
I was developing different programs to test, but it is just destroying the pics.
Here is the last example of program that just destroy the 12F675.
Obs.. I am using a JDM programmer and it is working perfect on 16F877a and 12F675 with other codes.
Program version 4.017
I already lose six 12F675. Why ?
Last test destroying program:
Code: |
#include "d:\kranz\MaxC\Batevolta.h"
int qntd=0;
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_comparator(NC_NC);
setup_vref(FALSE);
enable_interrupts(GLOBAL);
while(1)
{
//set_adc_channel(0);
//delay_us(100);
//qntd=read_adc();
if(qntd < 30)
{
output_high(pin_a1);
output_low(pin_a2);
}
else
{
output_low(pin_a1);
output_high(pin_a2);
}
}
} |
And this is the batevolta.h
Code: |
#include <12F675.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC_IO //Internal RC Osc, no CLKOUT
#FUSES NOCPD //No EE protection
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOMCLR //Master Clear pin enabled
#FUSES NOPUT //No Power Up Timer
#FUSES NOBROWNOUT //Reset when brownout detected
#use delay(clock=4000000) |
|
|
|
SherpaDoug
Joined: 07 Sep 2003 Posts: 1640 Location: Cape Cod Mass USA
|
|
Posted: Thu Oct 02, 2008 7:27 am |
|
|
Just to clarify what is happening. This code runs OK on a 16F877a and it destroys a 12F675? What do you mean by "destroy"? Does it mean the chip does not run and can no longer be programmed? You can run other code in a 12F675? _________________ The search for better is endless. Instead simply find very good and get the job done. |
|
|
kranz
Joined: 27 Nov 2007 Posts: 7
|
|
Posted: Thu Oct 02, 2008 7:35 am |
|
|
I mean, when I try to burn this code to the 12F675 it just make the 12F675 unusable.
I can't reprogram the chip anymore. Not even to reprogram a blank code.
I also can't check the Oscillator Calibrator Value anymore when I use this code.
The 16F877a example is just to say "Yes I know how to use and program pics." I was also using 12F675 processors, but with other codes, and now I don´t have any 12F675 to use because it is not working anymore to the other codes as well. |
|
|
drh
Joined: 12 Jul 2004 Posts: 192 Location: Hemet, California USA
|
|
Posted: Thu Oct 02, 2008 8:15 am |
|
|
From the 12F675 data sheet
Quote: | Note: Erasing the device will also erase the preprogrammed
internal calibration value for
the internal oscillator. The calibration value
must be saved prior to erasing part. |
Based on experience with Microchip programmers:
If your programmer doesn't save and restore the calibration value,
you won't be able to re-program the part. _________________ David |
|
|
treitmey
Joined: 23 Jan 2004 Posts: 1094 Location: Appleton,WI USA
|
|
Posted: Thu Oct 02, 2008 8:17 am |
|
|
Did you see section 10.10 of the spec sheet.
It uses Vdd, Vss, GP0,1,3
figure 10-14
read over that section very carefully, and check wiring. |
|
|
kranz
Joined: 27 Nov 2007 Posts: 7
|
|
Posted: Thu Oct 02, 2008 8:19 am |
|
|
Man, the problem is..
I also CAN´T reprogram the calibrator value anymore.
I was using the winpic800, and it restores the value automatically, but after I burn this simple and useless program the pic just stop working!!! |
|
|
drh
Joined: 12 Jul 2004 Posts: 192 Location: Hemet, California USA
|
|
Posted: Thu Oct 02, 2008 8:23 am |
|
|
There was an older PromateII firmware version that was not handling this properly. Can you try a different programmer? _________________ David |
|
|
kranz
Joined: 27 Nov 2007 Posts: 7
|
|
Posted: Thu Oct 02, 2008 8:30 am |
|
|
treitmey wrote: | Did you see section 10.10 of the spec sheet.
It uses Vdd, Vss, GP0,1,3
figure 10-14
read over that section very carefully, and check wiring. |
I am using a JDM programmer.. And I already used the same programmer to burn others 12F675 codes and that is working!!!
The problem is.. I just burn and it fails and then nothing works anymore.. |
|
|
kranz
Joined: 27 Nov 2007 Posts: 7
|
|
Posted: Thu Oct 02, 2008 8:39 am |
|
|
drh wrote: | There was an older PromateII firmware version that was not handling this properly. Can you try a different programmer? |
I also tried to use the ICprog and the same error occurs.
It just turns all the 12F675s to a completely blank processor and I can't reprogram any more.
I just have now six 12F675 blank processors with no way to restore why? Or have a way to restore this?
Obs. I am not using the code protection. Just have a look at my code. |
|
|
Guest
|
|
Posted: Thu Oct 02, 2008 9:58 am |
|
|
Hi
I think you should spend some money on a real PIC programmer. In the past I had lot of problems with all kind of low cost programmers.
Microchip's pickit2 is a cheap but good programmer. |
|
|
jaymiller Guest
|
|
Posted: Thu Oct 02, 2008 10:01 am |
|
|
Before you lose ALL your hair, can you READ a previously programmed 12F675, say from a currently functioning project?
NOT one of the 'blank' ones..but one you can yank from an 'up and running' board?
This test would at least verify that your programmer + software acknowledge the 12F675 series of chips.
I know, it's mighty frustrating.....like spending a half hour staring at code only to see you didn't cut and paste the ;........arrgh.....
Jay |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Thu Oct 02, 2008 12:10 pm |
|
|
Quote: | #include <12F675.h>
#device adc=8
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOCPD
#FUSES NOPROTECT
#FUSES NOMCLR
#FUSES NOPUT
#FUSES NOBROWNOUT
|
This problem has been discussed on the internet for years. Use Google
to find it. Here's the search string for Google.
Quote: | JDM programmer 12F675 |
It finds this thread on the very first hit:
http://www.rcgroups.com/forums/showthread.php?t=433790 |
|
|
kranz
Joined: 27 Nov 2007 Posts: 7
|
|
Posted: Fri Oct 03, 2008 11:56 am |
|
|
jaymiller wrote: | Before you lose ALL your hair, can you READ a previously programmed 12F675, say from a currently functioning project?
NOT one of the 'blank' ones..but one you can yank from an 'up and running' board?
This test would at least verify that your programmer + software acknowledge the 12F675 series of chips.
I know, it's mighty frustrating.....like spending a half hour staring at code only to see you didn't cut and paste the ;........arrgh.....
Jay |
Man..
I already used this JDM programmer a lot of times.. I CAN read any other code in the working processors..
I am saying is just this code!! |
|
|
kranz
Joined: 27 Nov 2007 Posts: 7
|
|
Posted: Fri Oct 03, 2008 12:03 pm |
|
|
PCM programmer wrote: | Quote: | #include <12F675.h>
#device adc=8
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOCPD
#FUSES NOPROTECT
#FUSES NOMCLR
#FUSES NOPUT
#FUSES NOBROWNOUT
|
This problem has been discussed on the internet for years. Use Google
to find it. Here's the search string for Google.
Quote: | JDM programmer 12F675 |
It finds this thread on the very first hit:
http://www.rcgroups.com/forums/showthread.php?t=433790 |
Thanks man..
Now I understand why.. :D |
|
|
|