1、第2章 单片机的内部结构 及工作原理,河南经贸职业学院 电子工程系 李存志 Tel:18638128296 Email: ,本章学习目标,MCS-51单片机的内部结构、引脚功能、工作方式和时序。 掌握MCS-51单片机的内部结构特点 了解单片机并行I/O口的结构特点 掌握MCS-51单片机的基本工作原理 掌握单片机最小系统的设计方法 掌握单片机存储器的扩展方法,主要特点: (1)扩大了内部程序存储器(ROM)和内部数据存储器(RAM)的容量。 (2)具有布尔代数运算能力。 (3)具有32条双向可被独立寻址的I/O口。 (4)具有56个中断源,可分为2个中断优先级。 (5)具有丰富的指令系统。
2、(6)具有全双工传输信号UART。 (7)片内具有时钟振荡电路。 (8)烧写工艺上采用可一次性烧写的内含ROM或可重复烧写的EPROM。,2.1.1 内部结构 微计算机组成,单片机的内部结构,1CPU,CPU也叫中央处理器,是单片机的核心部件,主要完成单片机的运算和控制功能。 (1)运算器:包括算术逻辑单元ALU、布尔处理器、累加器ACC、寄存器B、暂存器TMP1和TMP2、程序状态字PSW寄存器及十进制调整电路等。 (2)控制器:包括定时控制逻辑、指令寄存器、译码器以及信息传送控制部件等,以实现控制功能。,2内部存储器,单片机内的存储器包括程序存储器和数据存储器,它们是相互独立。 (1)程序
3、存储器(ROM):为只读存储器,用于存放程序指令,常数及数据表格。 (2)数据存储器(RAM):为随机存储器,用于存放数据。数据存储器又可分为内部数据存储器和外部数据存储器。 在单片机内部有256个RAM单元来存放可读写的数据,其中,后128单元被专用寄存器占用,作为寄存器供用户使用的只是前128单元。,3定时/计数器,MCS-51单片机内部有2个16位的定时器/计数器,用于实现内部定时或外部计数的功能;并以其定时或计数的结果(查询或中断方式)来实现控制功能。,4中断系统控制器,MCS-51单片机具有中断功能,以满足控制应用的需要。MCS-51共有5个中断源(52系列有6个中断源),即外部中断
4、2个,定时/计数器中断2个,串行口中断1个。全部中断可分为高级和低级两个优先级别。 5并行I/O口 MCS-51单片机内部共有四个8位的并行I/O口(P0、P1、P2、P3),以实现数据的并行输入和输出。,6全双工串行口,MCS-51单片机还有一个全双工的串行口,以实现单片机与外部之间的串行数据传送。 7OSC OSC是单片机的时钟电路。时钟电路用于单片机产生时钟脉冲序列,协调和控制单片机的工作。,MCS-51系列单片机分类,2.1.2 引脚定义及功能,8051,1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,40 39 38 37 36
5、35 34 33 32 31 30 29 28 27 26 25 24 23 22 21,P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPD RXD/ P3.0 TXD/ P3.1 INT0/ P3.2 INT1/ P3.3T0/ P3.4T1/ P3.5WR/ P3.6RD/ P3.7XTAL2XTAL1Vss,Vcc P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/Vpp ALE/PROG PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0,2单片机引脚说明,(1)P0口(32脚39脚)
6、有三种使用方法: 作为与外部传送数据的8位数据总线(D0D7)。 作为扩展外部存储器时的低8位地址总线(A0A7)。 (2)P1口(1脚8脚):作为普通I/O口使用,无须外接上拉电阻(80C52的P1.0和P1.1还具有特殊功能见表2-1)。 (3)P2口(21脚28脚)有两种使用方法: 作为普通I/O口使用,无须外接上拉电阻。 作为扩展外部存储器时的高8位地址总线(A8A15)。 (4)P3口(10脚17脚)有两种使用方法。作为普通I/O口使用,无须外接上拉电阻;,P3口的特殊功能,单片机引脚,(5)VDD(40脚):+5V电源。 (6)VSS(20脚):GND (7)XTAL1(19脚)
7、XTAL2(18脚):接外部石英晶振的引脚,也可引入外部时钟。 (8)RESET(9脚):复位信号引脚。必须在此引脚上出现两个机器周期的高电平,才能保证单片机可靠的复位。复位后,单片机内部各寄存器的状态见表2-2所示。,复位后单片机寄存器的内容,单片机引脚,(9)ALE/PROG(30脚):地址锁存允许信号。有以下三个作用: 当外接存储器(RAM/ROM)时,ALE(允许地址锁存)的输出用于锁存地址的低8位。一般ALE接锁存器的EN端。 当没有外部存储器时,ALE端可输出脉冲信号,此频率为石英振荡频率的1/6。因此,它可用作对外部芯片提供输出的时钟,或用于定时的目的。 (10)(29脚):外部
8、程序存储器的读选通信号,单片机引脚,(11) /VPP(脚31):访问程序存储器控制信号。 当信号接低电平时,对ROM的读操作(执行程序)限定在外部程序储器。 当接高电平时,对ROM的读操作(执行程序)从内部开始。在使用内部带程序存储器的单片机时,应接高电平。,2.2 单片机的存储器结构,(1)内部程序存储器(ROM):用来存放程序和表格常数。8051为4KB、8052为8KB。 (2)内部数据存储器(RAM):用来存放运算过程中的数据。包括寄存器在内,8051/31为128字节、8052/32为256字节。 (3)外部程序存储器(ROM):用来存放程序。最大可扩展64KB空间(包括内部ROM
9、)。 (4)外部数据存储器(RAM):在数据采集系统中可存放大量的数据。最大可扩展64KB空间(不包括内部RAM)。,1内部数据存储器,2.2.1 内部数据存储器及专用寄存器,内部数据存储器在结构上可分为两个不同的存储空间,即低128单元的数据存储器空间(00H7FH)和高128单元的具有特殊功能的专用寄存器存贮器空间(80H0FFH)。,2专用寄存器SFR,专用寄存器(Special Function Registers)也叫特殊功能寄存器,就是将内部RAM的高128单元作为特殊功能寄存器使用。其单元地址为80HFFH。,(1)B寄存器 B寄存器是一个8位寄存器,即可作为一般寄存器使用,也可
10、用于乘除运算。做乘法运算时,B是乘数。乘法操作后,乘积的高8位存于B中。做除法运算时,B存放除数。除法操作后,余数存放在B中。 (2)累加器ACC(Accumulator) 累加器A是在编程操作中最常用的专用寄存器,功能较多,可按位寻址。,(3)程序状态字PSW(Program Status Word),CY:进位标志。加减运算时,保存最高位进位、借位状态。AC:半进位标志。 例:78H+97H0111 1000+1001 01111 0000 1111,有进位 CY=1,没有半进位AY=0,(4)定时器2寄存器(52系列单片机独有) T2CON:定时器2控制寄存器。 T2MOD:定时器2方式
11、寄存器。 RCAP2L、RCAP2H:捕获寄存器,一旦8052单片机的T2EX脚出现负跳变,则TL2、TH2的内容立即被捕获到RCAP2L、RCAP2H中。 TL2、TH2:定时器2寄存器。 (5)IP寄存器 (6)IE寄存器 (7)SCON寄存器 (8)SBUF寄存器,(9)定时器0和定时器1寄存器 TCON:定时器控制寄存器。 TMOD:定时器方式寄存器。 TL0、TH0:定时器0寄存器。 TL1、TH1:定时器1寄存器。 (10)P0P3端口寄存器 (11)栈指针SP寄存器 栈指针SP寄存器指示出堆栈顶部在内部数据存储器中的位置。系统复位后,SP初始化为07H,如果不重新设置,就使得堆栈
12、由08H单元开始。但08H1FH单元属于工作寄存器区,所以在程序设计中,最好把SP的值设置的大一些,一般将堆栈开辟在30H7FH区域中。SP的值越小,堆栈容量就越大,但最大为128字节。,(12)数据指针DPTR寄存器 数据指针DPTR由两个8位寄存器DPH和DPL组合而成一个16位专用寄存器,其中DPH为DPTR的高8位,DPL为DPTR的低8位。,3.程序计数器PC,程序计数器PC中存储的是将要执行的指令地址, 是一个16位的计数器。寻址范围达64KB。,2.2.2 外部数据存储器,程序计数器PC中存储的是将要执行的指令地址,是一个16位的计数器。寻址范围达64KB。,2.2.3 程序存储
13、器,2.3 单片机并行IO口,8051单片机有4个I/O端口,每个端口都是8位准双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器P0P3)、一个输出驱动器和输入缓冲器。通常把4个端口笼统地表示为P0P3。,2.3.1 P0口的结构及特点,P0口的某位P0.n(n=07)结构图,它由一个 输出锁存器、两个三态输入缓冲器和输出驱动电路 及控制电路组成。从图中可以看出,P0口既可以作 为I/O用,也可以作为地址/数据线用。,1、P0口作为普通I/O口,输出时 CPU发出控制电平“0”封锁“与”门,将输出上拉场效 应管T1截止,同时使多路开关MUX把锁存器与输出,驱动场效应管T2栅极接通
14、。故内部总线与P0口同相。由于输出驱动级是漏极开路电路,若驱动NMOS或其 它拉流负载时,需要外接上拉电阻。P0的输出级可驱动8个LSTTL负载。, 输入时-分读引脚或读锁存器 读引脚:由传送指令(MOV)实现;下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。, 输入时-分读引脚或读锁存器 读锁存器:有些指令 如:ANL P0,A称为“读-改-写” 指令,需要读锁存器。上面一个缓冲器用于读端口锁存器数据。,*原因:如果此时该端口的负载恰是一个晶体管基极,且原端口输出值为1,那么导通了的PN结会把端口引脚高电
15、平拉低;若此时直接读端口引脚信号,将会把原输出的“1”电平误读为“0”电平。现采用读输出锁存器代替读引脚,图中,上面的三态缓冲器就为读锁存器Q端信号而设,读输出锁存器可避免上述可能发生的错误。*,准双向口:从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。,2、P0作为地址/数据总线,在系统扩展时,P0端口作为地址/数据总线使用时,分为:P0引脚输出地址/数据信息。,CPU发出控制电平“1”,打开“与”门,
16、又使多路开关MUX把CPU的地址/数据总线与T2栅极反相接通,输出地址或数据。由图上可以看出,上下两个FET处于反相,构成了推拉式的输出电路,其负载能力大大增强。,2、P0作为地址/数据总线,P0引脚输出地址/输入数据输入信号是从引脚通过输入缓冲器进入内部总线。此时,CPU自动使MUX向下,并向P0口写“1”,“读引脚”控制信号有效,下面的缓冲器打开,外部数据读入内部总线。,2、P0作为地址/数据总线,-真正的双向口,2.3.2. P1口的结构及特点,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成-准双向口。,2.3.3. P2口的结构及特点,1.P2口作为普通I/O口,CPU发出控
17、制电平“0” ,使多路开关MUX倒向锁存器 输出Q端,构成一个准双向口。其功能与P1相同。,2.P2口作为地址总线在系统扩展片外程序存储器扩展数据存储器且容量超过256B (用MOVX DPTR指令)时,CPU发出控制电平“1”,使多路开关MUX倒内部地址线。此时,P2输出高8位地址。,2.3.4. P3口的结构及特点,D Q CLK Q,P3.n,读锁存器,内部总线,写锁存器,读引脚,VCC,R,T,P3口引脚,第二输入功能,第二输出功能,一、作为通用I/O口与P1口类似-准双向口(W=1),W,P3的内部结构,D Q CLK Q,P3.n,读锁存器,内部总线,写锁存器,读引脚,VCC,R,
18、T,P3口引脚,第二输入功能,第二输出功能,二、P3第二功能(Q=1) 此时引脚部分输入(Q=1、W=1) ,部分输出(Q=1、W输出) 。,W,2.4.2 单片机的CPU时序,MCS-51包括4个定时单位,它们分别是:振荡周期(节拍)、时钟周期(状态周期)、机器周期和指令周期。单片机两种常用晶振的4个周期信号的对比见表2-7所示。,1.振荡周期 振荡周期也叫节拍,用P表示,振荡周期是指为单片机提供定时信号的振荡源的周期。是时序中最小的时间单位。例如:若某单片机时钟频率为2MHz,则它的振荡周期应为0.5s。 2.时钟周期 时钟周期又叫做状态周期,用S表示。是振荡周期的二倍,其前半周期对应的节
19、拍叫P1拍,后半周期对应的节拍叫P2。P1节拍通常完成算术、逻辑运算,P2节拍通常完成传送指令。,3.机器周期 机器周期是实现特定功能所需的时间周期,通常有若干时钟周期构成。MCS-51的一个机器周期是固定不变的,宽度均由6个状态周期(12个振荡周期)组成,并依次表示为S1S6,分别记作S1P1、S1P2S6P1、S6P2。 4.指令周期 指令周期是最大的时序定时单位,指令周期是指执行一条指令需要的时间。通常MCS-51的指令周期可以包含有14个机器周期。MCS-51的几种典型的指令时序如图2-15所示,每个机器周期内地址锁存信号(ALE)产生两次有效信号,分别出现在S1P2、S2P1期间与S
20、4P2、S5P1期间。,2.5.2 节电工作方式 MCS-51单片机中有HMOS和CHMOS两种工艺芯片,它们的节电运行方式不同,HMOS单片机的节电方式只有掉电方式,CHMOS单片机的节电工作方式有掉电方式和空闲方式两种。,2.5 单片机的工作方式,2.5.1 程序执行方式 1连续执行方式 2单步运行方式 3.复位方式,1HMOS的掉电工作方式,掉电工作方式是指由于电源的故障使电源电压丢失或工作电压低于正常值,使单片机系统不能正常运行,若不采取保护措施,将丢失RAM和寄存器中的全部数据,后果严重。为此MCS-51系列单片机设置有掉电保护措施,进行掉电保护处理。具体做法是: 检测电路一旦发现掉
21、电,通过外部中断源向CPU发出中断请求,CPU响应此中断请求,调用中断服务子程序,由中断服务子程序将重要数据送内部RAM转存,立即先把程序运行过程中有用信息转存到RAM,然后启用备用电源维持RAM供电。,2CHMOS的节电工作方式,单片机还设计有待机和掉电两种节电工作方式,特别适宜于低功耗场合。,PCON控制寄存器的格式如下:,PCON各位的说明如下:,SMOD:串行口波特率加倍控制位。SMOD=1,波特率加倍。 GF1、GF0:通用标志位,由用户置位或复位。 PD:掉电方式位,若PD=1,进入掉电工作方式。 IDL:待机方式位,若IDL=1,进入待机工作方式。 若PD和IDL同时为1,则进入
22、掉电工作方式。 (1)待机工作方式 是将PCON寄存器的IDL位置“1”,即进入待机工作方式。 退出待机方式的方法有两种,一种是激活中断,另一种是硬件复位。,(2)掉电保护方式,是将PCON中的PD位置“1”使单片机进入掉电保护方式。80C51单片机一旦检测到电源掉电,即将有用信息转存到片内数据存储器RAM中的低128字节内,并使PCON.1的PD位置“1”,单片机进入掉电方式。掉电方式下送入时钟电路的振荡信号被封锁,不产生时钟信号,片内的一切工作都停止,只有片内RAM的数据保留。 只要电源恢复正常值,单片机就可以退出掉电方式,进入正常工作方式,但硬件复位须维持10ms时间。,2.5.3 复位,1复位方式 (1)复位条件 为了实现单片机的复位,在时钟电路工作后,必须在单片机的RESET端(9)至少维持2个机器周期以上的高电平,单片机进入复位状态(即程序从0000H地址开始执行)。 时钟频率为12MHZ,机器周期为1s,则在单片机的RESET端只需持续2s以上时间的高电就能进入复位状态。,(2)复位后的状态,单片机复位后,片内RAM中低128B的内容不会改变,但特殊功能寄存器(SFR)的值被初始化。复位期间单片机的ALE和端输出高电平。,2复位电路,