14 I/O's, pull down sips and 4 resistors to drive a 3 1/2 digit, plus icons, glass with no other support chips. The PIC directly drives the LCD... there is no LCD controller. Since the LCD controller is the major cost in most LCDs, extending this code to support larger matrix type LCDs could be a VERY big deal in the PIC open source world.
Schematic, [very well] documented and functional assembler code, and a few odd files that may or may not interest you in regards to an environmental chamber setup and data collection all created with numerous pic16C74A. The code is best viewed with tab settings of 8 spaces apart.
Two handy features of the LCD code are that you can adjust, via a register value, the segment refresh rate. Also done via another register value, is the LCD data refresh rate. I have ran different LCD glass' from 25 to 80Hz pending on their persistence.
In addition, between interrupts, this unit's reads -100 to +100 Deg C (Deg C/F toggle momentary switch included) with a + - 0.2 Deg C reading accuracy across, yes, the whole range (RTD & precision Vref). I have also left some hints on how I manipulate thermister tables.
Also has my single pin communication output [my proprietary protocol (a spin-off of arcnet)] which send data external to a hand-held (pic also) unit for logging. This unit requires no calibration. I have also left some hints on this single i/o (simplex for this example) line data comm.
Micro powered and sleep mode utility are additional features.
See also: