8051单片机基础知识 联系客服

发布时间 : 星期一 文章8051单片机基础知识更新完毕开始阅读e3d59ecd9ec3d5bbfd0a74de

8051单片机基础知识

一.8051单片机的特点

·8位CPU

·片内振荡器及时钟电路 ·32根I/O线

·外部存储器寻址范围ROM、RAM各64K ·2个16位的定时器/计数器 ·5个中断源,2个中断优先级 ·全双工串行口 ·布尔处理器

二.MCS-51系列单片机性能表 ROM形式 片内 ROM 8051 80C51 8052 80C52 片内 EPROM 8751 87C51 8752 87C52 外接 EPROM 8031 80C31 8032 80C32 片内 ROM (字节) 4K 4K 8K 8K 片内 RAM (字节) 128 128 256 256 I/O 寻址 范围 2×64K 2×64K 2×64K 2×64K 计数器 2×16 2×16 2×16 2×16 并行口 4×8 4×8 4×8 4×8 中 断 串行口 源 1 1 1 1 5 5 6 7 三.中央处理器

中央处理器(CPU)由运算器和控制逻辑构成,其中包括若干SFR(特殊功能寄存器)。

以ALU为中心的运算器:ALU(算术逻辑单元)能对数据进行加、减、乘、除等算术运算;“与”、“或”、“异或”等逻辑运算以及位操作运算。

程序状态字PSW:

D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P

CY—进位标志。有进位/借位时CY=1,否则CY=0

AC—半进位标志。当D3位向D4位产生进位/借位时AC=1,否则AC=0,常用于十进制调整运算中。

F0—用户可设定的标志位,可置位/复位,也可供测试。

RS1,RS0—四个通用寄存器组的选择位,该两位的四种组合状态用来选择0?3寄存器组。

RS1,RS0与工作寄存器组的关系 RS1 0 0 1 1 RS0 0 1 0 1 工作寄存器组 0组(00?07H) 1组(08?0FH) 2组(10?17H) 3组(18?1FH)

OV—溢出标志。当带符号数运算结果超出-128?+127范围时OV=1,否则OV=0。

1

当无符号数乘法结果超过255时,或当无符号数除法的除数为0时OV=1,否则OV=0。

P—奇偶校验标志。每条指令执行完,若A中1的个数为奇数时P=1,否则P=0, 即偶校验方式。

四.控制器、时钟电路和基本时序周期

·控制逻辑主要包括定时和控制逻辑、指令寄存器、译码器以及地址指针DPTR和程序 计数器PC等。 1.8051的时钟

时钟是时序的基础,8051片内由一个反相放大器构成振荡器,可以由它产生时钟。 时钟可以由两种方式产生:内部方式和外部方式

XTAL1 XTAL2 外部时钟 XTAL2 1.2M?12MHz XTAL1 10?30PF 10?30PF VSS

(a) 内部方式 (b) 外部方式

2.8051的基本时序周期

·振荡周期:指振荡源的周期,若为内部产生方式时,为石英晶体的振荡周期。 ·时钟周期:(称S周期)为振荡周期的两倍,时钟周期=振荡周期P1+振荡周期P2。 ·机器周期:一个机器周期含6个时钟周期(S周期)。

·指令周期:完成一条指令占用的全部时间。8051的指令周期含1?4个机器周期,其 中多数为单周期指令,还有2周期指令和4周期指令。 3.指令部件

·程序计数器PC:8051的PC是16位的计数器,其内容为下一条待执行指令的地址, 可寻址范围64K。

·指令寄存器IR:IR用来存放当前正在执行的指令。

·指令译码器ID:ID对IR中指令操作码进行分析解释,产生相应的控制信号。 ·数据指针DPTR:DPTR是16位地址寄存器,既可以用于寻址外部数据存储器,也可 以寻址外部程序存储器中的表格数据。DPTR也可以寻址64K地址空间。 五.存贮器组织

8051单片机物理上有四个存贮空间:片内程序存贮器和片外程序存贮器、片内数据存贮器和片外数据存贮器。 FF FFFF SFR FFFF 外部 RAM ROM 80 RAM 1000 外部 30 RAM 位寻址

00FF 内 部 外 部 20 工作寄 ROM ROM存器组 EA=1 EA=0 0000 00 ( 0 ? 3 ) 0000

2

六.片内并行接口

8051的芯片引脚中没有专门的地址总线和数据总线,在向外扩展存贮器和接口

时,由P2口输出地址总线的高8位A15?A8,由P0口输出地址总线的低8位A7?A0, 同时对P0口采用总线复用技术,P0口兼作8位双向数据总线D7?D0,即由P0口分 时输出低8位地址或输入/输出8位数据,在不作总线扩展时,P0口和P2口可以作为 普通I/O口使用。

P1口只能用作I/O口。

P3口的每一位都有各自的第二功能,见下表: 通道位 第二功能 注释 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD TXD INT0 INT1 T0 T1 WR RD 串行输入口 串行输出口 外部中断0输入 外部中断1输入 计数器0计数输入 计数器1计数输入 外部数据RAM写选通信号 外部数据RAM读选通信号

七.8051内部资源 1.串行口

8051单片机内部有一个可编程的、全双工的串行接口,串行收发存贮在特殊功能 寄存器SFR中的串行数据缓冲器SBUF中的数据,SBUF占用内部RAM地址99H。 但在机器内部,实际上有两个数据缓冲器:发送缓冲器和接收缓冲器,因此,可以同 时保留收/发数据,进行收/发操作,但收/发操作都是对同一地址99H进行的。 2.定时器/计数器

8051内部有两个16位可编程定时器/计数器,记为T0和T1,最大计数值为216- 1;可编程是指它们的工作方式由指令来设定,或者当计数器用,或者当定时器用,并 且计数(定时)的范围也可以由指令来设置。这种控制功能是通过定时器方式控制寄存器TMOD来完成的。

定时器在计到规定的定时值时可以向CPU发出中断申请,从而完成某种定时控制功能。在计数状态下同样也可以申请中断,定时器控制寄存器TCON用来负责定时器的启动、停止以及中断管理。

在定时工作时,时钟由单片机内部提供,即系统时钟经过12分频后作为定时器的

时钟。计数工作时,时钟脉冲(计数脉冲)由T0和T1(即P3.4,P3.5)输入。 3.中断系统

8051的中断系统允许接受5个独立的中断源,即两个外部中断申请,两个定时器/ 计数器中断以及一个串行口中断。

外部中断申请通过INT0和INT1(即P3.2和P3.3)输入,输入方式可以是电平触

发(低电平有效),也可以是边沿触发(下降沿有效)。两个定时器中断请求是定时器溢 出时向CPU提出的,即当定时器由状态全1转为全0时发出的。第五个中断请求是

3

由串行口发出的,串行口每发送完一个数据或接收完一个数据,就可提出一次中断申 请。

8051单片机可以设置两个中断优先级,即高优先级和低优先级,由中断优先控制 寄存器IP来控制。 八.8051的芯片引脚

8051单片机是采用40引脚双列直插封装的芯片,有些引脚具有两种功能,引脚功能如下:

(T2)P1.0 1 40 VCC

(T2EX)P1.1 2 39 P0.0(AD0) P1.2 3 38 P0.1(AD1) P1.3 4 37 P0.2(AD2) P1.4 5 36 P0.3(AD3) P1.5 6 35 P0.4(AD4) P1.6 7 34 P0.5(AD5) P1.7 8 33 P0.6(AD6) RST/VPD 9 32 P0.7(AD7) (RXD)P3.0 10 31 EA/VPP (TXD)P3.1 11 30 ALE/PROG (INT0)P3.2 12 29 PSEN (INT1)P3.3 13 28 P2.7(A15) (T0)P3.4 14 27 P2.6(A14) (T1)P3.5 15 26 P2.5(A13) (WR)P3.6 16 25 P2.4(A12) (RD)P3.7 17 24 P2.3(A11) XTAL2 18 23 P2.2(A10) XTAL1 19 22 P2.1(A9) VSS 20 21 P2.0(A8)

VCC(40) ? 电源+5V VSS(20) ? 接地

XTAL1(19)和XTAL2(18) ? 使用内部振荡电路时,用来接石英晶体和电容;使用外部 时钟时,用来输入时钟脉冲。

P0口(39?32) ? 双向I/O口,既可以作地址/数据总线口,也可以作为普通I/O口用。 P1口(1?8) ? 准双向通用I/O口。

P2口(21?28) ? 准双向口,既可以作地址总线口输出地址高8位,也可以作普通I/O 口用。

P3口(10?17) ? 多用途端口,既可以作普通I/O口用,也可以按每位定义的第二功能 操作。

ALE/PROG(30) ? 地址锁存信号输出端。在访问片外存贮器时,ALE为有效高电平时, P0口输出地址低8位,可以用ALE信号做外部地址锁存信号。 fALE =1/6fOSC,可以作系统中其它芯片的时钟源。第二功能PROG是 对8751的EPROM编程时的编程脉冲输入端。

RST/VPD(9) ? 复位信号输入端。8051接通电源后,在时钟电路作用下,该脚上出现 两个机器周期(24个振荡周期)以上的高电平,使内部复位。第二功 能是VPD,即备用电源输入端,当主电源VCC发生故障,降低到低电

4