本书(上)详细讲述了ATmega128的内部结构以及各种外围接口电路的特点和性能,介绍了其强大的指令系统和相应的软件开发平台与硬件工具,并对ATmega128一些硬件接口在实际应用中的软/硬设计方法与技给出深入和细致的使用指南。在本书的下篇中,将全面讲述和介绍基于ATmega128的应用实例。本书适合有一定单片机嵌入式系统应用基础的电子工程技术人员、硬件和软件系统设计开发工程师阅读,可作为进一步学习、提高、掌握新型高档AVR单片机的参考书以及应用设计参考。本书也可作为高等院校自动化、计算机、仪器仪表、电子等专业高年级学生和研究生的教学与科研开发的参考书。本书前言单片机就是在一块芯片中集成了CPU、主要外设和内存的微型计算机。1983年INTEL公司推出8051单片机至今已有20年的历史了。由于许多公司对它进行了改造和增强,如美国ATMEL公司最早把8051内核与其擅长的Flash制造技术相结合,推出了可重复擦写1000次以上,低功耗的89C51/52/1051/2051系列单片机产品;还有众多的公司也提供各类8051兼容的产品。因此在8位单片机中,8051仍占据着重要的份额,直到现在还在大量地使用。随着技术的发展和进步,以及市场对产品功能和性能的要求不断提高,使得作为单片嵌入式系统的核心——单片机,朝着多功能、多选择、高速度、低功耗、低价格、大存储容量和强I/O功能等方向发展。由于8051其本身结构的限制,51单片机显现出了许多致命的缺陷,不能很好地适应中高档产品的应用开发。因此,继8051之后世界上许多公司不断推出了各种系列型号且性能优于8051的新型单片机芯片,以迎合市场的需要。ATMEL公司于1997年推出了采用先进RSIC结构,比8051性能更加优越的AVR单片机系列。特别是近几年里推出的AVR高档MEGA系列的单片机,其在结构、性能、可靠性等方面都独具特色,在8位高档单片机中堪称佼佼者。该单片机正受到越来越多的工程师的喜欢,并强有力地冲击着8051单片机的市场,其推广和应用有很大的发展前景。在我国,学习和使用AVR单片机的工程技术人员越来越多,但目前国内出版的介绍AVR单片机的资料和书籍却很少(远远少于介绍8051的书籍),对MEGA系列单片机的结构和使用进行详细介绍的书只有一本,也仅仅是对MEGA系列中最简单的ATmega8做了介绍。ATmega128是MEGA系列中性能最好的一款,更能全面体现和代表MEGA的特点和性能。本书内容以ATmega128为主线,详细介绍MEGA单片机的硬件结构、工作原理、指令系统和应用设计,并给出一些MEGA单片机所具有的特殊专用硬件接口的应用设计实例和参考。本书能开阔国内单片嵌入式系统开发和设计人员的视野,为促进学习、掌握、应用最新和最好的芯片和应用技术,为研制和开发中高档电子产品和系统提供有益的参考、帮助和支持。本书共分5章。第1章对AVR单片机进行了简要的介绍,并对ATmega128的性能、特点做了概述。第2章是本书的重点,对ATmega128单片机芯片硬件结构进行了详细说明。同其它8位单片机相比,ATmega128片内集成了更多的功能强大和优化的外围接口,因此它的硬件结构显得比较复杂。本章内容主要根据ATmega128的英文器件手册翻译、整理而成,由于篇幅的限制以及时间的关系,同时为适于读者对照英文原文,本章内容基本沿袭了英文器件手册的叙述结构,并省略了特性曲线、JTAG边界监测等部分内容。第3章介绍了ATmega128单片机的指令结构和系统,以及每条指令的功能,最后给出一个完整的AVR汇编实例,以帮助读者掌握使用AVR汇编编写系统程序。第4章介绍用于开发ATmega128系统的软/硬件开发环境和开发工具。在本章中仅简单介绍了几个常用AVR高级语言开发软件的主要特点和性能,读者在具体学习和应用中,还需要参考相关的详细介绍这些软件如何使用的书籍。第5章的内容没有对ATmega128的一些基本应用、相关通信协议以及基于传统的单片机(如8051)设计方法和应用做详细的介绍,而是根据ATmega128的硬件特点,以及作者在多年使用AVR过程中积累的实际经验,给出一些比较优化的,能够体现ATmega128特性和实用价值的设计方案和思路,以及使用ATmega128时需要注意的问题等。该章中的一些设计实例、设计思想和方法,读者可在设计中直接使用,但更主要的是希望它们能起到抛砖引玉的作用,便于读者从更深层次上了解AVR的特性,发挥自己的才能,举一反三,设计出更加完美、可靠的系统。作为一款高档的8位单片机,ATmega128更加适合在中高档、比较复杂的电子系统中应用。因此,本书下篇将从实时嵌入式操作系统出发,以一块具有“模块独立、开放、灵活”等特点的多功能嵌入式ATmega128实验应用开发板为基础(见本书42节),介绍一些高级应用的设计和实现。具体内容包括:实时嵌入式操作系统的基本原理,基于ATmega128的μC/OSⅡ实时嵌入式操作系统的移植,基本外围接口(键盘、LED/LCD显示、异步通信)嵌入式构件的实现,符合IEEE8023标准的网络接口设计,TCP/IP协议与小型嵌入式WEB的设计与实现,简易FAT文件系统的实现,USB接口的设计与实现,IDE硬盘接口的设计与实现等。本书由马潮(machao@online.sh.cn)主编。第1、2、3、5章均由马潮执笔;第4章内容由华东师范大学电子系研究生吴敏琪同学起草,马潮执笔修改;华东师范大学电子系研究生李德领和本科生张佳罡同学参与了部分英文资料翻译工作;在此一并表示感谢。同时还要感谢我的夫人李小英副教授,她不仅为本书编写做了许多文字图表的整理工作,还承担了更多的家庭,让我有时间和精力投入工作。由于本人的经验和水平有限,加上时间仓促,书中难免有错误和疏漏之处,敬请读者批评指正。作者于上海华东师范大学2004年8月