PIC 18F2550 and ICSP vs. free programing software

Find out how to setup your programmer's software and how to solve many common problems.

Moderator: phalanx

PIC 18F2550 and ICSP vs. free programing software

Postby Pryankster » Thu Feb 03, 2005 12:43 pm

I recently purchased a PIC-PG1 along with the P18 dev board stuffed with a PIC18F2550. I'm not having much luck getting it programmed, however.

I've tried icprog, and winpicpr, but they don't support the 18F2550, the seemingly very nice, but spanish-text-only) WinPic800 supports the 18F2550, but doesn't list the PIC-PG1 in it's list of supported rogrammers.

WinPic800 does list a "TE20" programmer (in fact, it's the only serial programmer that it supports) and I made that work once with the blinky code, but now seems to only be able to program the first 12 words and then gets an error. I supposed that my PIC could be fried, but I suspect that the "TE20" programmer is close-enough to the PIC-PG1 that it works sometimes.

Here are the settings that I can change in WinPic800 ... are they correct for the PG1?
Code: Select all
    Use VPP2, unchecked
    Use VDD, unchecked
    Use Mclr, unchecked
    Data  -> DTR ->  Inv unchecked -> test unchecked
    DataIn -> CTS -> Inv unchecked
    Clock -> RTS -> Inv unchecked -> test unchecked
    Vpp -> TXD -> Inv unchcecked -> test unchecked
    Vpp2 ->  not active
    Vdd -> not active
    Mclr ICSP -> not active

My poor spanish not withstanding, WinPic800 looks like a really nice program ... I just wish that I could make it work with my PIC :-(


Also, I modified the blink program to work with the 2550 on the P18 dev board. Make the following changes: Start with the 18F252 version of blink.c, change the 'include' to pick the right chip (#include "18F2550.h"), update the config registers as shown below, and remove the "ADCON1 = 0b.0000.0111;" line. The config registers shown below set Fosc to 24Mhz and should enable the USB module to run at high-speed as well as low speed ... the config registers are set as follows:

Code: Select all
                    /* CONFIG1L */
                    /* U = USBDIV == 1 (because we're using output of PLL) */
                    /* CC = CPUDIV1:0 11=div 4, 10=div3 */
                    /* PPP = PLLDIV2:0 100 = div 5 (20Mhz OSC1/OSC2) */
                    /* --UC CPPP */
#pragma config[0] = 0b.0011.0100

                    /* CONFIG1H */
                    /* I = IESO == 0 disble int/ext osc switchover bit */
                    /* F = FCMEN == 0 fail safe clock monitor enable */
                    /* FOSC3:0 == 111x = (HSPLL) HS osc, PLL enabled */
                    /* IF-- FOSC */
#pragma config[1] = 0b.0000.1110

                    /* CONFIG2L */
                    /* V = VREGEN = USB Voltage reg enable */
                    /* BB = BORV1:0 Brown out Reset voltage */
                    /* EE = BOREN1:0 = Brown out voltage enable (00=disbled) */
                    /* T = /PWRTEN = 1 = Power-up timer disabled */
                    /* --VB BEET */
#pragma config[2] = 0b.0000.0001

                    /* CONFIG2H */
                    /* WWWW = WDTPS3:0 == 0000,  WDT postscaler */
                    /* E = WDTEN = WDT enable */
                    /* ---W WWWE */
#pragma config[3] = 0b.0000.0000 //WDT Off

                    /* CONFIG3H */
                    /* M = /MCLR pin enable  (1=MCLR enabled, RE3 input disa) */
                    /* L = LPT1OSC = Low power timer 1 osc enable bit */
                    /* P = PBADEN = Port B A/D enable bit (1 = dig on rst)*/
                    /* C = CCP2MX = 1 = CCP2 I/O is muxed with RC1 */
                    /* M--- -LPC */
#pragma config[5] = 0b.1000.0011

                    /* CONFIG4L */
                    /* D = /DEBUG (1=debug disabled) */
                    /* X = XINST = 0=disable extended instruction set */
                    /* I = ICPRT = 0=disable dedicated ICSP (40 pin only) */
                    /* L = LVP = 0=single-supply ICSP disabled */
                    /* S = STVRENT = 0=stack full/underflow will not reset */
                    /* DXI- -L-S */
#pragma config[6] = 0b.1000.0000

                    /* CONFIG5L */
                    /* code protection CP3:0  (1 == not code protected) */
#pragma config[8] = 0b.0000.1111

                    /* CONFIG5H */
                    /* data/boot block protection CP3:0 (1 == not protected) */
#pragma config[9] = 0b.1100.0000

                    /* CONFIG6L */
                    /* 3210 = WRT3:0 = write protection bit (1=not protected) */
                    /* ---- 3210 */
#pragma config[10]= 0b.0000.1111

                    /* CONFIG6H */
                    /* D = Data EEPROM write protect bit */
                    /* B = boot block write protect bit */
                    /* C = config register write protect bit */
                    /* DBC- ---- */
#pragma config[11]= 0b.1110.0000

                    /* CONFIG7L */
                    /* 3210 = EBTR3:0 = table read protection bit (1=no prot) */
                    /* ---- 3210 */
#pragma config[12]= 0b.0000.1111

                    /* CONFIG7H */
                    /* E = EBTRB = Boot block table read prot bit (1=no prot) */
                    /* -E-- ---- */
#pragma config[13]= 0b.0100.0000
Pryankster
 
Posts: 29
Joined: Thu Feb 03, 2005 12:16 pm

Postby sparky » Thu Feb 03, 2005 12:58 pm

I don't think the PG1 or PG2 are going to work with the 18F family PICs. It's great to hear there is already some free software that will support these bleeding new PICs.

My recommendation would be to use a powered programmer like the PG3B, but it has its drawbacks as well.

Does WinPic800 have support for Tait Parallel programmers?

-Nathan
User avatar
sparky
Site Admin
 
Posts: 1334
Joined: Mon May 05, 2003 6:02 pm
Location: Colorado

Postby Pryankster » Thu Feb 03, 2005 1:09 pm

WinPic800 lists the following programmers as supported:

GTP USB-232
GTP-04
GTP-07
Pablin
PG3B
Pic800
polivalente
PP2
TE20

What are the drawbacks with the PG3B?

The weird thing is that it seems to work every once and a while ... I made it work just after I posted the above post, in fact ... I burned the chip twice, and now it's not working again ... *SIGH* ... some kind of weird timing error?

-- pryankster
Pryankster
 
Posts: 29
Joined: Thu Feb 03, 2005 12:16 pm

WINPIC800 NEWS!!! ...IN ENGLISH

Postby marmatar » Tue Mar 15, 2005 11:58 am

NEWS!!!...
The WINPIC800 now in several languages, included English.

For the programmers do not include you special configurations can be created and be included as a new file.
If they create new files of configuration, please to send the new file (.hwp) to winpic800@hotmail.com

Also volunteers need for the translation to other languages (Chinese, French, Greek, etc)

Regards...
Marmatar
marmatar
 
Posts: 1
Joined: Tue Mar 15, 2005 11:40 am

Postby BigJP » Tue Mar 15, 2005 8:52 pm

do you have an eagle .sch schematic file for this programmer?
--Justin
BigJP
 
Posts: 40
Joined: Tue Feb 01, 2005 5:55 pm

Postby Zeidoo » Wed Mar 16, 2005 11:08 am

SUCESS!!!

I've finally been able to program the Pic18f2550 using a JDM programmer http://www.jdm.homepage.dk/newpic.htm

with the WinPic800, just make sure you put a 4.7K to 10k resitor between PGM to GND.
Zeidoo
 
Posts: 1
Joined: Wed Mar 16, 2005 11:05 am

Postby Zac » Thu Mar 17, 2005 1:54 am

What programmer did you use and what did you select under WinPic800?
Zac
 
Posts: 15
Joined: Tue Feb 01, 2005 7:58 pm

Postby newfound » Thu Mar 17, 2005 2:19 am

Zeidoo wrote:SUCESS!!!

I've finally been able to program the Pic18f2550 using a JDM programmer http://www.jdm.homepage.dk/newpic.htm

with the WinPic800, just make sure you put a 4.7K to 10k resitor between PGM to GND.


Also make sure VPP is not greater than 12.5V

There are many programmers with VPP locked a 13V and this is above the maximum specified limit for this PIC.


Regards,

Jim Robertson
NEWFOUND ELECTRONICS
newfound
 
Posts: 33
Joined: Sun Feb 27, 2005 8:09 pm


Return to PIC Microcontrollers - Software and Hardware

Who is online

Users browsing this forum: No registered users and 1 guest