After some initial testing with a 14 pin 2kb flash device (MSP430g2231) running at 16Mhz it was obvious to get text output I would need alot more RAM than the measly 128bytes these tiny puppies house. Meet the MSP430F5438, If you ignore the errata sheet that's almost longer than the datasheet, these ICs pack alot in. 256kb of flash, 8kb RAM, 50+ IO pins and a stack of peripherals. I only really needed the extra RAM in this guy.
I had a spare IC and PCB from a previous project that's why I didn't use
a smaller IC. Did I mention the 5438 only comes in 80 and 100pin
variants? After wiring up the circuit as shown in the above schematic I set to work on the code.
Source code: Download
The code is fairly basic. the main display loop dumps the contents of a 9600byte buffer 4 bits at a time onto the LCD then goes to sleep. once woken up by the watchdog timer it repeats. During this sleep phase one could process information and store it in the display buffer.
Since there is probably not enough free CPU in this design to do heavy computation between screen refreshes I'll probably attempt to create a serial character LCD with this circuit. creating a 60 by 20 character terminal.