I've always enjoyed programming small microprocessors. For many years, most of my projects were based on the Motorola 68HC11; I was familiar with the instruction
set from my MC6800 and MC6809 days and the processor plenty of on-board resources. The 68HC11 is an old design and not suited for new projects, so
I started to look for a simple processor in a standard DIP package (or small surface mount).
I tried the Microchip PIC processor (in particular, the 16C84 and 16F84) and while they were fast, cheap and small, I just couldn't get into their baroque assembly language and
architecture.
In 2002, I decided to explore the
Atmel AVR series. The AVR's architecture and assembly language have some commonality with the
68HC11, so I had no trouble in learning it.
I bought the Atmel STK500 development board from
Digikey, a sampling of some AVRs and started exploring.
For my first "real" AVR project, I decided to port my LCDTemper8 program for the 68HC11. Here are the results.