51单片机硬件结构_第1页
51单片机硬件结构_第2页
51单片机硬件结构_第3页
51单片机硬件结构_第4页
51单片机硬件结构_第5页
已阅读5页,还剩114页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

单片机硬件结构

2008-3-51

MCS-51系列单片机配置一览表

片内存储器(字节)中

定时器并行串行

系列片内ROM断

片内计数器I/OI/O

无有ROM有EPROMRAM源

Intel80518751

8031128

MCS-5180C5187C512x164x8位15

80C31字节

子系列(4K字节)(4K字节)

Intel80528752

8032256

MCS-5280C5287C523x164x8位16

80C32字节

子系列(8K字节)(8K字节)

1051(1K)2051(2K)4051(4K)

ATEML12821515

(20条引脚DIP封装)

89c系列

89C51(4K)89C52(8K)128/2

(常用型)2/33215/6

(40条引脚DIP封装)56

结构框图

频率基准源计数信号

|64KB总线—

内部扩展.制二>可编程I/O

断信号/\?\

\/\7」上一

1并行I/。口IIXIS

外部中断信号控制信号

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

80c51系列单片机内部结构及功能部件

P1.01w40nVcc

•18个(增强型为21个)特殊功能P1.1239PO.O

寄存器SFR。PL2338_P0.1

P1.3437LP0.2

P1.4536—)P0.3

・4个8位并行输入输出I/O接口:P0P1.5635P0.4

口、P1口、P2口、P3口(共32P1.6734P0.5

线),用于并行输入或输出数据。P1.78803133口P0.6

RST/VPD9

805132口P0.7

个串行接口。RxDP3.010875131——।EA/Vpp

•1I/OTxDP3.11130—1ALE/PROG

INTOP3.21229—]PSEN

・2个(增强型为3个)16位定时器/INTIP3.31328P2.7

计数器TOP3.41427P2.6

T1P3.51526二P2.5

•1个具有5个(增强型为6个或7个)WRP3.61625二P2.4

中胡源,可编程为2个优先级的中RDP3.71724=)P2.3

断累统。它可、......XTAL21823二1P2.2

B中断XTAL1二1922二P2.1

请信时附计娄Vss匚2021=1P2.0

口中断申请。图2—3aMCS-51引脚图

2008-03-054

单片机原理及应用

ZHUANGSO-TECHUNlVBRSiTV

80c51系列单片机内部结构及功能部件

5

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

CPU内部结构:(1)运算电路:

运算部件以算术逻辑运算单元ALU为核心,包含累加

器ACC、B寄存器、暂存器、标志寄存器PSW等许多部件,

它能实现算术运算、逻辑运算、位运算、数据传输等处

理。

算术运算单元ALU是一个8位的运算器,它不仅可以完

成8位二进制数据加、减、乘、除等基本的算术运算,还

可以完成8位二进制数据逻辑“与”、“或”、“异或”、

循环移位、求补、清零等逻辑运算,并具有数据传输、

程序转移等功能。ALU还有一个一般微型计算机没有的

位运算器,它可以对一位二进制数据进行置位、清零、

求反、测试转移及位逻辑“与”、“或”等处理。这对

于控制方面很有用。

2008-03-056

单片机原理及应用

ZHUANGSO-TECHUNlVBRSiTV

存储器

•RAM,CPU在运行时能随时进行数据的写入和读出,但在关闭电

鹦霹鬣鞭毓辕失。它用来存放暂时性的输入输出数据、

•ROM是一种写入信息后不易改写的存储器。断电后,ROM中的信

瓢里不变。用来存放固定的程序或数据,如系统监控程序、常数

•闪速存储器----FlashMemory

•EPROM------(UV)ErazibleProgrammableROM

•EEPROM/E2PROM——ElectricalErasable

ProgrammableROM

•静态存储器SRAM——StaticRAM

•(动态存储器DRAM——DynamicRAM)

•按字节寻址:每个字节(8个位)占一个地址

・按位寻址:有的存储器每一个位就有一个地址

2008-03-057

单片机原理及应用4A建4上启

ZHEJIANGSCPTBCHUNlYtRSTTV

89c51单片机存储器配置

■片内RAM128字节(OOH—7FH);

片内RAM前32个单元是工作寄存器区(OOH—1FH)

片内RAM有128个可按位寻址的位,占16个单元。

位地址编号为:OOH—7FH,分布在20H—2FH单元

片内21个特殊功能寄存器(SFR)中:地址号能被8整除的

SFR中的各位也可按位寻址(P.33-34)

•可寻址片外RAM64K字节(OOOOH—FFFFH)

•可寻址片外ROM64K字节(OOOOH—FFFFH)

•片内FlashROM4K字节(000H—FFFH)

2008-03-058

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

⑴寄存器区

•寄存器通常用于存放操作数及中间结果,由于它们的功

能及使用不做预先规定,因此称为通用寄存器,有时也

叫工作寄存器。在任一时刻,CPU只能占用其中的一组

寄存器,并且把正在使用的那组寄存器称为当前寄存器。

FFH工作寄存器区3

52子系列才有工作寄存器区2

的RAM区工作寄存器区1

R7

80Ho6F1R6工

7FHo5tIR5作

o4FIR4寄

普通RAM区存

o3FIR3

30Ho2tIR2器

2FH区

位寻址区o1tIR1

20HR0o

匚作寄存器区

2008-03-059

L片机原理及应用

52・仃.

89C51|HB普通RAM区■|所有的RAM区(包括位■

128字节---------H同寻址区、工作寄存器.

■区)都可以用于存放■

「―■

2008-03-0510

⑵位寻址区

片内RAM中有;8个可按位寻址的位。

位地址:OOH—7FH2FH

分布在:20H—2FH单元

281

FFH共

271

12

个28

26可

52子系列才有I

25位

的RAM区址

8oH24的

7FH

23

1

普通RAM区22

3oH1

2FH21

1

2oH位寻址区20

匚彳乍<存茗浮区I

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

⑶用户RAM区

•在内部RAM低128单元中,通用寄存器产士32个单元,

位寻址区占去16个单元,还剩余80个单元,作为供用户

使用的一般洲区。

•对于用户RAM区,只能以存储单元的形式来使用,其

他没有任何规定和限制,但一般在应用中常把堆栈开辟

在这个区域中。

2008-03-0512

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

累加器ACC

累加器ACC(简称为A)为一个8位的寄存器,它是

CPU中使用最频繁的寄存器,ALU进行运算时,数据绝

大多数时候都来自于累加器ACC,运算结果也通常送回

累加器ACC。

2008-03-0513

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

辅助寄存器

•寄存器B称为辅助寄存器,它是为乘法和除法指令而设置

的。在乘法运算时,累加器A和寄存器B在乘法运算前存

放乘数和被乘数,运算完后,通过寄存器B和累加器A存

放结果。除法运算时,运算前,累加器A和寄存器B存入

被除数和除数,运算后用于存放商和余数。

2008-03-0514

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

程序状态字PSW

・程序状态字PSW(8位):程序状态字是一个8

位寄存器,用于存放程序运行的状态信息,这个寄

存器的一些位可

•由软件设置,有些位则由硬件运行时根据指令执行

结果自动设置。功能说明如表所示。

PSW.6PSW.5

CYACFORSIRSOOV三P

2008-03-0515

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

程序状态字PSW

PSW.7PSW.6PSW.5PSW.0

CYACF0RS1RS0OVP

▼CY(PSW.7)进位/借位标志位。若ACC在运算过程中发

生了进位或借位,则CY=1;否则=0。它也是布尔处理器

的位累加器,可用于布尔操作。

▼AC(PSW.6)半进位/借位标志位。若ACC在运算过程中,

D3位向D4位发生了进位或借位,则CY=1,否则=0。机器

在执行“DAA”指令时自动要判断这一位,我们可以暂

时本关心它。

▼F0(PSW.5)可由用户定义的标志位。

2008-03-0516

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

程序状态字PSW

PSW.7PSW.6PSW.5PSW.0

▼RS1(PSW.4)>RS0(PSW.3)工作寄存器组选择位

RS1,RSO=OO则选择了工作寄存器组。区R0〜R7分

别代表00H〜07H单元。

RS1,RS0=01则选择了工作寄存器组1区R0〜R7分

另U代表08H〜0FH单元。

其余类似

2008-03-0517

单片机原理及应用430!」丈舍

ZHEJIANGSO-TBCMUNIYBBSTTV

寄存器选择组合

RSIRS0寄存器组片内RAM地址

00第0组00H-07H

01第1组08H-0FH

10第2组10H〜17H

11第3组18H〜1FH

2008-03-0518

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

程序状态字PSW

PSW.7PSW.6PSW.5PSW.0

OV

▼OV--------溢出标志位

主要反映带符号数运算的结果是否正确。带符号加减运

算中,超出了累加器A所能表示的符号数有效范围(一

128——127)时,即产生溢出,ov=l。表明运算结果错

误。如果ov=0,表明运算结果正确,即无溢出产生。

2008-03-0519

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

(4)数据指针DPTR(16位):

•数据指针(DPTR)。数据指针为16位寄存器。编程时,

DPTR既可以按16位寄存器使用,也可以按两个8位寄存

器分开使用,即:

DPHDPTR高位字节

DPLDPTR低位字节

•DPTR通常在访问外部数据存储器时作地址指针使用。由

于外部数据存储器的寻址范围为64KB,故把DPTR设计

为16位。

2008-03-0520

单片机原理及应用4A建』上启

ZHEJIANGSCPTBCHUNIYERSTTV

内部数据存储器高128单元

•内部RAM的高128单元

•——专用寄存器(SFR)区地址为80H〜FFH

特殊功能寄存器(SFR)也称专用寄存器,专门用于控制、管理片内算

术逻辑部件、并行I/O口、串行口、定时/计数器、中断系统等功能模块的工

作,用户在编程时可以给其设定值,但不能移作它用。分布在80H—FFH地址

空间,与片内数据存储器统一编址,除PC外,51子系列有21个特殊功能寄存

器。它们的分配情况如下:CPU专用寄存器:累加器A(EOH),寄存器B

(FOH),程序状态寄存器PSW(DOH),堆栈指针SP(81H),数据指针DPTR

(82H、83H)。

并行接口:P0~P3(80H、90H、AOH、BOH)o

串行接口:串口控制寄存器SCON(98H),串口数据缓冲器SBUF

(99h),电源控制寄存器PCON(87H)。

2008-03-0521

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

位地址与位名称

特殊功能寄存器名称符号地址

D7D6D5D4D3D2DIDO

ponP080H8786858483828180

堆栈指针SP81H

数据指针低字节DPL82H

数据指针高字节DPH83H

TF1TR1TFOTROIE1IT11E0ITO

定时/计数器控制TCON88H

8F8E8D8C8B8A8988

定时/计数器方式TMOD89HGATEC/TMlMOGATEC/TMlMO

2008-03-0522

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

定时/计数器0低字节TL08AH

定时/计数器0高字节TH08BH

定时/计数器1低字节TI.I8CH

定时/计数器1高字节TH18DH

P1UP190H9796959493929190

电源控制PCON87HSMODGF1GFOPDIDL

SMRE

SMOSMOTB8RB8TIRI

串行口控制SCON98H1N

9F9D9B9A9998

9E9C

串行口数据SBUF99H

P2口P2AOHA7A6A5A4A3A2AlA0

EAET2ESET1EXIETOEXO

中断允许控制IEA8H

AFADACABAAA9A9

2008-03-0523

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

P3口P3BOHB7B6B5B4B3B2BlBO

中断优先级PT2PSPT1PX1PTOPXO

IPB8H

控制BDBCBBBAB9B8

程序状态寄CACFORSIRSOOVP

PSWDOHDI

存器D7D6D5D4D3D2DO

累加器AEOHE7E6E5E4E3E2ElEO

寄存器BBFOHF7F6F5F4F3F2FlFO

2008-03-0524

单片机原理及应用4A建4丈舍

ZHUANGSO-TECHUNIVBRSITV

程序计数器PC(16位):

CPU总是按PC的指示读取程序。PC是一个16位的计数器。

其内容为将要执行的指令地址(即下一条指令地址),可自

动加1。因此CPU执行程序一般是顺序方式。当发生转移、

子程序调用、中断和复位等操作,PC被强制改写,程序执

行顺序也发生改变。

■复位时,PC=OOOOHo

2008-03-0525

单片机原理及应用4A建4上舍

ZHE4ANGSO-TECHUNlVBRSiTV

2.2.3堆栈操作

堆栈是只允许在其一端进行数据插入和数据删除操作的

线性表,是一种数据结构。数据与入堆栈称为插入运算

(Push),也叫入栈;数据从堆栈中读出称为删除运算(POP),

也叫出栈。堆栈进循的是“后进先出”的数据操作规则,即

先入栈的数据由于存放在栈的底部,因此后出栈:而后入栈

的数据存放在栈的项部,因此先出栈。

堆栈的开辟

鉴于单片机的特点,堆栈只能开辟在芯片的内部数据

存储器中,即所谓的内堆栈形式。

Mes—51也是这样的,内堆栈操作速度快,但堆栈容

量有限。

2008-03-0526

单片机原理及应用4A整」丈舍

ZHEJIANGSCHTBCHUNIYBUSTTV

堆栈的作用

堆栈主要是为子程序调用和中断操作而设立的。主要功能

是:保护断点和保护现场。在计算机转去执行子程序或中断服务

之前,预先把主程序的断点保护起来,为程序的正确返回作准备,

因为在计算机中无论是执行子程序调用操作还是执行中断操作,

最终都要返回主程序。

计算机在转去执行子程序或中断服务程序以后,很可能要使

用单片机中的一些寄存器单元,这样就会破坏这些寄存单元中的

原有内容。为了既能在于程序或中断服务程序中使用这些寄存单

元,又能保证在返回主程序之后恢复这些寄存单元的原有内容,

在转中断服务程序之前要把单丹机中各有关寄存单元的内容保存

起来,这就是现场保护。

堆栈主要是为中断服务操作和子程序调用而设立的,将断点

和现场内容保存在堆栈中。当计算机进行多级中断嵌套及多重子

程序嵌套时,就要求堆栈具有足够的容量或者足够的深度。此外,

堆栈也可以用于数据的临时存放,在程序设计中时常用到。

2008-03-0527

,向上生长型(向地址增大的方向生成):MCS—51系列

堆栈类型

、向下生长型(向地址较低的方向生成):MCS—96系歹IJ

堆栈指针SP(8位):

MCS—51系列的堆栈是按“先进后出”原则存取数据的存储区。

MCS—51堆栈设在片内RAM区。

•数据入栈时:先SP自动加1,后写入数据,SP始终指向栈顶地址。

—“先加后压”

.数据出栈时:先读出数据,后SP自动减1,SP始终指向栈顶地址。

——“先弹后减”

复位时SP=07H。但在程序设计时应将SP值初始化为30H以后,以免占用宝

贵的寄存器区和位地址区。

单片机原理及应用

ZHUANGSO-TECHUNlVBRSiTV

堆栈的使用方法

堆栈有两种使用方法,一种是自动方式,即在调用于程

序或中断时,返回地址(断点)自动进栈。程序返回时,断点

再自动弹回Pc。这种堆栈操作无需用户干预,因此称为自动

方式。

另一种是指令方式,即使用专用的堆栈操作指令,进行

进出栈操作。其进栈指令为PUSH,出栈指令为POP。例如现场

保护就是指令方式的进栈操作:而现场恢复就是指令方式的

出栈操作。

2008-03-0529

单片机原理及应用

ZHUANGSO-TECHUNlVBRSiTV

2.2.4内部程序存储器

程序存储器用于存放用户程序和表格常数。一个微处理器能够执行某种

任务,除了它们强大的硬件外,还需要它们运行的软件。其实微处理器只是

完全按照人们预先编写的程序执行。设讨人员编写的程序就存放在微处理器

的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理

问题的——系列命令。其实程序和数据一样,都是由机器码组成的代码串。

只是程序代码存放于程序存储器中。

2008-03-0530

单片机原理及应用4》及房上启

ZHE4ANGSO-TECHUNlVBRSiTV

中断入口:0003H〜002AH

•0003H-000AH外部中断0(INT。)中断地址区

•000BH-0012H定时器/记数器0(T。)中断地址区

・0013H-001AH外部中断1(INT])中断地址区

•001BH-0022H定时器/计数器1(T,)中断地址区

•0023H-002AH串行(RI/TI)中断地址区

•中断服务程序存放方法:

•(1)从中断地址区首地址开始,在中断地址区中直接存放;

•(2)从中断地址区首地址开始,存放一条无条件转移指令,以便中断

响应后,通过中断地址区,再转到中断服务程序的实际入口地址区去。

2008-03-0531

单片机原理及应用4A建4丈舍

ZHE4ANGSO-TECHUNlVBRSiTV

单片机的引脚定义

从一片集成电路的角度去认识单片机

2008-03-0532

P1.OB140■vcc

P1.1■239□PO.O(ADO)MCS-51单片机40脚

P1.2B338□PO.1(AD1)

P1.3I437□P0.2(AD2)Vcc,GND2

P1.4B536□P0.3(AD3)

P1.5B635□P0.4(AD4)XTAL1,XTAL22

P1.6B34□P0.5(AD5)

7RESET1

P1.7i833□P0.6(AD6)

RSTB932□P0.7(AD7)EA/Vpp1

(RXD)P3.0匚1031■EAA/PP

(TXD)P3.1□1130■ALE/PROGALE/PROG1

(iirro)P3.2匚1229■PSEN

(INTT)P3.3匚1328□P2.7(A15)PSEN1

(TO)P3.4匚1427□P26(A14)

(T1)P3.5□1526□P2.5(A13)PO.0—PO.78

(WR)P3.6匚1625□P2.4(A12)Pl.0—Pl.78

(RD)P3.7匚1724□P2.3(A11)P2.0—P2.78

XTAL211823□P2.2(A10)P3.0—P3.78

XTAL1■1922□P2.1(A9)

GND■2021□P2.0(A8)

单片机的引脚(电源端)

Vcc,GND正电源端与接地端(+5V/3.3V/2.7V)不同的单片

机可以允许不同的工作电压,不同的单片机表现出的功耗也

不同。

单片机的引脚(晶振端)

•Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)不同的单片

机可以允许不同的工作电压,不同的单片机表现出的功耗也

不同。

♦XTAL1,XTAL2:片内振荡电路输入/输出端

单片机的引脚(晶振端)

•Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)

XTAL1,XTAL2:片内振荡电路输入/输出端

通常外接也可以由XTAL1

一个晶振端接入外部时钟,

两个电容此时应将XTAL2

接地:

XTAL1

外部时钟

HP2XTAL2

15〜45pfx2

1〜12MHz(MCS-51)

0-24MHz(Atmel-89C)

单片机的引脚(晶振端)

•Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)

XTAL1,XTAL2:片内振荡电路输入、输出端

CPU总是按照一定的时钟节拍与时序工作:

振荡周期/时

氏=晶振频率fosc(或外加频率)的倒数

1匚

、Ts=2个时钟周期(Tc)(很少用到此概念)

1匚

、Tm=6个状态周期(Ts)=12个振荡周期(Tc)

周期

-匚

、Ti:执行一条指令所需的机器周期(Tm)数

振荡周期=晶振频率fosc的倒数;

1个机器周期=12个振荡周期;

1个指令周期=1、2、4个机器周期

单片机的引脚(复位端)

•Vcc,GND:电源端(+5V/3.3V/2.7V)

XTAL1,XTAL2:片内振荡电路输入、输出端

•RESET:复位端(正脉冲有效,宽度>8mS)

单片机的引脚(复位端)

•Vcc,GND:电源端(+5V/3.3V/2.7V)

XTAL1,XTAL2:片内振荡电路输入、输出端

•RESET:复位端(正脉冲有效,宽度>8mS)

复位使单片机进入某种确定的初始状态:

▼PC值归零(0000H);

▼各个SFR被赋予初始值(见P.42):

P0-P3=OFFH,Acc=0,B=0,TH0=0,

TL0=0,TH1=O,TL0=0,SP=7,PSW=0.......

▼退出处于节电工作方式的停顿状态、退出一切

程序进程、退出程序的死循环,从头开始。

PC与SFR复位状态表

寄存器复位状态寄存器复位状态

PC0000H1TCONOOHJ

AOOHT2CONOOH

BOOHTHOOOH

PSWOOHTLOOOH

SP07HTH1OOH

DPTR0000HTL1OOH

PO〜P3FFHSCONOOH

IPXX000000BSBUFXXH

IE0X000000BPCON0XXX0000B

TMODOOH

单片机的引脚(复位端)

Vcc,GND:电源端(+5V/3.3V/2.7V)

XTAL1,XTAL2:片内振荡电路输入、输出端

RESET:复位端(正脉冲有效,宽度>8mS)

+5V

r

GND

―上电复位"手动&上电复位

单片机的引脚(a端)

•Vcc,GND:电源端(+5V/3.3V/2.7V)

•XTAL1,XTAL2:片内振荡电路输入、输出端

•RESET:复位端(正脉冲有效,宽度>8mS)

•EA/Vpp:寻址外部ROM控制端/编程电源输入端。

低有效,片内无ROM时必须接地;

片内有ROM时应当接高电平;

对片内ROM编程时编程正电源加到此端。

单片机的引脚(ALE端)

•Vcc,GND:电源端(+5V/3.3V/2.7V)

•XTAL1,XTAL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论