![]() ![]() It looks to me from sheet 3 that the max number of instructions the chip will hold in program memory is 368 8-bit bytes. Quote from: Militoy on January 11, 2007, 02:54:09 PM On sheet 12 of the datasheet for the PIC16F877, you'll see that the General Purpose Registers are split up into 4 "banks", each containing up to 7Fh (128 bytes) of 8-bit instructions. As a side note - you are probably already aware that programming in assembly instead of a higher-level language like C will save you memory space. I will say that I've used the "little brothers" of this processor, including the part I mentioned above (with even less memory space), for some fairly complex controllers in military systems - so depending on what you are trying to achieve, you may have plenty of space. That can work for you, as well as against you. This chip also has an instruction set of only 35 1-word instructions. It will take a better programmer than me to tell you what you can achieve with 256 instruction registers - I'm much more involved with and adept at hardware than firmware, and when I run out of I/O pins (which happens to me way faster than memory) I tend to just add another processor to my bus. So from what I can gather, with this compiler, you can use 2/3 of available memory for this device. The compiler seems to be limited to using 256 bytes. ![]() On sheet 12 of the datasheet for the PIC16F877, you'll see that the General Purpose Registers are split up into 4 "banks", each containing up to 7Fh (128 bytes) of 8-bit instructions. ![]()
0 Comments
Leave a Reply. |