第二章单片机的基本结构2.1微型计算机的基本结构及工作原2.289C51单片机的内部结构及引脚功能2.389C51的存储结构2.489C51单片机的I/O口2.589C51单片机的最小系统实训二单片机最小系统电路构成本章小结2.1微型计算机的基本结构及工作原理计算机是由运算器、控制器、存储器、输入及输出设备等五大部件组成的,如图2-1所示。其中,运算器用来完成算术运算和逻辑运算;控制器主要用于解释输入计算机的命令并发出相应的控制信号;存储器用来存放程序、数据及运算结果等信息;输入/输出设备用于输入外部命令及数据,输出运算结果等。微型机将控制器和运算器集成在一块芯片上,称为微处理器(CPU)。下面分别介绍微型机的基本结构及工作原理。2.1.1微型计算机的基本结构微型计算机(Microcomputer)是以微处理器(CPU)为核心,加上内存储器ROM和RAM、I/O接口电路以及下一页返回2.1微型计算机的基本结构及工作原理系统总线组成,如图2-2所示。1.微处理器微处理器是微型计算机的“核心”,是系统的运算中心和控制中心。不同型号之间性能上的差别首先表现在微处理器的不同,每种处理器有其特有的指令系统。但所有的处理器的结构基本一致,主要包括运算器、控制器、寄存器组几个部分。运算器主要用于算术和逻辑运算。控制器由指令寄存器、指令译码器和微操作控制电路组成。它将指令从存储器调入指令寄存器中,通过指令译码器译码后,由微操作控制电路按照译码后的控制命令发出一系列的控制信息,使微型计算机的各个部件协调动作,完成程序指定的工作。上一页下一页返回2.1微型计算机的基本结构及工作原理CPU内部的寄存器主要用来暂存参与运算的操作数、中间结果和运算结果,同时记录程序运行中的某些状态等。因此,寄存器可以分为两大类:专用寄存器和通用寄存器。专用寄存器有累加器ACC、标志寄存器PSW、程序计数器PC等,其中累加器ACC用于参与程序的各种运算;标志寄存器PSW标识程序运行过程中的各种状态,如是否产生进位,是否超出了运算范围等;程序计数器PC用于控制程序执行的顺序。2.三总线总线是微处理器、内存储器和I/O接口电路之间相互交换信息的公共通道。微型机的总线有数据总线(DataBus)、上一页下一页返回2.1微型计算机的基本结构及工作原理地址总线(AddressBus)和控制总线(ControlBus)三总线构成。数据总线(DB)的功能是完成微处理器与内存、I/O接口电路之间的数据传送,通过数据总线可以实现数据的双向传送;地址总线(AB)是微处理器向内存和I/O接口电路传送地址信息的通路,是单向传送方式;控制总线(CB)是微处理器向内存和I/O接口电路发出的命令信息或由外界向微处理器传送状态的信息通路。3.存储器微型计算机内部的存储器,都是半导体存储器,其中只读存储器可以是ROM、PROM、EPROM、E2PROM等类型,主要用于存放各种程序,如汇编程序、编译程序、标准子程序以及各种常用数据表格;读/写存储器包括各种形式的上一页下一页返回2.1微型计算机的基本结构及工作原理RAM,用于存放用户程序、数据及部分系统信息。读/写存储器的结构如图2-3所示。其中存储单元矩阵是存储器的主体,用来存储信息。存储单元矩阵由许多存储单元组成,每个存储单元在存储单元矩阵中的位置用“地址”表示。存储单元的总数决定了该存储器的容量。存储器中地址译码器的作用是对地址进行译码,以选择所指定的存储单元。地址线的多少与存储容量的关系满足:存储容量=2n(n为地址线的数量)。利用地址译码器就可以用较少的地址线选择更多的存储单元。上一页下一页返回2.1微型计算机的基本结构及工作原理存储器要进行读写操作,首先必须由CPU发出地址信号,由地址总线(AB)传送至地址寄存器暂存,通过地址译码器选择指定的存储单元,再由CPU通过控制总线(CB)发出读/写控制信号,决定存储器中数据传送的方向,如果要进行读操作,则将存储器中的数据送入数据寄存器,然后通过数据总线(DB)送至CPU,如果进行写操作,则将CPU通过数据总线(DB)传送到数据寄存器中的数据存入存储单元中。按存储器地址空间分配形式的不同,可将微型计算机的存储器分为两类:普林斯顿结构和哈佛结构。普林斯顿结构特点是计算机只有一个地址空间,CPU访问ROM和RAM用相同的访问指令,8086、奔腾等微型计算机就采用这种结构。上一页下一页返回2.1微型计算机的基本结构及工作原理哈佛结构将ROM和RAM分别安排在相互独立的两个地址空间,ROM和RAM可以有相同的地址,用不同的指令访问。单片机就是采用这种结构。4.I/O接口电路微型计算机与I/O设备之间不能直接交换信息,必须通过I/O接口电路作为它们之间联系的桥梁。I/O接口电路通过各种符合标准的总线传递外围设备与CPU之间的信息,并对信息做一些必要的处理。5.外围设备常见的外围设备包括的打印机、显示器、键盘、鼠标、绘图仪、外存储器(如磁盘、光盘、磁带等)以及一些互联网装置等。上一页下一页返回2.1微型计算机的基本结构及工作原理2.1.2微型计算机的工作原理微型计算机在工作时,先将程序存放在存储器中,由CPU严格地按时序不断地从存储器中取出指令、对指令进行译码、执行指令规定的操作,即按指令的要求发出地址信号和控制信号,将数据或命令通过数据总线在CPU、存储器及I/O接口之间进行交流,完成指定的功能。下面以51系列单片机执行“3+2”的操作为例,说明计算机的工作过程。首先由编程人员写出汇编语言源程序,通过汇编程序将其编译成机器语言程序,其代码如下:上一页下一页返回2.1微型计算机的基本结构及工作原理将机器语言程序(即机器码)依次存放在存储器中,程序计数器PC装入初值0000H,以便程序从第一条指令处执行程序,如图2-4所示。当计算机开始工作时,微操作控制器将程序计数器PC中的初值0000H送入地址寄存器AR中,发出“读”()命令,同时使PC中的内容自动加1,为取下一字节数据做准备。机器码汇编语言源程序注释7403HMOVA,#03H;(A)=32402HADDA,#02H;(A)=3+280FEHSJMP$;暂停RD上一页下一页返回2.1微型计算机的基本结构及工作原理存储器在读命令控制下,将0000H单元的内容“74H”送入数据寄存器DR中,由微操作控制器将其经指令寄存器IR及指令译码器ID翻译后产生新的控制命令,该命令要求将存储器第二个地址单元0001H中的数据送入累加器中,同时PC又自动加1。存储器在新的控制命令作用下,将0001H中的内容“03H”送入数据寄存器DR中,并通过内部数据总线送入累加器。这样,第一条指令就执行完了。下面两条指令的执行过程与第一条指令类似。上一页返回2.289C51单片机的内部结构及引脚功能AT89系列单片机的各种型号均是以8031为核心电路发展起来的,具有51系列单片机的基本结构与软件特征。AT89C51是AT89系列单片机的主流产品,以下均简称89C51。2.2.189C51单片机的基本结构89C51的内部结构如图2-5所示,其基本组成部分包括:适于控制应用的8位CPU;一个片内振荡器及时钟电路,最高工作频率可达24MHz;4KBFlash程序存储器;128B数据存储器;下一页返回2.289C51单片机的内部结构及引脚功能可寻址64K外部数据存储器空间及64K程序存储器空间的控制电路;32根双向可按位寻址的I/O口线;1个全双工串行口;2个16位定时/计数器;5个中断源,具有两个优先级。若程序存储器带有4KBROM/EPROM,即为8051/8751;若RAM/EPROM容量为256B/8KB,则为52子系列。下面分别介绍89C51单片机内部各部分的主要功能:上一页下一页返回2.289C51单片机的内部结构及引脚功能1.微处理器(CPU)89C51单片机的微处理器(CPU)与一般的微型计算机类似,也是由运算器和控制器组成。运算器可以对半字节(4位)、单字节等数据进行算术、逻辑运算,并将结果送至状态寄存器。运算器中还包括一个专门用于位数据操作的布尔处理器。控制器包括程序计数器PC、指令寄存器、指令译码器、振荡器、时钟电路及控制电路等部件,它可以根据不同指令产生的操作时序控制单片机各部分工作。2.存储器单片机的存储器分两种:一种用于存放已编写好的程序及数据表格,称为程序存储器,常用ROM、EPROM、E2PROM等类型,89C51中采用的就是Flash上一页下一页返回2.289C51单片机的内部结构及引脚功能E2PROM,其存储容量为4KB。另一种用于存放输入、输出数据、中间运算结果,称为数据存储器,常用RAM类型,89C51中的数据存储器较小,存储容量仅128B。若存储器空间不够用,可以外部扩展。单片机存储器采用哈佛结构,它将程序存储器和数据存储器分开编址,各自有自己的寻址方式。3.输入/输出(I/O)口89C51的输入/输出接口包括四个8位并行口及1个全双工的串行口。4个并行口既可作为I/O端口使用,又可作为外部扩展电路时的数据总线、地址总线及控制总线。内部的串行口是一个可编程全双工串行通信接口,具有通用异步接收上一页下一页返回2.289C51单片机的内部结构及引脚功能/发送器(UART)的全部功能,可以同时进行数据的接收和发送,还可以作为一个同步移位寄存器使用。4.其它内部资源89C51内部还有2个16位定时/计数器及中断系统。定时/计数器可以通过对系统时钟计数实现定时,也可用于对外部事件的脉冲进行计数。中断系统可以对5个中断源进行中断允许及优先级的控制。5个中断源中有2个为外部中断,由单片机的外围引脚、引入;3个为内部中断,分别由2个定时/计数器及串行口产生。INT0INT1上一页下一页返回2.289C51单片机的内部结构及引脚功能2.2.289C51单片机的引脚及封装89C51单片机的封装共分为PDIP、PLCC及PQFP三种形式,常用为PDIP封装方式。其引脚如图2-6所示。89C51共40个引脚,大致可分为四类:(1)电源引脚VCC:电源端,+5V。VSS:接地端(GND)。(2)时钟电路引脚XTAL1:外接晶振输入端。XTAL2:外接晶振输出端。上一页下一页返回2.289C51单片机的内部结构及引脚功能(3)I/O引脚P0.0~P0.7/AD0~AD7:一组8位漏极开路型双向I/O口,也是地址/数据总线复用口。作输入/输出口用时,必须外接上拉电阻,它可驱动8个TTL门电路。当访问片外存储器时,用作地址/数据分时复用口线。P1.0~P1.7:一组内部带上拉电阻的8位准双向I/O口,可驱动4个TTL门电路。P2.0~P2.7/A8~A15:一组内部带上拉电阻的8位准双向I/O口,可驱动4个TTL门电路。当访问片外存储器时,用作高8位地址总线。P3.0~P3.7:一组内部带上拉电阻的8位准双向I/O口。上一页下一页返回2.289C51单片机的内部结构及引脚功能出于芯片引脚数的限制,P3端口每个引脚具有第二功能。详见2.4节。(4)控制线引脚RESET/VPD:复位端/备用电源输入端。当RESET端出现持续两个机器周期以上的高电平时,可实现复位操作。VPD端可外接备用电源,以便在VCC掉电时向RAM供电。/VPP:片外程序存储器选择端/Flash存储器编程电源。若要访问外部程序存储器则端必须保持低电平。VPP端用于Flash存储器编程时的编程允许电源+12V输入端。EAEA上一页下一页返回2.289C51单片机的内部结构及引脚功能ALE/:地址锁存允许端/编程脉冲输入端。当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存P0口分时送出的低8位地址(下降沿有效)。不访问外部存储器时,该端以时钟频率的1/6输出固定的正脉冲信号,可用作外部时钟。对内部Flash存储器编程期间,该引脚用于输入编程脉冲。:读