Searching \ for '16f877 Data Memory' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/microchip/memory.htm?key=data
Search entire site for: '16f877 Data Memory'.

Truncated match.
PICList Thread
'16f877 Data Memory'
2000\05\03@144026 by Josh Koffman

flavicon
face
Greetings all.
I have yet another question. Someday I hope to be able to ask non stupid
questions, like that whole 24 bit adc thread...wow that's over my head.
Anyways :)

I am curious as to whether the data storage memory on the 16f877 can be
programmed in a programmer. I think the memory on a 16f84 can. The
reason I want to do this is in my current project, eventually the user
will be able to store information to the eeprom for later recall. I am
trying to build this project in little steps so that when I get to the
end and it doesn't work, I will know what parts work, and hopefully be
able to solve everything. I don't want to implement the eeprom writing
yet, but I want to test to see if I can read it properly and act on the
information I get back from it. Is there any way to store data in the
eeprom without having a whole bunch of eeprom writes at the beginning of
my program? That just seems like it will take up a whole bunch of code,
plus if it doesn't work I won't know where my problem is, in the reading
or the writing. Thank you in advance for your help!

Josh Koffman
spam_OUTjoshyTakeThisOuTspammb.sympatico.ca

2000\05\03@144429 by Andrew Kunz

flavicon
face
Yes, it can.  Use the same procedure for declaring the data as you would for a
'84.  The only difference is that you have a lot bigger EEPROM internally now.

Andy










Josh Koffman <.....joshyKILLspamspam@spam@MB.SYMPATICO.CA> on 05/03/2000 02:27:35 PM

Please respond to pic microcontroller discussion list <PICLISTspamKILLspamMITVMA.MIT.EDU>








To:      .....PICLISTKILLspamspam.....MITVMA.MIT.EDU

cc:      (bcc: Andrew Kunz/TDI_NOTES)



Subject: 16f877 Data Memory








Greetings all.
I have yet another question. Someday I hope to be able to ask non stupid
questions, like that whole 24 bit adc thread...wow that's over my head.
Anyways :)

I am curious as to whether the data storage memory on the 16f877 can be
programmed in a programmer. I think the memory on a 16f84 can. The
reason I want to do this is in my current project, eventually the user
will be able to store information to the eeprom for later recall. I am
trying to build this project in little steps so that when I get to the
end and it doesn't work, I will know what parts work, and hopefully be
able to solve everything. I don't want to implement the eeprom writing
yet, but I want to test to see if I can read it properly and act on the
information I get back from it. Is there any way to store data in the
eeprom without having a whole bunch of eeprom writes at the beginning of
my program? That just seems like it will take up a whole bunch of code,
plus if it doesn't work I won't know where my problem is, in the reading
or the writing. Thank you in advance for your help!

Josh Koffman
EraseMEjoshyspam_OUTspamTakeThisOuTmb.sympatico.ca

2000\05\03@145647 by Josh Koffman

flavicon
face
Andrew Kunz wrote:
>
> Yes, it can.  Use the same procedure for declaring the data as you would for a
> '84.  The only difference is that you have a lot bigger EEPROM internally now.

Andrew,
Thank you for the quick response. I was playing around with P16Pro, and
I can modify the memory locations one by one. Would these be programmed
at the same time I program the main memory? Also do you happen to know
the proper format to write a file will all those values in it? Thank you
very much for all your help.

Josh Koffman
joshyspamspam_OUTmb.sympatico.ca

2000\05\03@150259 by Andrew Kunz

flavicon
face
It's Andy, first off.  Our IS dept doesn't think so, though...

They are programmed as part of the main memory with every programmer that I know
of.

The proper format is determined by your burner/compiler/assembler, but basically
it is ordinary data stored at some address (I forget what address that is).
Microchip has a standard for defining where EEPROM data is ORG'd, and I know
that Carmacon, HiTech, ByteCraft, Tech-Tools, and Microchip all follow that
standard.  I don't know about anybody else.

Best way to find out is to copy a '84 sample.

Andy










Josh Koffman <@spam@joshyKILLspamspamMB.SYMPATICO.CA> on 05/03/2000 02:42:49 PM

Please respond to pic microcontroller discussion list <KILLspamPICLISTKILLspamspamMITVMA.MIT.EDU>








To:      RemoveMEPICLISTTakeThisOuTspamMITVMA.MIT.EDU

cc:      (bcc: Andrew Kunz/TDI_NOTES)



Subject: Re: 16f877 Data Memory








Andrew Kunz wrote:
>
> Yes, it can.  Use the same procedure for declaring the data as you would for a
> '84.  The only difference is that you have a lot bigger EEPROM internally now.

Andrew,
Thank you for the quick response. I was playing around with P16Pro, and
I can modify the memory locations one by one. Would these be programmed
at the same time I program the main memory? Also do you happen to know
the proper format to write a file will all those values in it? Thank you
very much for all your help.

Josh Koffman
spamBeGonejoshyspamBeGonespammb.sympatico.ca

2000\05\03@151309 by Josh Koffman

flavicon
face
Andy,

> It's Andy, first off.  Our IS dept doesn't think so, though...
Sorry about that :)

> They are programmed as part of the main memory with every programmer that I know
> of.
>
> The proper format is determined by your burner/compiler/assembler, but basically
> it is ordinary data stored at some address (I forget what address that is).
> Microchip has a standard for defining where EEPROM data is ORG'd, and I know
> that Carmacon, HiTech, ByteCraft, Tech-Tools, and Microchip all follow that
> standard.  I don't know about anybody else.

I see...I think I understand now. Thank you very much for your help!

Josh Koffman
TakeThisOuTjoshyEraseMEspamspam_OUTmb.sympatico.ca

2000\05\03@192053 by Tony Nixon

flavicon
picon face
Josh Koffman wrote:
>
> Andrew Kunz wrote:
> >
> > Yes, it can.  Use the same procedure for declaring the data as you would for a
> > '84.  The only difference is that you have a lot bigger EEPROM internally now.
>
> Andrew,
> Thank you for the quick response. I was playing around with P16Pro, and
> I can modify the memory locations one by one. Would these be programmed
> at the same time I program the main memory? Also do you happen to know
> the proper format to write a file will all those values in it? Thank you
> very much for all your help.
>
> Josh Koffman
> RemoveMEjoshyspamTakeThisOuTmb.sympatico.ca

Have a look at DT type saver. You can enter a list a values and have it
automatically create an EEPROM HEX file (INHX8M), even paste data from
EXCEL and the like.

http://www.picnpoke.com/demo/dtimg.html

--
Best regards

Tony

http://www.picnpoke.com
salesEraseMEspam.....picnpoke.com

2000\05\04@154427 by Neil Parkin

flavicon
face
Josh,

you can integrate the programming of the 16F877 EEPROM data memory with the
normal device programming by adding something along the lines of this at the
end of your code:-


       org 0x2100
       DW 0x01
       DW 0x02
       DW 0x03
       DW 0x04
       DW 0x05
       DW 0x04
       DW 0x03
       DW 0x02
       DW 0x01

Neil

       {Original Message removed}

2000\05\04@161128 by Josh Koffman

flavicon
face
Neil Parkin wrote:
>
> Josh,
>
> you can integrate the programming of the 16F877 EEPROM data memory with the
> normal device programming by adding something along the lines of this at the
> end of your code:-
>
>         org 0x2100
>         DW 0x01
>         DW 0x02
>         DW 0x03
>         DW 0x04
>         DW 0x05
>         DW 0x04
>         DW 0x03
>         DW 0x02
>         DW 0x01
>

Neil,
Thank you for you response. What does the DW command do? I'm assuming it
does something like assigning the value to that memory location then
incrementing the counter?

Thanks again for your help
Josh Koffman
EraseMEjoshyspammb.sympatico.ca

2000\05\05@044006 by Neil Parkin

flavicon
face
Hello Again Josh,

I'm new to microcontrollers, but I assume you have mplab installed. Just
select Help, MPASM Help and then enter DW in the Find dialog.

As well as help relating specifically to the DW directive, this will also
result in matches for the other Directives, such as DE (Define EEPROM Data).

Section 5.3 "Directive Summary" is a good place to start (and is also
returned in the above search).

Regards, Neil

       {Original Message removed}

2000\05\05@050758 by Kbek Tony

flavicon
face
>>         org 0x2100
>>         DW 0x01
>>         DW 0x02
>>         DW 0x03
>>         DW 0x04
>>         DW 0x05
>>         DW 0x04
>>         DW 0x03
>>         DW 0x02
>>         DW 0x01
>>

>Neil,
>Thank you for you response. What does the DW command do? I'm assuming
it
>does something like assigning the value to that memory location then
>incrementing the counter?

>From the manual:
DW-Declare data of one word
Reserve program memory for words of data, initializing that space to
specific
values. .... ..Values are stored in successive memory locations and the
location
counter is incremented by one.

Example:
DW      0x01
DW      "A string in program mem"

See also ( NOT for ee ram but for 'normal' prog mem )

DT - Define table
Generates a series of retlw instrcutions one for each 8 bit value.
DT      "A String"
Will generate:
RETLW   'A'
RETLW   ' '
RETLW   'S'
..
etc..

/Tony






Tony KŸbek, Flintab AB            
ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓ
E-mail: RemoveMEtony.kubekEraseMEspamEraseMEflintab.com
ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓ

2000\05\05@141446 by Josh Koffman

flavicon
face
Neil Parkin wrote:
>
> Hello Again Josh,
>
> I'm new to microcontrollers, but I assume you have mplab installed. Just
> select Help, MPASM Help and then enter DW in the Find dialog.
>
> As well as help relating specifically to the DW directive, this will also
> result in matches for the other Directives, such as DE (Define EEPROM Data).
>
> Section 5.3 "Directive Summary" is a good place to start (and is also
> returned in the above search).
>
> Regards, Neil

Thank you Neil. Just so I'm sure I understand, because this is a
compiler directive, it results in code that is only programmed and not
executed by the PIC? Sort of like the __CONFIG directive?

Josh Koffman
RemoveMEjoshyspam_OUTspamKILLspammb.sympatico.ca

2000\05\08@084046 by Neil Parkin

flavicon
face
Josh,

As far as I am aware, all you are doing is implicitly instructing MPASM to
place certain bytes at a particular memory location, which in this case
(0x2100) relates to data EEPROM. (and hence wouldn't be interpreted as
instructions.

Regards, Neil

       {Original Message removed}

2000\05\08@154218 by Josh Koffman

flavicon
face
Neil Parkin wrote:
>
> Josh,
>
> As far as I am aware, all you are doing is implicitly instructing MPASM to
> place certain bytes at a particular memory location, which in this case
> (0x2100) relates to data EEPROM. (and hence wouldn't be interpreted as
> instructions.
>
> Regards, Neil


Neil,
I think I understand now. Just out of curiosity, is the Data EEPROM
physically separate from the Program memory? If they are, how are they
both sort of linked into one continuous block that can be addressed?

Thanks for you help
Josh Koffman
RemoveMEjoshyTakeThisOuTspamspammb.sympatico.ca

2000\05\09@073817 by Byron A Jeff

face picon face
On Mon, May 08, 2000 at 02:29:10PM -0500, Josh Koffman wrote:
> Neil Parkin wrote:
> >
> > Josh,
> >
> > As far as I am aware, all you are doing is implicitly instructing MPASM to
> > place certain bytes at a particular memory location, which in this case
> > (0x2100) relates to data EEPROM. (and hence wouldn't be interpreted as
> > instructions.
> >
> > Regards, Neil
>
>
> Neil,
> I think I understand now. Just out of curiosity, is the Data EEPROM
> physically separate from the Program memory?

Yes. Note that the endurance of the two memories are several of orders of
magnitude differed (millions for the data memory, much less for the program).

> If they are, how are they
> both sort of linked into one continuous block that can be addressed?

They're not. The 0x2100 is an agreement between the assembler and the
programmer. When the programmer sees 0x2100 addresses it sends program
data memory commands instead of program program memory commands.

If you wrote internal software to program them, they code is different IIRC.

BAJ

2000\05\16@062024 by paulb

flavicon
face
Hello Josh.

> Thank you Neil. Just so I'm sure I understand, because this is a
> compiler directive, it results in code that is only programmed and not
> executed by the PIC?

 No.  You can if you wish define code using the DW directive and have
the PIC execute it.  You would have to supply data values corresponding
to compiled instructions of course, performing assembly separately.

 You might for example take a hex dump of some code and edit out a part
of it, chop it up into values and insert these into DW statements (very
easy to do with a macro editor) and put them into another assembly file,
either as part or the whole file.

 Not sure why, but...
--
 Cheers,
       Paul B.

More... (looser matching)
- Last day of these posts
- In 2000 , 2001 only
- Today
- New search...