Why i am using TAIT Programmer......
Because as u know a pre programmed Microcontroller is needed to run the ICD therefore i am using TAIT to program "ICD2_Bootloader_A" file into PIC16F877A....
I have seen another a simplest programmer on the web, made with only resistors but i have mis the link....u know?
Once i have programmed PIC16F877A with "ICD2_Bootloader_A"... but ICD is not working it say
Code:
Auto-connect not enabled - Not connecting (Try enabling auto-connect on the ICD2 settings pages.)
ICDWarn0034: Please ensure that your system's serial FIFO buffers are disabled.
Connecting to MPLAB ICD 2
ICDWarn0054: MPLAB IDE has lost communications with the MPLAB ICD 2. Would you like to attempt to reconnect?
Connecting to MPLAB ICD 2
ICD0021: Unable to connect with MPLAB ICD 2
MPLAB ICD 2 Ready
Connecting to MPLAB ICD 2
ICD0021: Unable to connect with MPLAB ICD 2
MPLAB ICD 2 Ready
Connecting to MPLAB ICD 2
ICD0021: Unable to connect with MPLAB ICD 2
MPLAB ICD 2 Ready
Connecting to MPLAB ICD 2
ICD0021: Unable to connect with MPLAB ICD 2
MPLAB ICD 2 Ready
Connecting to MPLAB ICD 2
ICD0021: Unable to connect with MPLAB ICD 2
MPLAB ICD 2 Ready
My cable length is 24 inches, straight connections, PIN 1 with PIN 1, 2 with 2.
What should be the setting during programming of PIC16F877A with "ICD2_Bootloader_A"... Picture Below.
My Fifos are also OFF
My Microcontroller(PIC16F877A_ is OK. I feed a program of blinking leds with TAIT programmer and it is working properly..
FWII the easyest way to test the rs232 is with a loop back type test. Remove the PIC and jumper the TX and RX pins at the processor socket Then connect to the Inchworm with any terminal program. If you can see what you type the MAX232 is working. When you remove the jumper you should not see what you type.
I have also done this step on both speeds 57600 and 19200... and have succeed on both speed...
Also have cheked RTS and CTS as i short PORTB.4 with PORTB.5 with jumper.... CTS LED turn on in software, i am using Serial Input Output monitor of PIC CCS compiler.
When you programmed the 877 to blink a LED did you run it in the inchworm circuit ? If not write code to blink busy LED and check it in inchworm.
Do you have the PIC - MAX232 - DB9 exactly as in the inchworm schematics ? Check this again even if you had the LED blinking.
I think the "serial input/output" is part of the CCS IDE not the compiler. I have the compiler but not the IDE not sure exactly what it does so I do not know what that test proved for sure.
Just for kicks and giggles set MPLAB to auto-connect and to auto download the operating system (to the 877). Then try it.
i write the code and feed it to the PIC, now the programmed pic is running fine on my Develpment board, it is blinking LED connected at PORTB.3.
But when i insert the same PIC into Inchworm it not blink LED.
But when i apply direct 5 volts to PORTB.3 in Inchworm IC's Socket then LED turn ON.
As i understand this is because MCLR/VPP pin is not pulled up with any resistor to positive supply in Inchworm.
Do you have the PIC - MAX232 - DB9 exactly as in the inchworm schematics ? Check this again even if you had the LED blinking.
It is giving exact voltages on test points.
5 Volts on TP+5 And
12.8 Volts on TP VPP.
5 and 0 volts on IC socket of PIC16F877A at VDD and VSS.
I think the "serial input/output" is part of the CCS IDE not the compiler. I have the compiler but not the IDE not sure exactly what it does so I do not know what that test proved for sure.
I have test my RS232 cable and MAX232 at both speeds 57600 and 19200 they r right....... I use "Input Output monitor". It is not a complier, it is just like a Terminal program comes with PICC compiler...
when programming the "target" chip ,
there are configuration bits (in the target chip memory) that need to be set
depending on the type of osillator the Target will use , you eithe set the config bits, to HS high speed , internal , or a few other options.
LVP is another option set in the config bits.
the config bits are set by either MPLAB or in the assembly program itself.
i forget the syntax of the assembly code for the config bits , BUT each target chip has its own , config bits , and they are different , mostly.