PDA

View Full Version : problem with pic16f877a !!!



ibra
- 10th December 2007, 16:17
i try to use pic16f877a for the first time..

i connected the following :

1- 10k resistor to pin 1
2- +5v to pin 11
3- GND to pin 12
4- 4MHz crystal to pin 13,14 just

and i tryed to light a led on portb.0 by this small code:

DEFINE OSC 4
TRISB = %11111110

MAIN:

PORTB.0 = 0

PUASE 200

TOGGLE PORTB.0

PUASE 200

GOTO MAIN

i programmed this code into pic16f84a and worked very well.

but in pic16f877a , there is no any output , led is off for ever.
i changed the crystal, and the voltage regulator, and the problem is still !!!

what is the probelm??

sayzer
- 10th December 2007, 16:28
Take a look at the schematic on the following thread @ post#3.

http://www.picbasic.co.uk/forum/showthread.php?t=7354


Have your Vss, Vcc pins accordingly.


Edit:
BTW;

Only


TOGGLE PORTB.0
PUASE 200

will do the same job.

mister_e
- 10th December 2007, 16:51
yup but PAUSE 200 won't return any compilation error ;) Just kidding Sayzer!

mikendee
- 10th December 2007, 17:22
Hi Ibra,
I'm very new to this but have had to same problem. I think I was using PortA and had to set it to digital with ANSEL=0 for TOGGLE to work but

PortB.0 High
pause 200
Portb.0 Low

May also work. This shouldn't be the case here as PortB is already Digital.

The other thing could be if you had Low voltage Programming (LVP) enabled at programming.

You also have PortB.3 set as an input. This is also the PGM pin and if its not tied low the pic may keep resetting itself if the pin floats High.

See how you go.

Mike

mister_e
- 10th December 2007, 17:38
yup but, you really need to connect all Vdd and Vss, unless, it will give you some strange things... or simply don't work.

sayzer
- 10th December 2007, 18:00
yup but PAUSE 200 won't return any compilation error ;) Just kidding Sayzer!

oopps!
PUASE

just seen that.. It is in original post.

ibra
- 11th December 2007, 04:17
oh..sorry ..

i compiled code for PAUSE not PUASE ( just writing error )..



The other thing could be if you had Low voltage Programming (LVP) enabled at programming.

Mike

mikendee, i am new with pic16f877a, and i dont know what LVP means !!!, and how can i configure it ?

i programmed portb for output and tryed to put 2 picoF capacitors to the crystal but no result.
should i put a capacitor between Vdd,GND ?? if should what is its value?

ibra
- 11th December 2007, 04:19
yup but, you really need to connect all Vdd and Vss, unless, it will give you some strange things... or simply don't work.

i did ,,, no result...the pic still do nothing.

sayzer
- 11th December 2007, 07:15
ibra,

Did you look at the schematic on the link I posted above?

P.S. - 2pF cap on 4Mhz Xtall?

mister_e
- 11th December 2007, 15:02
@ __CONFIG _XT_OSC & _LVP_OFF
PORTB = 0
TRISB = %11111110

MAIN:
TOGGLE PORTB.0
PAUSE 200
GOTO MAIN

Presetting Configuration Fuses (PIC Defines) into your Program
http://www.picbasic.co.uk/forum/showthread.php?t=543

ibra
- 14th December 2007, 06:38
thank you all my pic worked well.