A really useful engine . . .
In this chapter, we’ll look at the ATMEL AVR processor. Like the PIC, this processor family is a range of completely self-contained computers on chips. They are ideally suited to any sort of small control or monitoring application. They include a range of built-in peripherals and also have the capability of being expanded off-chip for additional functionality.
Like the PIC, the AVR is a RISC processor. Of the two architectures, the AVR is the fastest in operation and arguably the easiest for which to write code, in my personal experience. The PIC and AVR both approach single-cycle instruction execution. However, I find that the AVR has a more versatile internal architecture, and therefore you actually get more throughput with it. If I were looking for a processor for a small-scale embedded application, the AVR would be my first port of call.
In this chapter, I will look at the basics of creating computer hardware by designing a small computer based on the AVR, the ATtiny15. We’ll also see how you can download code into an AVR-based computer and how it can be reprogrammed in-circuit. From there, we’ll go on to look at some larger AVR processors, with a range of capabilities.
Later in the chapter, we’re going to look at interfacing memory (and peripherals) to a processor using its address, data, and control buses. For most processors, this is the primary method of interfacing, and therefore the range of memory ...