《单片微机原理及应用》教学课件1第二章MCS-51系列单片机的结构和原理本讲重点:MCS-51的基本特性;单片机的时钟、复位电路;存储器、堆栈与特殊功能寄存器.本章主要介绍INTEL公司MCS-51系列单片机的系统结构。MCS-51系列单片机在结构上有许多特点。下面将详细叙述。《单片微机原理及应用》教学课件22.1MCS-51系列单片机的结构MCS-51是INTEL公司生产的一个单片机的名称。属于这一系列的单片机芯片有许多种,如8051,8031,8751,80C51BH等,它们的基本组成、基本性能和指令系统都是相同的。下面以8051为例,说明MCS-51单片机的结构。《单片微机原理及应用》教学课件32.1.1MCS-51系列单片机的基本组成图2-1所示为MCS-51系列8051单片机的基本结构框图。《单片微机原理及应用》教学课件4时钟电路SFR和RAMROMCPU定时/计数器并行端口中断系统串行端口系统总线时钟源T0T1P0P1P2P3TXDRXDINT0INT1内中断外中断图2.1MCS-51单片机基本结构示意图《单片微机原理及应用》教学课件58051单片机主要组成部分(1)一个8位中央处理单元(CPU);(2)片内数据储存器RAM(128B/256B),用以存放可以读/写的数据,如运算的中间结果、最终结果以及若显示的数据等;(3)片内程序储存器ROM/EPROM(4KB/8KB),用以存放程序、一些原始数据和表格。一些单片机内部不带ROM/EPROM,如8031,8032,80C31等;(4)4个8位并行I/O接口P0~P3,每个I/O口既可以用作输入,可以用作输出。《单片微机原理及应用》教学课件6(5)2个16位的定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数;也可以设置成定时方式,对内部脉冲进行计数,并可以根据计数或定时的结果实现计算机控制;(6)5个中断源的中断控制系统,二级嵌套的中断结构;(7)一个全双工UART(通用异步接收发送器)的串行I/O口,用以实现单片机之间或单片机与微机之间的串行通讯;(8)片内振荡器和时钟电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHZ。以上各个部分通过内部数据总线相连接。《单片微机原理及应用》教学课件7MCS-51系列单片机的温度适用范围较宽,其温度范围为:民品(商业用)0℃~70℃工业品-40℃~85℃军用品-55℃~125℃稳定性和抗干扰性,军用品优于工业品,工业品优于民品。MCS-51系列单片机有十多个品种,其性能如表2-1所示《单片微机原理及应用》教学课件8《单片微机原理及应用》教学课件92.1.2MCS-51单片机内部结构《单片微机原理及应用》教学课件10图2-2MCS-51片内总体结构框图通道0驱动器通道2驱动器RAM地址锁存器RAM通道0锁存器通道2锁存器ROM/EPROMB寄存器程序地址寄存器缓冲器PC递增器程序计数器PC0驱动器DPTR指针VCCGNDP1.0~P1.7堆栈指针SPACCTMP2PSW通道3锁存器通道1锁存器通道1驱动器通道3驱动器TMP1SCONTMODPCONTCONTL0TH1TH0TL1IESBUF(TX/RX)IP中断、串行口和定时器逻辑振荡器P3.0~P3.7RSTEAALEPSENXTAL2XTAL1ALU(+5V)指令寄存器定时和控制逻辑指令译码器P2.0~P2.7P0.0~P0.7《单片微机原理及应用》教学课件11一、中央处理单元(CPU)1、运算器◆ALU(算术运算和逻辑运算单元);◆暂存器1、暂存器2;◆累加器ACC;◆辅助寄存器B;◆程序状态寄存器PSW。《单片微机原理及应用》教学课件122、控制器◆程序计数器PC;◆指令寄存器IR;◆指令译码器ID;◆振荡器及定时电路。《单片微机原理及应用》教学课件13二、存储器8051片内有ROM和RAM,它们有各自独立的存储地址空间。1、程序存储器(ROM)片内程序存储器容量为4KB,地址:0000H~0FFFH。2、数据存储器(RAM)8031/8051/8751数据存储器均为128B,地址为:00H~7FH;其中32个单元指定为4组工作寄存器:R0~R7。特殊功能寄存器(SFR)编址在:80H~0FFH中。《单片微机原理及应用》教学课件14三、I/O接口8051由4个8位的并行接口:P0~P3。均为双向端口,可输入/输出。P0~P3口四个锁存器同RAM统一编址(80H,90H,0A0H,0B0H),可以把I/O当作特殊功能寄存器来寻址。《单片微机原理及应用》教学课件152.2MCS-51单片机引脚及其功能MCS-51系列中各种单片机的引脚互相兼容,大多为40脚双列直插封装(DIP)方式。因受到引脚数目的限制,不少引脚具有第二功能,如图2-3所示。《单片微机原理及应用》教学课件16认识单片机的引脚MCS-51单片机40脚Vcc,GND2XTAL1,XTAL22RESET1EA/Vpp1ALE/PROG1PSEN1P0.0—P0.78P1.0—P1.78P2.0—P2.78P3.0—P3.78《单片微机原理及应用》教学课件17单片机的引脚1、Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。2、时钟电路引脚XTAL1和XTAL2用内部时钟电路:XTAL2振荡电路反相放大器的输出端;XTAL1振荡电路反相放大器的输入端;用外部时钟电路:XTAL2外部时钟脉冲输入端;XTAL1接地。《单片微机原理及应用》教学课件18单片机的引脚3、控制信号引脚RST、ALE、PSEN和EARST/Vpd复位/备用电源输入端;ALE/PROG地址锁存允许信号,输出正脉冲1/6fosc;编程写入时,编程脉冲输入端。PSEN读片外存储器的选通信号,输出负脉冲;EA/Vpp外部程序存储器地址允许输入端/固化编程电压输入端;固化电压12.5V,25V.《单片微机原理及应用》教学课件19单片机的引脚4、输入/输出端口P0,P1,P2和P3准双向I/O端口:作输入口时必须先写入1,然后读入。负载和上拉电阻。《单片微机原理及应用》教学课件202.38051存储器配置存储器两种结构:★一般微机采用普林斯顿结构:只有一个地址空间,ROM和RAM可以随意安排在这一地址空间,ROM和RAM的地址在同一个队列分配不同的地址空间。★8051单片机采用哈佛结构:物理结构上程序存储器空间和数据存储器空间分开。《单片微机原理及应用》教学课件21从结构上分:●片内程序存储器空间;●片外程序存储器空间;●片内数据存储器空间;●片外数据存储器空间。《单片微机原理及应用》教学课件22从用户角度分:●片内、片外统一编址的程序存储器地址空间(0000H~0FFFFH);●64KB片外数据存储器地址空间(0000H~0FFFFH);●256B片内数据存储器地址空间(00H~0FFH)。《单片微机原理及应用》教学课件23CPU访问存储器方法:▲访问片内、片外ROM用MOVC指令;▲访问片外RAM或I/O口用MOVX指令;▲访问片内RAM用MOV指令。8051存储器空间配置如图所示:《单片微机原理及应用》教学课件24可寻址片外RAM64K字节(0000H—FFFFH);可寻址片外ROM64K字节(0000H—FFFFH);片内FlashROM4K字节(000H—FFFH);FFFFH0000H可寻址片外RAM64K字节FFFFH0000H可寻址片外ROM64K字节FFFH000H可寻址片内FlashROM4K字节89C517FH00H片内RAM128字节FFH80H存储器配置《单片微机原理及应用》教学课件25数据存储器——RAM(RandomAccessMemory)程序存储器——ROM(ReadOnlyMemory)闪速存储器——FlashMemoryEPROM——(UV)ErazibleProgrammableROMEEPROM/E2PROM——ElectricalErasableProgrammableROM静态存储器SRAM——StaticRAM(动态存储器DRAM——DynamicRAM)按字节寻址:每个字节(8个位)占一个地址按位寻址:有的存储器每一个位就有一个地址单片机的存储器——几个有关的概念:《单片微机原理及应用》教学课件2689C51单片机存储器配置片内RAM128字节(00H—7FH);片内RAM前32个单元是工作寄存器区(00H—1FH)片内RAM有128个可按位寻址的位,占16个单元。位地址编号为:00H—7FH,分布在20H—2FH单元片内21个特殊功能寄存器(SFR)中:地址号能被8整除的SFR中的各位也可按位寻址(P.33-34)可寻址片外RAM64K字节(0000H—FFFFH)可寻址片外ROM64K字节(0000H—FFFFH)片内FlashROM4K字节(000H—FFFH)《单片微机原理及应用》教学课件272.3.1程序存储器地址空间程序存储器:用于存放程序和常数。PC为16位,寻址能力为64KB。8051/8751片内ROM/EPROM的容量为4KB,地址为:0000H~0FFFH;片外最多可扩至64KEPROM,地址为:1000H~0FFFFH;《单片微机原理及应用》教学课件28程序存储器外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH8051从片内程序存储器和片外程序存储器取指时执行速度相同。《单片微机原理及应用》教学课件29保留的存储单元存储单元保留目的0000H~0002H复位后初始化引导程序0003H~000AH外部中断0000BH~0012H定时器0溢出中断0013H~001AH外部中断1001BH~0022H定时器1溢出中断0023H~002AH串行口中断002BH~0032H定时器2溢出中断(仅8052有)《单片微机原理及应用》教学课件30中断矢量(向量):中断服务程序的入口地址中断源中断服务程序人口地址外部中断00003H定时器0溢出中断000BH外部中断10013H定时器1溢出中断001BH串行口中断0023H中断矢量(向量)地址表《单片微机原理及应用》教学课件312.3.3数据存储器地址空间数据存储器RAM:用于存放运算的中间结果、数据暂存和缓冲、标志位等。◆片内RAM:256B,地址为:00H~0FFH;◆片外RAM:64KB(包括外部I/O口),地址为:0000H~0FFFFH。《单片微机原理及应用》教学课件32一、片外RAM片外64KRAM空间专门用MOVX指令访问,包括外部I/O口;二、片内RAM片内数据存储器最大可寻址256个单元:★低128B(00H~7FH):真正RAM区;★高128B(80H~0FFH):特殊功能寄存器(SFR)区。如下图所示:《单片微机原理及应用》教学课件33存储器配置(片内RAM)1、低RAM128字节(00H—7FH)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区用户RAM区位寻址区工作寄存器区SFR分布在80H-FFH其中92个位可位寻址80HFFH所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器89C51128字节《单片微机原理及应用》教学课件3400H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区3工作寄存器区2工作寄存器区1工作寄存器区00FH10H17H18H片内RAM前32个单元是工作寄存器区(00H—1FH)存储器配置(片内RAM)《单片微机原理及应用》教学课件35工作寄存器地址表组RS1RS0R0R1R2R3R4R5R6R700000H01H02H03H04H05H06H07H10