1、单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第2章,MCS-51,系列单片机的结构及原理,教学目标:,介绍,MCS51,系列单片机的内部结构与外部引脚功能 介绍,MCS51,系列单片机输入输出端口的结构与功能 介绍,MCS51,系列单片机的存储器组织 介绍,MCS51,系列单片机的时序,学习要求:,掌握,MCS51,系列单片机的内部结构与外部引脚功能,掌握,MCS51,系列单片机存储器的构成与编址方法 掌握输入输出端口的功能,了解输入输出端口的结构 掌握振荡电路与复位电路的构成,了解单片机的,CPU,时序,2.1,MCS-51,系列单片机 的结构与引
2、脚功能,MCS-51,系列单片机是美国,Intel,公司在1980年推出的8位单片 微型计算机,,包含51和52两个子系列。,51子系列的典型产品有8031,8051和8751三种机型,52子系列包括8032,8052二种主要机型,MCS-51,系列单片机的结构框图见图2-1。,MCS-51,系列单片机的结构框图见图2-1。,51子系列的配置如下:,(1)8位,CPU;,(2),振荡频率1.212,MHZ;,(3)128,个字节的片内数据存储器(片内,RAM);,(4)21,个专用寄存器;,(5)4,KB,的片内程序存储器(8031无);,(6)8位并行,I/,O,口,P0,P1,P2,P3;
3、7),一个全双工串行,I/,O,口;,(8)2个16位定时器/计数器;,(9)5个中断源,分为2个优先级;,2,图2-1,MCS-51,系列单片机的结构框图,图,2-1,MCS51,系列单片机的引脚功能,主电源引脚,Vss,、,Vcc,外接晶振引脚,XTAL1、XTAL2,输入/输出引脚,P0、P1、P2、P3,P0.0P0.7:,P0,口的8个引脚,,P0,口是8位漏极开路型双向,I/0,端口,在接有片外存储器或,I/0,扩展接口时,,P0.0P0.7,分时复用,作低8位地址总线与双向8位数据总线,P1.0P1.7:,P1,口的8个引脚,,P1,口是一个带内部上拉电阻的8位双向,I/O,
4、口,对于52子系列,,P1.0,还可用于定时器/计数器2的计数脉冲输入端2,1.1还可作定时器/计数器2的外部控制端,T2EX。,P2.0P2.7:,P2,口的8个引脚,,P2,口也是一个带内部上拉电阻的双向,I/O,口,在访问片外存储器或扩展,I/O,接口时,还用于提供高8位地址。,P3.0P3.7:P3,口的8个引脚,,P3,口也是一个带上拉电阻的,I/O,口,除可以作双向的输入输出口外,还具有第2功能,见表2.1,表,P3,口第二功能表,引脚,第二功能,P3.0,P3.1,P3.2,P3.3,P3.4,P3.5,P3.6,P3.7,RXD(,串行口输入),TXD(,串行口输出),INT0
5、外部中断0输入),INT1(,外部中断1输入),T0(,定时器0的外部输入),T1(,定时器1的外部输入),WR(,片外数据存储器写控制信号),RD (,片外数据存储器读控制信号),(,控制线(4条):,ALE/PROG:,双功能引脚。由于,P0,口的8个引脚是低8位地址总线与数据总线分时复用,因此必须将,P0,口输出的低8位地址进行锁存。在访问片外存储器时,每机器周期该信号出现2次。其下降沿用于控制锁存,P0,口输出的低8 位地址。即使不访问片外存储器,该引脚上仍出现上述频率的周期性信号,因此也可作为对外输出的时钟脉冲,频率为振荡器频率的1/6,必须注意的是:在访问片内外存储器时,,AL
6、E,脉冲会跳空1个。对片内含有,EPROM,的机型,此引脚在编程时可作为编程脉冲,PROG,的输入端。,PSEN:,片外程序存储器读选通信号输出端,在,CPU,从片外程序存储器取指期间,此信号每个机器周期两次有效,以通过,P0,口读入指令,在访问片外数据存储器时,该信号不出现。,EA/,Vpp,:,双功能引脚,为片外程序存储器选用端。当该引脚信号有效时,选择片外程序存储器,即,EA/,Vpp,=1,时,访问片内程序存储器。对片内含有,EPROM,的机型,此引脚在编程期间用于施加+21,v,的编程电压。,RST/V,PO,:,双功能引脚,在单片机工作期间,当此引脚上出现连接2个机器周期的高电平时
7、可实现复位操作,详见2.4节。,在,Vcc,掉电期间,若该引脚接备用电源(+5,v),,可向片内,RAM,供电,以保存片内,RAM,中的信息。,运算器由算逻运算单元,ALU、,累加器,A、B,寄存器、暂存器1、暂存器2、及程序状态字,PSW,构成。程序状态字,PSW,是1个8位的专用寄存器,用于存放程序运行中的各种状态信息,可进行位寻址,,PSW,的各位定义见图23。,D7 D6 D5 D4 D3 D2 D1 D0,图2-1的虚框部分为微处理器,又分为控制器、运算器。,控制器,由指令寄存器、指令译码器、定时控制部分组成,可根据不同的指令产生相应的控制信号,使各部分协调工作,完成指令所规定的功能
8、图23 程序状态字各位的含义,C,AC,F0,RS1,RS0,OV,F1,P,2.2,MCS51,系列单片机的微处理器与,CPU,时序,(1)进位标志,C(PSW.7);,很多算术逻辑运算指令执行 后都会影响进位标志,C。,例如加减运算,若运算结果有进位或借位,则,C=1,,若无,则,C=0。,可用专门的指令或硬件将,C,置位或清零,在进行位操作时,,C,又起着位累加器的作用,类似于累加器,A。,(2),辅助进位标志,AC(PSW.6):,做加减运算时,若低半字节有进位(借位),则,AC=1,,否则,AC=0,,辅助进位标志主要用于,BCD,运算调整时。,(3)软件标志,FO(PSW.5)
9、这是可由用户定义的一个状态标志,可由用户置位或复位。,F1,的定义与,F0,相同,。,(4)工作寄存器组选择位,RS1、RS0(PSW.4,PSW.3):RS1、RS0,与工作寄存器组的对应关系如下:,RS1RS0,工作寄存器组,片内,RAM,地址 0 0 第0组 00,H07H 0 1,第1组 08,H0FH 1 0,第2组 10,H17H 1 1,第3组 18,H1FH,单片机上电复位后,,RS1RS0=00,,此时第0组的8个工作寄存器为当前工作寄存器组。,(,5)溢出标志,OV(PSW.2):,当运算结果超出机器所能表示的范围时称溢出。,OV,是带符号数运算的溢出标志,如发生溢出,
10、则,OV=1;,否则,OV=0。,(6)奇偶标志,P(PSW.0):,P,反映执行指令后累加器,A,中1的个数的奇偶,若,A,中1的个数为奇数,则,P=1,,若,A,中1的个数为偶数,则,P=0。,程序状态字可反映运算结果的状态,下面以加法指令为例进行说明。,例:分析执行下列指令序列后,,A、C、AC、OV、P,的内容是什么?,MOV A,#79H,ADD A,#58H,该指令序列的功能是将79,H+58HA。,计算过程如下:,(79,H)01111001,+(58H)01011000,(D1H)11010001,指令执行后,,A=D1H,最高位无进位,故=0;低半字节有进位,,AC=1;OV
11、0 1=1,,发生溢出;,A,中1的个数为偶数,故,P=0。,CPU,时序,一振荡器,CPU,执行指令的一系列动作是在时序电路的控制下一拍一拍进行的。其节拍信号由振荡器产生,,MCS-51,系列单片机的内部有一个高增益的反相放大器。外接晶体后可构成自激振荡器产生节拍信号,接法见图2-1,也可使用片外振荡器,采用不同工艺制造的单片机芯片接法不同:,。,芯片状态,接法,XTAL1,XTAL2,HMOS,型,接地,接片外振荡脉冲输入端,(,带上拉电阻,),CHMOS,型,接片外振荡脉冲输入端(带上拉电阻),悬浮,二、时钟周期,机器周期、指令周期,振荡器输出的振荡脉冲经2分频后作为内部节拍信号,作单
12、片机内部各部件协调工作的控制信号,其周期称为时钟周期。,计算机一条指令的执行分几个阶段,每一阶段完成一项规定的操作,完成某一规定操作所需的时间称为一个机器周期。对,MCS51,系列单片机,6个时钟周期构成一个机器周期。,CPU,执行一条指令所需的时间为指令周期。指令周期以机器周期为单位,,MCS51,系列单片机的指令多为单周期、双周期指令,只有乘除指令为4周期指令,若用12,MHZ,晶振,则单周期指令、双周期指令的执行时间分别为1,s,和2,s,,而乘除指令则需4,s,三、,CPU,时序,MCS51,系列单片机的一个机器周期包含6个时钟周期。我们用,S1、S2、S6,表示,每个时钟周期的2个振
13、荡节拍用,P1、P2,表示,则一个机器周期包括12个振荡周期,不同周期、不同字节数的指令时序不同。,图,2-3,CPU,时序图,2.3,8051 存储器配置,MCS51,系列单片机内部一般既有只读存储,ROM,,又有随机存储器,RAM,,片内存储器的类型及容量见表23.,当片内存储器容量不够时,可在片外扩展,加用片外程序存储器与片外数据存储器。从结构上讲共有四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器,见图2-5。,图4,MCS51,系列单片机存储器配置图,程序存储器,程序存储器存放程序及各种表格、常数,其寻址范围为64,KB,,编址范围为0000,H,至,FF
14、FFH。,对于片内无程序存储器的机型(8031、8032),其程序存储器均在片外扩展,对于片内有程序存储器的机型(8051、8052、8751),也可在需要时扩展片外程序存储器。在既有片内又有片外程序存储器时,通常编址时先片内,后片外,片内片外连续不重叠。,EA,有两种接法:,EA=1,,此时复位后先执行片内程序存储器的程序;当,PC,中的内容超过片内程序存储器最后的一个单元的地址时,将自动转去执行片外程序存储器的程序。,EA=0,,此时将不访问片内程序存储器而直接访问片外程序存储器。,程序存储器中有特殊用途的,7,个单元:,0000,H,单元:,MCS51,系列单片机复位后,PC=0000H
15、即系统复位后从0000,H,单元开始执行程序,,0003,H,外部中断,0 中断服务程序入口地址,000,BH,定时器/计数器1溢出,中断,入口地址,0013,H,外部中断1入口地址,001,BH,定时器/计数器1溢出,中断,入口地址,0023,H,串行口,中断,入口地址,002,BH,定时器/计数器2溢出或,T2EX,端负跳变(仅8032、,8052 用),中断,入口地址,注意:,以上7个单元相隔很近,通常要执行的程序并不在此,单元内通常是一条绝对转移指令,转到程序真正的起始地址去执行程序.,。,数据存储器,MCS51,系列单片机的片内数据存储器分为片内,RAM,块与特殊功能寄存器(,S
16、FR),块,对于51子系列,片内,RAM,块的地址从00,H7FH,,占128个字节,,SFR,块从80,HFFH,,也为128字节。对于52子系列,前者编址从00,HFFH,,占256个字节,后者编址为80,HFFH,,占128字节。片内,RAM,的高128个字节的地址与,SFR,块重叠,当片内数据存储器容量不够时可扩展片外数据存储器,。,片外数据存储器用,R0、R1,间址寻址时,寻址范围为256个字节,用数据指针寄存器,DPTR,时寻址范围最大为64,KB。,在编址时,片外数据存储器的地址可与片内数据存储器的地址重叠,,,事实上,数据存储器与程序存储器的地址也是重叠的。,规定:,片内,RA
17、M,的高128个字节用寄存器间址寻址,而,SFR,块用直接寻址,访问片内数据存储器用,MOV,指令,访问片外数据存储器用,MOVX,指令,而访问程序存储器则用,MOVC,指令,,51子系列片内,RAM,块可分工作寄存器存器区、位寻址区、数据缓冲区等三个区域,这三个区域统一编址,从00,H7FH,,各区域有自己的特殊功能,也可统一调度使用。,注意:,单片机上电复位后,,SP=07H,,即堆栈处于,工作寄存器存器区,应给,SP,重新赋值。,一、片内,RAM,块,二、特殊功能寄存器块,SFR,特殊功能寄存器又称专用寄存器,与片内,RAM,统一编址(,PC,除外)用直接寻址方式寻址,其地址从80,HF
18、FH,,离散分布,.,注:,表中带*的寄存器都与定时器/计数器2有关,只在52子系列芯片中存在,2.4 输入输出端口结构,MCS51,系列单片机芯片有4个8位的准双向输入输出端口,称为,P0、P1、P2、P3,口,见表2,我们可以看出,P0-P3,口均有位地址,因此4个口的32根输入/输出线每一条可作为独立的输入/输出线使用。51系列单片机的输入输出端口与片内,RAM,统一编址,采用相同的指令进行访问,,P0P3,口采用直接寻址方式,其口地址依次为80,H、90H、A0H、B0H。,各端口的,结构见图2-5至图2-8,图2-5,P0,口的1位结构,图2-6,P1,口的1位结构,D,P1.i Q
19、锁存器,CL Q,读锁存器,内部总线,写锁存器,读引脚,内部上拉电阻,Vcc,2,1,V1,P1.i,引脚,图2-7,P2,口的1位结构,图2-8,P3,口的1位结构,各端口的,功能,P0,口有两种功能:在扩展片外存储器时作地址数据分时复用总线,在不进行扩展时作一般准双向输入/输出口使用,注意:,由于,V2,截止,如果输入电路由集电极开路或漏极开路电路驱动,应外加提升电路。,P1,口只有一种功能-通用准双向的输入/输出接口,P2,口有2种用途:通用准双向,I/O,接口或当单片机扩展了片外存储器时作高8位地址总线,P3,口除了作为通用准双向,I/O,使用外,还具有第2功能,(表2-1),2.5
20、复位及复位电路,MCS-51,系列单片列的,RST,引脚为复位引脚,只要在,RST,引脚上出现宽度在10,ms,以上的高电平,即可实现复位,复位通常有上电复位和操作复位两种方法。,复位是靠外部电路实现的。常用的一种上电与按钮复位电路见图。,复位后各专用存储器和程序计数器的状态见表22。,+5,V,R,C1,C2,C3,RST,MCS-51,表2-2 复位后各专用存储器和程序计数器的状态,寄存器,复位状态,寄存器,复位状态,PC,A,B,PSW,SP,DPTR,P0P3,IP,IE,TMOD,0000,H,OOH,00H,00H,07H,0000H,FFH,XX000000B,0X000000
21、B,00H,TCON,T2CON,TH0,TL0,TH1,TL1,SCON,SBUF,PCON,00,H,00H,00H,00H,00H,00H,00H,XXH,(0XXX0000B),注意:,单片机的各个功能模块由特殊寄存器控制,因此上述复位状态决定了单片机的初始状态:,、1、,PC0000H,,复位后从0000,H,单元开始执行程序。,2、,PSW=00H,,所以,RS1RS0=00,,复位后单片机当前工作寄存器组为第0组。,、,SP=07,,复位后堆栈区从片内,RAM08H,单元开始。,、复位后各定时器计数器初值为0。,、复位后中断禁止工作。,、复位后全部中断设置在低优先级中断状态。,、
22、P0P3,口全1。,小 结,本章介绍,MCS51,系列单片机的内部结构与外部引脚功能,主要讲述了,MCS51,系列单片机的存储器系统与输入输出端口的结构。其中,中断系统和内部定时器/计数器将在第5 章和第6章中介绍,本章是全书的基础。,1、,MCS51,系列单片机的存储器组织:,MCS51,系列单片机的存储器分为四个物理空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。片内数据存储器又分为,RAM,区(工作寄存器区、位寻址区、用户,RAM,区)和专用寄存器区(,SFR,区)两个区域。不同的存储器与不同的存储器区域,在访问时的指令、寻址方式、控制信号上均有所不同,必须熟练掌
23、握各区域的地址范围、控制与访问方法。,、输入输出端口的结构与功能:输入输出端口归入,SFR,区进行编址,注意,P0P3,端口在结构与功能上的区别,这在进行数据传送与片外存储器(接口)的扩展时尤其重要。,、时序:,MCS51,系列单片机执行指令的指令周期是用时钟周期来描述的,分为单周期指令、双周期指令、四周期指令四种,在实时控制中,单片机的运行速度是一个重要的指标,决定系统是否能正确的发挥控制作用,要注意恰当的使用指令以节约时间与空间。,思考题与习题二,1 简述,MCS51,系列单片机的内部结构并说明主要部分的功能。,2 简述,MCS51,系列单片机控制引脚的功能。,3 如何配置,MCS51,系
24、列单片机的存储器?各存储器如何编址?怎样避免引起混乱?,4,MCS51,系列单片机在访问片外数据存储器与片外程序存储器时的控制信号相同吗?,5,MCS51,系列单片机片内数据存储器分为几个区域?地址范围是多少?简述各区域的用途。,6 什么是位地址?什么是字节地址?位地址30,H,在片内数据存储器的哪一个单元?,7 片内存储器中的7个特殊单元有何作用?,8 说明程序状态字,PSW,中常用状态位的定义。,9 什么叫当前工作寄存器组?,MCS51,系列单片机如何选择当前寄存器组?,10,MCS51,系列单片机,P0P3,的四个端口在结构有何异同?说明各端口的功能。,11 为什么,P0P3,口称为“准双向”,I/O,口?,12,MCS51,系列单片机外接晶振是如何使用,XTAL1、XTAL2,引脚?,13 何谓时钟周期、机器周期、指令周期?,MCS51,系列单片机的机器周期与振荡周期有什么关系?如采用12,MHz,晶振,机器周期与指令周期各为多少?,14 结合复位后专用寄存器的值分析,MCS51,系列单片机的初始状态。,






