Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

Adding EEPROM to PIC16F877

Status
Not open for further replies.

guesswho

Junior Member level 3
Joined
Dec 16, 2002
Messages
26
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
126
pic16f877 external rom

hi all
I want to add external memory to PIC16F877.I have got to know that i can do using I2C EEPROM . Can ne1 tell me the details like

1. How much external memory can a PIC16F877 support?
2. How do i attach the memory?
3. Is there any other way to slove "NOT ENOUGH RAM" Problem?


Ne help will be highly appreciated.

Regards,
Guesswho
 

arturt134

Full Member level 2
Joined
Dec 31, 1999
Messages
125
Helped
8
Reputation
16
Reaction score
7
Trophy points
1,298
Location
Poland
Activity points
1,006
pic16f877 #device *=16

I don't know PIC controllers, but I2C EEPROMS are generally used for data storage. Because they have serial interface (connected to hardware or software i2c port in the controller), you don't have to connect i2c chips in normal adress space.
 

ee_freak

Junior Member level 2
Joined
May 28, 2001
Messages
23
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Location
somewhere in time
Activity points
146
adding external eeprom to pic16f877

1. If your "memory" mean RAM then I think that 16f877 doen't support external ram or rom,AFAIK.

2. If you just want extra data storage then you can connect up to 8 i2c EEPROMS to the i2c port.

3. The only way I can think of is to optimize your code. If you're using C compiler then you might have to play around with how you used variable. Also try to turn on optimize option. If you don't need to use a lot of memory all at once then you might be able to swap it to internal/external EEPROM.

If you REALLY need extra ram and cost doesn't matter then I'd suggest you to look at 18F series. 18F458 come with 768bytes ram and doesn't cost much more than 16F877 here. From data sheet, it's almost pin to pin compatible with 16f877. However you will need new tools to work with it.
 

DrShoe

Member level 1
Joined
Apr 16, 2001
Messages
41
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Netherlands
Activity points
304
reading external eeprom using pic16f877a

You need to set the 16bit pointers:

#device PIC16F877 *=16

If you already did you can add I2C ram (is faster than EEROM) but is more work to acces in your program.
 

ee_freak

Junior Member level 2
Joined
May 28, 2001
Messages
23
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Location
somewhere in time
Activity points
146
i2c eeprom write in pic16f877a

Hi Drshoe,

What compiler support it? Does it work with Hi-Tec C? I never know about that trick before. Thank you for your tips.
 

Sobakava

Full Member level 6
Joined
Mar 27, 2002
Messages
350
Helped
8
Reputation
16
Reaction score
8
Trophy points
1,298
Activity points
3,346
connect eeprom to pic16f877

you can also write and read internal flash program memory
during program execution. f877 has 8Kx14bit flash memory.
 
Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top