At 10:14 AM 2/23/02 +0000, you wrote: >I have no experience of using EEPROM to hold program code but it sounds messy. I've done a tokenized custom language that was interpreted by a program in a micro. The data was stored in a SEEPROM, SPI type for fast access, and interpreted by runtime code. Kind of like a Basic Stamp but totally different application-specific language. Really three or four projects- design the language, write the compiler (in Borland C), write the interpreter (in assembler), and finally write the program (in the custom language) to do the job. It took about 2 months total, plus the hardware design and system design. I'd suggest staying with the PIC only as long as you are comfortably (no more than 75% or so) within the memory size (to leave room for the inevitable feature creep and changes). Don't forget that 8K on a PIC is about 14K bytes. If you really need more like 32K than 16-18K, I'd suggest the 8051 series that has lots of memory and is reasonably priced. Or the MSP430 (60K, 16bits) for a reasonable price. The PIC17C756a has 16k words (28K bytes) of memory, and lots of I/O, but is OTP only. It's a useful micro, nice and fast. A bit expensive, and you need a socket adapter to program it with a Picstart+. BTW, if a lot of your memory is actually strings for display, storing those in EEPROM is not a bad idea. You could also use it as a way of making the display language easily changeable. But, be sure to take extra extra extra precautions in any of these cases to make sure the data is secure in your EEPROM. You don't want factory returns because of something silly like that. The amount of controller you're talking about would probably take less than 8K bytes of assembler code, but HLL might stretch it to 8K words, plus if you have a lot of alphanumeric display strings, it might be a lot more. Just guesses (but based on quite a few years of designing industrial instrumentation). Best regards, >Good luck. > >Nigel > > >On Friday, February 22, 2002 12:09 PM, Mohit Mahajan [SMTP:m0h1t@YAHOO.CO.IN] >wrote: > > Hi, > > > > I'm new to PIC. I am planning to implement a control system using > PIC16F877. > > I'll be using a keypad, LCD, almost all I/O pins (to input the control > > variables, operate four switches, PWM etc.). > > > > The code for all this is going to be large, no doubt. A PIC expert could > > optimise it to fit in the 8K ROM of the PIC, but as I'm a novice I'm not > > sure I'll be able to do so. In any case, since I'll either use JAL or a > > C-compiler, the code will be more than 8K. So now my question is: > > > > Can we interface an EEPROM [specifically: 24LC256, 32Kbyte Flash EEPROM > > (I2C)] to the PIC in such a way that the firmware code can be written > in the > > EEPROM, from where the PIC can fetch it in packets and run it? > > > > It doesn't matter to my application if the effective operating speed > > decreases, because I'll be controlling pH, temperature, dissolved oxygen > > (all these take few minutes to adjust). > > > > If no, and the firmware is greater than 8K, then what should I do? Is there > > anything available with Microchip that has a larger (flash) ROM and as many > > I/O as the PIC 16F877? I've read about PIC18F242, but it still isn't out in > > the market. > > > > Peace, > > Mohit Mahajan. > > > > > > _________________________________________________________ > > Do You Yahoo!? > > Get your free @yahoo.com address at http://mail.yahoo.com > > > > > > -- > > http://www.piclist.com hint: The PICList is archived three different > > ways. See http://www.piclist.com/#archives for details. > >-- >http://www.piclist.com hint: The PICList is archived three different >ways. See http://www.piclist.com/#archives for details. Spehro Pefhany --"it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com 9/11 United we Stand -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.