文档介绍:莈AVR单片机的基本结构袇袃单片机是构成单片机嵌入式系统的核心器件。本章首先将介绍一般单片机的基本结构和组成,使大家对单片机芯片的内部硬件有基本了解和认识。掌握了单片机的基本结构和组成,对学习、了解任何一种类型单片机的工作原理,编写单片机的系统软件以及和设计外围电路都是非常重要的。莂AVR是美国ATMEL公司推出的一款采用RISC指令的8位高速单片机。本章将以ATmega16为主线,介绍和讲述AVR单片机内核的基本结构、引脚功能、工作方式等。深入的理解和掌握AVR的基本结构,对后续章节的学习、以及对实际的应用AVR单片机都是非常重要的。螀单片机的基本组成芇单片机的基本组成结构蚄 单片机嵌入式系统的核心部件是单片机,其结构特征是将组成计算机的基本部件集成在一块晶体芯片上,构成一片具有特定功能的单芯片计算机—单片机。一片典型单片机芯片内部的基本组成结构如图2-1所示。蒃肆外部时钟源袄外部事件计数薂图2-1典型单片机的基本组成结构蒈振荡器和葿时序电路莃CPU莂中断薀控制薇程序存储器螃数据存储器肃定时器计数器薁总线扩展控制器蚅并行I/O接口蒆内袃部莈中肈断袆串行I/O接口薄外部中断蒀外部数据/地址总线膆操作管理寄存器莅内部总线从单片机的基本组成可以看出,在一片(单片机)芯片中,集成了构成一个计算机系统的最基本的单元:如CPU、程序(指令)存储器、数据存储器、各种类型的输入/输出接口等。CPU同各基本单元通过芯片内的内部总线(包括数据总线、地址总线和控制总线)连接。肀一般情况下,内部总线中的数据总线宽度(或指CPU的字长)也是标定该单片机等级的一个重要指标。一般讲,低档单片机的内部数据总线宽度为4位(4位机),普通和中档单片机的内部数据总线宽度一般为8位(8位机),高档单片机内部数据总线宽度为16或32位。内部数据总线宽度越宽,单片机的处理速度也相应的提高,功能也越强。蒁单片机基本单元与作用蕿下面分别对单片机芯片中所集成的各个组成部分予以简要介绍。螄MCU单元(MicrocontrollerUnit)螀MCU单元部分包括了CPU、时钟系统、复位、总线控制逻辑等电路。CPU是按照面向测控对象、嵌入式应用的要求设计的,其功能有进行算术、逻辑、比较等运算和操作,并将结果和状态信息与存储器以及状态寄存器进行交换(读/写)。时钟和复位电路实现上电复位、信号控制复位,产生片内各种时钟及功耗管理等。总线控制电路则产生各类控制逻辑信号,满足MCU对内部和外部总线的控制。其中,内部总线用以实现片内各单元电路的协调操作和数据传输,而外部总线控制用于单片机外围扩展的操作管理。 单片机的存储器一般分成程序存储器和数据存储器,它们往往构成相互独立的两个存储空间,分别寻址,互不干扰。在这一点上,与通用计算机系统的结构是不同的。通用计算机系统通常采用“Von-Neumann”结构,在这种结构体系中采用了单一的数据总线用于指令和数据的存取,因此数据和指令是存放在同一个存储空间中的,CPU使用同一条数据总线与数据和程序进行交换,如在计算机原理课程中介绍的8086/8088。而单片机的内部结构通常使用“Harvard”体系结构,在这种体系中采用分开的指令和数据总线,以及分开的指令和数据地址空间。单片机采用Harvard双(多)总线结构的优点是,指令和数据空间完全分开,分别通过专用的总线同CPU交换,可以实现对程序和数据的同时访问,提高了CPU的执行速度和数据的吞吐率。膄早期的单片机,如典型的8031单片机,在片内只集成少量的数据存储器RAM(128/256字节),没有程序存储器。因此程序存储器和大容量的数据存储器需要进行片外的扩展,增加外围的存储芯片和电路,这给构成嵌入式系统带来了麻烦。后期的单片机则在片内集成了相当数量的程序存储器,如与8031兼容的AT89S51、AT89S52在片内集成了4K/8K的Flash程序存储器。而现在新型的单片机,则在片内集成了更多数量和更多类型的存储器。如AVR系列的ATmega16在片内就集成了16K字节的Flash程序存储器,1K字节的RAM数据存储器,以及512字节的EEPROM数据存储器,这就大大方便了应用。。由于单片机嵌入式系统的应用程序在开发调试完成后不需要经常改变,因此单片机的程序存储器多采用只读型ROM存储器,用于永久性的存储系统的应用程序。为适应不同产品、用户和不同场合的需要,单片机的程序存储器有以下几种不同形式:螅①ROMLess型。该种形式的单片机片内没有集成程序存储器,使用时必须在单片机外部扩展一定容量的EPROM器件。因此,使用这种类型的单片机就必须使用并行扩展总线,增加芯片,增加了硬件设计的工作量。薃②EPROM型。单片机片内集成了一定数