<p>Does anybody know any resources on this subject?</p>

<p>I'm developing an embedded application for 2x16 LCD display. Ideally I would like to have a general (display independent) framework, that could be used virtually on any display - one or more segment(s) LED, 1x16, 2x16 LCD, etc.
Also would like to learn about general guidelines for such small user interfaces.</p>

<p>EDIT: I'm interested in high-level functionality, how to organize the user interface - the menus, options and the user input. We don't dicuss the LCD controller issues here.</p>

If you're referring to a 2 line by 16 character display, they'll generally be pixel based and will have an integrated controller as they're much more complicated to control.  The 2x16 and 4x16 LCD devices I've used in the past actually have a nibble-wide interface, and the commands are sent to the device in
```
<command>[<address>][<data>]
```
style, with the number of nibbles required for a valid command being dictated by the command itself.  If would be helpful if you link to the target device as there really doesn't seem to be a standard from manufacturer to manufacturer.
With respect to segmented LEDs and LCDs, there is a standard layout for so-called seven segment devices that started back with the pixie tubes.  Here's a diagram that shows this segmentation:
```
```
a
  ---
f| g |b
  ---
e|   |c
  ---
   d
```
```
Another question is whether you want to drive the display directly or will use a controller IC.  It's pretty easy to drive a seven-segment LED as they generally have a common cathode or anode and you simply need to be able to sink or source enough current.  Driving an LCD directly is a little more complicated as the polarity applied to a pixel or segment has to constantly flipped to avoid damage to the device.  It's much easier to find a controller with an integrated clock that performs this function.