内蒙古工业大学本科毕业设计说明书
第二章 MCS-51系列单片机的结构及原理
2.1 MCS-51系列单片机的特征和结构
2.1.1 MCS-51系列单片机特征
美国Intel公司推出MCS-51系列高档8位单片机至今20多年来,51系列单片机经久不衰,并得到了极其广泛的应用。它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品。
MCS-51系列单片机的典型产品为8051、8031和8751。通常MCS-51这个术语泛指以8051为内核的单片机。8051是ROM型单片机,内部有4KB的掩膜ROM,即单片机出厂时,程序已由生产厂家固化在程序存储器中。
8051内部结构具有如下特征:①面向控制的8位CPU;②4kbytes 程序存储器(ROM),128bytes的数据存储器(RAM);③可以寻址64KB的片外程序存储器和片外数据存储器;④32根双向和可单独寻址的I/O线;⑤一个全双工的异步串行口;⑥两个16位定时/计数器;⑦5个中断源,两个中断优先级;⑧有片内时钟振荡器;⑨采用高性能的HMOS生产工艺生产;⑩有布尔处理(位操作)能力;含基本指令111条,其中单机器周期指令64种。
2.1.2 MCS-51系列单片机的内部总体结构
图2-1所示为MCS-51单片机的基本结构,它由8个部件组成,即中央处理器(CPU),片内数据存储器(RAM),片内程序存储器(ROM/EPROM),输入输出接口(Input/Output,简称I/O口,分为P0口、P1口、P2口和P3口),可编程串行口,定时/计数器,中断系统及特殊功能寄存器(SFR),各部分通过内部总线相连。
图2-1 MCS-51单片机的基本结构
6
内蒙古工业大学本科毕业设计说明书
2.2 MCS-51系列单片机的引脚功能和总线结构
2.2.1 MCS-51系列单片机的引脚功能
8051芯片采用40引脚的双列直插封装,如图2-2(a),分为地址总线,数据总线,控制总线3类见图2-2(b)。在40条引脚中有两条专用于住电源的引脚,2条外接晶体的引脚,4条控制或与其它电源复用的引脚,32条输入/输出引脚。
(a)引脚图 (b)总线结构图
图2-2 MCS-51系列单片机的引脚及总线结构
40条引脚的功能分别是: 1.主电源引脚Vcc和Vss Vcc(40脚)接+5V电压; Vss(20脚)接地。
2.外接晶振引脚XTAL1和XTAL2
XTAL1(19脚):接外部晶体的一个引脚。在主控电路中它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,此引脚应接地。
XTAL2(18脚):接外部晶体管的另一端。在主控电路中接至上述振荡器的反相放大器的输出端。采用外部振荡器时,该引脚接外部振荡器的信号,即把外部振
7
内蒙古工业大学本科毕业设计说明书
荡器的信号直接到内部时钟发生器的输入端。
3.控制与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP (1)RST/VPD(9脚):当振荡器运行时,在此引脚上出现两个机器周期的高电平将使主电路复位。
在设计主电路是此引脚与Vss引脚之间连接一个约8.2K?的下拉电阻,与Vcc引脚之间连接约10μF的电容,以保证可靠地复位。Vcc掉电期间,此引脚可接备用电源,以保持内部RAM的数据不丢失。当Vcc主电源下掉到低于规定的电平,而VPD在其规定的电压范围(5±0.5V)内,VPD就向内部RAM提供备用电源。
(2)ALE/PROG(30脚):当访问外部存储器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端也以不变的频率周期地出现正脉冲信号,此频率为振荡器频率的1/6。因此,它可以做对外输出时钟,或用于定时目的。然而要注意的是,每当访问外部存储器时,将跳过一个ALE脉冲。
ALE端可以驱动(吸收或输出电流)8个LS型的TTL输入电路。对于有EPROM时,在EPROM编程期间,此引脚用于输入编程脉冲(PROG)。
(3)PSEN(29脚):此脚的输出是外部程序存储器的读选信号。在从外部程序存储器取指令(或常数)期间,每个机器周期两次PSEN有效。但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。PSEN同样可以驱动(吸收和输出)8个LS型的TTL输入电路。
(4)EA/VPP(31引脚):当EA端保持高电平时,访问内部程序存储器,但在8051内值超过0FFFH,将自动转向执行外部程序存储器内的程序。当EA保持低电平时,则只访问外部程序存储器,不管是不是有内部程序存储器。当扩展EPROM时,在对EPROM编程期间,此引脚也用于施加5伏的编程电源。
4. 输入/输出引脚P0口、P1口、P2口和P3口
(1)P0口(39脚~32脚):是双向8位三态I/O口,在外部存储器,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LSTTL负载。外部扩展存储器时,当做数据总线(如图2-2中的P0.0~P0.7为数据总线接口);外部扩展存储器时,当作地址总线(如图2-2中的P0.0~P2.7为地址总线接口),不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
(2)P1口(1脚~8脚):是8位准双向I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。P1口能驱动(吸收或输出电流)4个LSTTL负载。P1口只作I/O口使用,其内部有上拉电阻。
8
内蒙古工业大学本科毕业设计说明书
(3)P2口(21脚~28脚):是8位准双向I/O口。在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。扩展外部存储器时,当作地址总线使用,作一般I/O口使用,其内部有上拉电阻。
(4)P3口(10脚~17脚):是8位准双向I/O口,这8个引脚还用于专门功能,是复用双功能口。除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能如表2-1所示。
作为第一功能使用时,就作为普通I/O口用,功能和方法与P1口相同。值得注意的是,P3口的每一条引脚均可独立定义第一功能的输入输出或第二功能。
表2-1 P3口第二功能
2.2.2 三总线结构
单片机的引脚除了电源、复位、时钟接入和用户I/O口外,其余引脚都是为了实现系统扩展而设置的。这些引脚构成了三总线形式。引脚功能分类如图2-2(b)所示。
(1)地址总线AB:地址总线宽度16位,因此外部存储器直接寻址范围64KB。16位地址总线由P0口经地址锁存器提供8位地址A0~A7,P2口直接提供高8位地址A8~A15。
(2)数据总线DB:数据总线宽度为8位,由P0口提供。
(3)控制总线CB:由P3口的第二功能状态和4根独立控制线RESET,EA,
PSEN,ALE组成。
2.3 MCS-51系列单片机的主要组成部分
2.3.1 CPU
8051的CPU是由运算器和控制器组成。
9
内蒙古工业大学本科毕业设计说明书
(1)运算器:
它包括算术、逻辑部件ALU、累加器Acc、寄存器B、暂存器YMP1和YMP2、程序状态寄存器PSW、布尔处理器以及十进制调整电路等。运算器主要用来实现数据的传送、数据的算术运算和逻辑运算、位变量处理等。
运算部件ALU的功能十分强大,它不仅可对8位变量进行逻辑“与”、或“异或”、循环、求补、清零等基本操作,还可进行加、减、乘、除等基本运算。为了乘除的需要,还设置了B寄存器。在执行乘法指令时,用来存放其中一个乘数的高8位数;在执行除法运算指令时,B中存放除数及余数。主控电路指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统,它可对(bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”、等操作。在实现位操作时,借用了程序状态标志寄存器(PSW)中的进位标志位Cy作为操作的“累加器”。运算部件中的累加器Acc是一个8位的累加器(Acc也可简称为A)。需要说明的是Acc的进位标志Cy就是布尔处理器进行以位操作的一位累加器。8051的程序状态寄存器PSW,是一个8位寄存器,它包含了程序的状态信息。
(2)控制器:
控制部件是主控电路的神经中枢,它包括时钟电路、复位电路、指令寄存器、译码器以及信息传送控制部件。它以主振频率为基准发出CPU时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的操作,用来控制电路的各部分的运行。
通常把运算器和控制器合在一起称为中央处理器(Central Processing Unit),简称CPU。
2.3.2 存储器
8051片内有4KB的程序存储器和128B数据存储器。除此之外还可以在片外扩展64KB的程序存储器和64KB的数据存储器。图2-3为存储器结构图。
其中,内部存储器的4KB是与外部存储器公共的,地址是从0000H~FFFFH, 64KB外部的程序存储器和数据存储器的地址都是0000H~FFFFH,128B的片内数据存储器地址是从00H~80H。
以下分别介绍这些存储器: (1)程序存储器
10