gnupic: Thread: PIC16F877


[<<] [<] Page 1 of 1 [>] [>>]
Subject: PIC16F877
From: Philip Balister ####@####.####
Date: 5 Jan 2003 16:34:25 -0000
Message-Id: <20030105112702.E15207@nemesis.maddog.net>

I am thinking about doing a project using a SMT 16F877 part. This
means I need to program it in circuit. From a quick read, I believe
it is possible to program this part after it is installed in the final circuit
by correctly setting up four pins or so. And that there is Linux software
available for this.

Am I thinking correctly? Any gotchas to this approach?

Philip
Subject: Re: PIC16F877
From: Declan Moriarty ####@####.####
Date: 6 Jan 2003 10:02:27 -0000
Message-Id: <03010609545301.00435@genius.chateau.dec>

On Sunday 05 January 2003 16:27, somebody wrote
> I am thinking about doing a project using a SMT 16F877 part. This
> means I need to program it in circuit. From a quick read, I believe
> it is possible to program this part after it is installed in the
> final circuit by correctly setting up four pins or so. And that there
> is Linux software available for this.
>
> Am I thinking correctly? Any gotchas to this approach?
>
> Philip

Gotcha no. 1.  Microchip now prefer new designs to use the 16f877a, I 
am told. The 16f877 is 'no longer reccomended' for new designs.

You can use plcc parts with no gotchas - just an adapter for your 
picstart or whatever you use. Even I did that.

For the qfp part, there are gotchas all over the place. What you save 
with these is the plcc socket through holes. But there are smt plcc 
sockets. 

 The gotchas I spotted were
* Config word settings (LVP stuff). Security goes west
* First instruction in your code to be a nop (enables debug, I think)
I think you need access to 4 pins (or 3 & earth). You would want pads 
somewhere with vias, or a little plug
* I set up this way and the bloody thing went pulsing this one pin and 
looking for a program to run to be input to it. If I hadn't spotted it 
by chance... more hair would have been torn out.

In short you can make it happen if you read enough and really want or 
have to. I would go plcc. Buy/make  the adapter & extractor for plcc 
sockets and you'll never look back

-- 
	Regards,

	Declan Moriarty
Subject: Re: PIC16F877
From: Snail Instruments ####@####.####
Date: 6 Jan 2003 14:44:00 -0000
Message-Id: <3.0.6.16.20030106125045.36d76f40@pop.iol.cz>

Just in case - I have some stock of the PIC16F877 in QFP and PLCC package. More info at

http://www.vitrum.cz/snail/eng/picsale.htm

Best regards,

Josef


Subject: Re: PIC16F877
From: Ulrich Dziergwa ####@####.####
Date: 6 Jan 2003 19:27:02 -0000
Message-Id: <3E19D68A.701@web.de>

Philip Balister wrote:
 > I am thinking about doing a project using a SMT 16F877 part. This means
 > I need to program it in circuit. From a quick read, I believe it is
 > possible to program this part after it is installed in the final
 > circuit by correctly setting up four pins or so. And that there is
 > Linux software available for this.
 >
 > Am I thinking correctly? Any gotchas to this approach?
 >
 > Philip


Hi Philip

I have done this with a 16F876, should be the same with the 877(a). For
programming and debugging with an ICD you need RB6 and RB7, a connection
to MCLR, to GND and to VCC. There are some app. notes how to use the two
port pins for both programming and as ports, but I used them only for
programming. To make the handling easier, I put an RJ11 socket on my
board and use a short strait thru cable to connect it with the ICD. If I
want to debug with MPLAB, I enable debugging and the debugging code is
automatically inserted by the programmer. When I'm finished with that (I
know, debugging is never finished) I program all the boards without
debugging support.
I have seen a design, where the two programm pins RB6 and RB7 share the
pins of a connector, which is used by an I2C bus. During programming the 
I2C bus is never used and vice versa.
I would not recommend to put a PLCC device very often in and out of a 
normal socket because leads are easy bent. The programming sockets for 
PLCCs are realy expensive. If you must use the programming pins in your 
design and the tricks for using for both don't work for you, you can use 
a small double pole switch to isolate your application from the 
programmer, but you will loose the debugging support, which is realy 
similar to an ICE.

Regards Ulrich

Subject: PIC16F877
From: "Zero Code" ####@####.####
Date: 20 Aug 2003 18:57:56 -0000
Message-Id: <000601c36752$7fc211b0$95deff01@zeroxp>

I used the same system to display ASCII bytes received, but my own seems not to work, even at 2400bps....
Did you solve the problem in the meantime?

From: Rick Mann 
Date: Sat, 28 Dec 2002 13:14:14 -0800 

--------------------------------------------------------------------------------

Hi. I'm trying to get a PIC16F877 to work at 9600 baud. It works fine at
2400, with BRGH=0, but I can't seem to get reliable operation at 9600 with
BRGH=1.

I thought I read somewhere that one shouldn't even try to use BRGH=1, but
all of the examples I've seen on the Microchip website and Piclist.com seem
to do it.

FWIW, it seemed to work better when the SPRG value was set to 26 instead of
25, the value everything says I should use.

I have a MAX232 from TI between the PIC and the PC. The handshaking lines
are all hard-wired.

I try to send ascii '0' through '9' from my terminal program, and display
those values on 8 LEDs. At 2400 baud, it works great. At 9600, I get
incorrect (although consistently) values.

Any ideas? Thanks!

-- 
Rick


Subject: Re: PIC16F877
From: Rick Mann ####@####.####
Date: 20 Aug 2003 21:31:40 -0000
Message-Id: <BB693E20.7BDB%rmann@latencyzero.com>

> I used the same system to display ASCII bytes received, but my own seems not
> to work, even at 2400bps....
> Did you solve the problem in the meantime?

Gosh, that was so long ago. I don't think I ever got it to work correctly.
I'm sorry I can't be more helpful.

-- 
Rick


Subject: Re: PIC16F877
From: Tom Jennings ####@####.####
Date: 22 Aug 2003 05:01:59 -0000
Message-Id: <1061530849.1739.4.camel@fiche.home.wps.com>

On Wed, 2003-08-20 at 12:37, Zero Code wrote:
> I used the same system to display ASCII bytes received, but my own seems not to work, even at 2400bps....
> Did you solve the problem in the meantime?

I'm using the UART in the 16f628a at 115,200 baud without problems. The
trick is to use a crystal that's a multiple of 300... 18.432 MHz is what
I use. I also couldn't get decent 9600 bits/sec with a 20 MHz xtal...



> 
> From: Rick Mann 
> Date: Sat, 28 Dec 2002 13:14:14 -0800 
> 
> --------------------------------------------------------------------------------
> 
> Hi. I'm trying to get a PIC16F877 to work at 9600 baud. It works fine at
> 2400, with BRGH=0, but I can't seem to get reliable operation at 9600 with
> BRGH=1.
> 
> I thought I read somewhere that one shouldn't even try to use BRGH=1, but
> all of the examples I've seen on the Microchip website and Piclist.com seem
> to do it.
> 
> FWIW, it seemed to work better when the SPRG value was set to 26 instead of
> 25, the value everything says I should use.
> 
> I have a MAX232 from TI between the PIC and the PC. The handshaking lines
> are all hard-wired.
> 
> I try to send ascii '0' through '9' from my terminal program, and display
> those values on 8 LEDs. At 2400 baud, it works great. At 9600, I get
> incorrect (although consistently) values.
> 
> Any ideas? Thanks!
> 
> -- 
> Rick
> 
> 


[<<] [<] Page 1 of 1 [>] [>>]


Powered by ezmlm-browse 0.20.