Jim, Extending the abilities of a processor with external logic (in this case another processor) is a time honored technique. Multiprocessor systems are common, however there are several points worth considering. 1. Cost - not too important for a "one-of", potentially critical for a low-margin, high-volume design. 2. Complexity - Is the additional hardware complexity worth the savings in an easier software design, or vise-versa? 3. Was the first processor a poor choice for this design? Should you have chosen one with more memory/functions? What's the impact of switching processors now (you said it was written in 'C', so it should be relatively portable). 4. Given the choice of the first processor, have you reviewed your symbol table and tried to determine if there are any functions that are really program space intensive? If so, can you figure an alternate method of performing the required function? Exactly how short are you on memory - 10%, 50%, etc.? That would give you a clue as to the possibility of crunching the code to fit. Ken ----- Original Message ----- From: "Jim Franklin" To: Sent: Monday, February 16, 2004 6:05 PM Subject: [PIC:] Not about Olin, but a PIC question :) > Hi, > > I am working on a project around an 877A PIC. > Having started using assembler on the coding of it, I remembered how > laborious a task > it was. So I bought firstly the C compiler from PICant's website, but I > outgrew that fairly quickly (although I must say it's pretty good for the > price). > I am now using the PICC C Compiler and find this an excellent tool. > > As I am trying to shoehorn the project into an 877A, would you guys out > there recommend using a second PIC (F84A or something - i'm using this as > it's in my parts box) as a slave to the "master" 877A. > > I have an LCD display on the slave communicating via serial to the master > PIC. > I found that this saves me ports on the master and a whole heap of code, LCD > routines etc. > On startup, the slave writes a string to the first line of the LCD. The > message is pulled from the first 16 bytes of the internal EEprom (or up to > the first 0x00 found) > > I have created a pseudo command language like this > Mxxyy <-- Move to row xx, column yy > Dzzzzzzzzz (up to 20 chars) <-- display the message zzzz... onto the current > LCD location > X <-- Clear display > Wxxyy <-- Write yy to location xx in the internal eeprom > Rxx <-- return value in location of xx to the serial port as hex chars > Z150163 <-- reset the eeprom byte 0 to 0xff (seeminly random sequence-a > magic date (my birthday)). > > Ok the question, does this make sense, or would you guys suggest something > else? have I lost the plot? > > I have already coded and tested the slave PIC but I thought, before i go too > far down this route, is there a better way? > > (incidentally I *have* been called an idiot before, sometimes it was > offensive, sometimes not, sometimes deservedly, depends upon their mood, and > mine). > > Regards > Jim > > -- > http://www.piclist.com hint: PICList Posts must start with ONE topic: > [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads > -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads