Technical Resources

Since I'm really not sure how this website is ultimately going to be structured it would be a good idea to link only to this index page.   There is a good possibility that the location of some of the reference material will be moved as the website develops.

Character Based LCD Modules

These are the LCD displays that use an Hitachi HD44780 controller (or derivative).

LCD Initialization
How to reliably initialize the LCD controller according to the manufacturer's recommendations.

LCD Addressing
How to understand the curious addressing scheme used by these modules.

LCD Programming Examples
Fully commented programming examples in Assembly Language, C, and the Arduino IDE implementation of C.
  Four-bit interface using software time delays.
  Four-bit interface using the busy flag.
  Eight-bit interface using software time delays.
  Eight-bit interface using the busy flag.


An improved LiquidCrystal library
The LiquidCrystal library written by Limor Fried (aka LadyAda) and incorporated in Arduino v0017 has resolved the problems present in the earlier versions, so most of my material is now obsolete and has been removed.   I have not deleted this link or the page it points to because they were referenced in several forums and I don't want to create dead links.   You can follow this link for some information on what those earlier problems were.

An expanded ASCII chart
There's nothing wrong with the 'official' Arduino ASCII chart except that it is a bit sparse, but this one, which is in the same format, has a lot more information.


A handy Decimal - Binary - Octal - Hex - ASCII Conversion Chart

Atmel ATmega Subsystem Diagrams

All of these diagrams are probably suitable for most of the ATmega devices regardless of the device number (if any) in the title.   I am removing specific device numbers from the titles as I revise the diagrams.

Reference Diagrams For Programmers
External Interrupts
Pin Change Interrupts
Timer/Counter0 Overflow
Timer/Counter0 Compare Match A
Timer/Counter1 Compare Match A
Timer/Counter1 Compare Match B
Timer/Counter2 Overflow
Timer/Counter2 Compare Match A
Timer/Counter2 Compare Match B
Analog to Digital Converter

Atmel ATmega Miscellaneous Info

ATMEL ATmega Miscellaneous Info For Programmers
Memory Map
SRAM Data Memory
Timer Data with 16MHz clock

Atmel 8-bit AVR Instruction Set Info

Reference Diagrams For Programmers
8-Bit AVR Rotate and Shift Instructions
8-Bit AVR Conditional Branch Instructions

Motorola 68HC11 Subsystem Diagrams

Reference Diagrams For Programmers
68HC11 Analog to Digital Converter
68HC11 Free Running Counter
68HC11 Input Capture
68HC11 Output Compare
68HC11 Pulse Accumulator
68HC11 Real Time Interrupt
68HC11 Serial Peripheral Interface
68HC11 Timer Overflow Interrupt