This textbook provides practicing scientists and engineers a primer on the Atmel AVR microcontroller. In this second edition we highlight the popular ATmega164 microcontroller and other pin-for-pin controllers in the family with a complement of flash memory up to 128 kbytes. The second edition also adds a chapter on embedded system design fundamentals and provides extended examples on two different autonomous robots. Our approach is to provide the fundamental skills to quickly get up and operating with this internationally popular microcontroller. We cover the main subsystems aboard the ATmega164, providing a short theory section followed by a description of the related microcontroller subsystem with accompanying hardware and software to exercise the subsystem. In all examples, we use the C programming language. We include a detailed chapter describing how to interface the microcontroller to a wide variety of input and output devices and conclude with several system level examples.
Table of Contents
Atmel AVR Architecture Overview
Serial Communication Subsystem
Atmel AVR Operating Parameters and Interfacing
Embedded Systems Design
About the Author(s)Steven Barrett
, University of Wyoming
Steven F. Barrett, Ph.D., P.E., received the BS Electronic Engineering Technology from the University of Nebraska at Omaha in 1979, the M.E.E.E. from the University of Idaho at Moscow in 1986, and the Ph.D. from The University of Texas at Austin in 1993. He was formally an active duty faculty member at the United States Air Force Academy, Colorado and is now the Associate Dean of Academic Programs at the University of Wyoming. He is a member of IEEE (senior) and Tau Beta Pi (chief faculty advisor). His research interests include digital and analog image processing, computer-assisted laser surgery, and embedded controller systems. He is a registered Professional Engineer in Wyoming and Colorado. He co-wrote with Dr. Daniel Pack six textbooks on microcontrollers and embedded systems. In 2004, Barrett was named "Wyoming Professor of the Year" by the Carnegie Foundation for the Advancement of Teaching and in 2008 was the recipient of the National Society of Professional Engineers (NSPE) Professional Engineers in Higher Education, Engineering Education Excellence Award.Daniel Pack
, The United States Air Force Academy
Daniel J. Pack is a professor in the Department of Electrical Engineering at the U.S. Air Force Academy, Colorado. He received his bachelor of science degree in electrical engineering in 1988 from Arizona State University, a master of science degree in engineering sciences in 1990 from Harvard University, and a doctorof philosophy degree in electrical engineering in 1995 from Purdue University. He was a visiting scholar at Massachusetts Institute of Technology - Lincoln Laboratory. He coauthored five textbooks on microcontrollers and embedded systems and authored more than 70 journal and conference papers. He is a member of Eta Kappa Nu, Tau Beta Pi (faculty advisor), IEEE (senior), and American Society for Engineering Education. He is a registered professional engineer inColorado.In 2005, Dr. Pack was named ColoradoProfessorof the Year by the Carnegie Foundation for the Advancement of Teaching. His research interests include cooperative UAVs, intelligent control, automatic target recognition, and robotics.