Text
PROGRAMMING AND CUSTOMIZING THE AVR MICROCONTROLLER
Contents
Chapter 1. Introduction
1.1. Microcontroller, Microcomputer or Microprocessor?
1.2. Do You Need a Microcontroller?
1.3. Why the Atmel's AVR Microcontroller?
1.4. Organization of This Book
1.5. Timing Diagram Conventions
Chapter 2. Microcontrollers
2.1. Microcontroller Architecture
2.2. Choosing a Microcontroller
2.3. Developing Applications with a Microcontroller
Chapter 3. The AVR RISC Microcontroller Architecture
3.1. Introduction
3.2. AVR Family Architecture
3.3. The Register File
3.4. The ALU
3.5. Memory Access and Instruction Execution
3.6. I/O Memory
3.7. The EEPROM
3.8. The I/O Ports
3.9. The SRAM
3.10. The Timer
3.11. The UART
3.12. The Interrupt Structure
3.13. The Internal Watchdog Timer
3.14. Power-Down Modes of Operation
3.15. Different Types of AVR Controller
Chapter 4. The AVR Instruction Set
4.1. Program and Data Addressing Modes
4.2. Arithmetic and Logic Instructions
4.3. Program Control Instruction
4.4. Data Transfer Instruction
4.5. Bit and Bit-Test Instruction
Chapter 5. AVR Hardware Design Issues
5.1. Power Source
5.2. Operating Clock Sources
5.3. Reset Circuit
Chapter 6. Hardware and Software Interfacing with the AVR
6.1. Beginner's Circuit
6.2. Lights and Switches
6.3. Stack Operation in AVR Processors
6.4. Implementing Combinational Logic
6.5. Connecting to AVR to the PC Serial Port
6.6. Expanding I/O
6.7. Interfacing Analog to Digital Converters
6.8. Interfacing Digital to Analog Converters
6.9. Interfacing LED Displays
6.10. Interfacing LCD Displays
6.11. Driving Relays with AVR
6.12. Stepper Motor Interface for the AVR
6.13. Interfacing to Serial EEPROM
6.14. Interfacing to a Real Time Clock
6.15. Arbitrary Waveform Generations
6.16. Accessing a Constants Table
6.17. A Switch-Case Implementation
6.18. Implementing a Finite State Machine
6.19. Generating Random Numbers
Chapter 7. Communication Links for the AVR Processor
7.1. Introduction
7.2. RS-232 Link
7.3. RS-422/423 Link
7.4. RS-485 Link
7.5. SPI and MICROWIRE bus
7.6. IIC Bus
7.7. PC Parallel Port
7.8. ISA Bus
7.9. Universal Serial Bus
7.10. IrDA data Link
7.11. CAN Bus
Chapter 8. AVR System Development Tools
8.1. Code Assembler
8.2. Code Simulator
8.3. Evaluation Boards
8.4. ICE200 AVR Emulator
8.5. The Device Programmer
8.6. AVR System Design with Component of the Shelf (COTS)
8.7. Code Development with a High Level Language
Chapter 9. Prototyping Techniques
9.1. Why Prototype?
9.2. OK, So You want a Protoype?
9.3. Tools to the Table
9.4. Steps for Prototyping
Chapter 10. AVR Project 1: Smart Dice (A Dice with an Attitude)
10.1. At a Glance
10.2. Introduction
10.3. Design Issues: Specifying the Requirement
10.4. Design Description
10.5. Possible Alternatives
10.6. Code Development
10.7. Facbrication
10.8. Testing
10.9. Usage
10.10. Power Consumption
10.11. Adapting the Circuit to an AT90S2343
Chapter 11. AVR Project 2: A Morse Keyer
11.1. At a Glance
11.2. Introduction
11.3. Design Specification
11.4. Design Description
11.5. Possible Alternatives
11.6. Fabrication
11.7. Design Code
11.8. Testing the System
Chapter 12. AVR Project 3: A Simple Dual-Channel Voltmeter
12.1. At a Glance
12.2. Introduction
12.3. Design Description
12.4. Usage
12.5. Fabrication
12.6. Design Code
Chapter 13. AVR Project 4: The Ubiquitous Kitchen Timer
13.1. At a Glance
13.2. Introduction
13.3. Design Description
13.4. Possible Alternatives
13.5. Fabrication
13.6. Design Code
13.7. Testing the System
Chapter 14. AVR Project 5: Radio Beacon Controller
14.1. At a Glance
14.2. Introduction
14.3. Design Specifications
14.4. Design Description
14.5. Fabrication
14.6. Design Code
14.7. Testing
Chapter 15. AVR Project 6: AstroDat (A Stand-Alone Data Acquisition System)
15.1. At a Glance
15.2. Introduction
15.3. Design Description for the SniffStick
15.4. Using the SniffStick
15.5. AstroDat: A Complete DAS for Astronomical Application
15.6. AstroDat User Interface
15.7. Design Description
15.8. System Development
15.9. Fabrication
15.10. Design Code
15.11. Data Readout
15.12. AstroDat User's Guide
Chapter 16. AVR Project 7: Security Dongle
16.1. At a Glance
16.2. Introduction
16.3. How to Bulid an Electronic Lock
16.4. Design Description
16.5. Possible Alternetives
16.6. Fabrication
16.7. Design Code
16.8. Testing
Chapter 17. AVR Project 8: A Pulse Frequency Counter with an RS-232 Interface
17.1. At a Glance
17.2. Introduction
17.3. How Does a Frequency Counter Work
17.4. How Does a Period Counter Work?
17.5. Design Description of an AVR-Processor-BAsed Frequency Counter
17.6. Usage
17.7. Fabrication
17.8. Design Code
17.9. Testing
Chapter 18. AVR Project 9: Sa-Re-Ga Follow Me: A Musical Toy
18.1. At a Glance
18.2. Introduction
18.3. Design Description
18.4. Fabrication
18.5. Design Code
Chapter 19. AVR Project 10: AVR Protoboard for Nuts
19.1. At a Glance
19.2. Introduction
19.3. Design Description
Chapter 20. Ideas for Projects
20.1. AT90S23443 Controller Based Code Authenticator
20.2. A CCD Camera Controller
20.3. Personal Temperatur Logger
20.4. Swipe Card Reader
20.5. IBM PC Keyboard Decoder
20.6. A Morse Code Tutor
No other version available