MCS-51单片机结构介绍

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MCS-51介绍

MCS-51系列单片机产品有8051,8031,8751,80C51,80C31等型号(前三种为CMOS芯片,后两种为CHMOS芯片)。它们的结构基本相同,其主要差别反映在存储器的配置上。8051内部设有4K字节的掩模ROM程序存储器,8031片内没有程序存储器,而8751是将8051片内的ROM换成EPROM。由ATMEL公司生产的89C51将EPROM改成了4K的闪速存储器,他们的结构大同小异,本章将对8051单片机的结构作一介绍。

1 MCS-51单片机内部结构

1.1、MCS-51单片机组成

MCS-51单片机是在一块芯片中集成了CPU,RAM,ROM、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件。MCS-51单片机内包含下列几个部件:

◆一个8位CPU;

◆一个片内振荡器及时钟电路;

◆4K字节ROM程序存储器;

◆128字节RAM数据存储器;

◆两个16位定时器/计数器;

◆可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;

◆32条可编程的I/O线(四个8位并行I/O端口);

◆一个可编程全双工串行口;

◆具有五个中断源、两个优先级嵌套中断结构。

串行串行中断控制并行I/O 口输入输出

图2-1 8051单片机框图

8051单片机框图如图2-1所示。各功能部件由内部总线联接在一起。

图中4K(4096)字节的ROM存储器部分用EPROM替换就成为8751;图中去掉ROM 部分就成为8031的结构图。

1、CPU

CPU是单片机的核心部件。它由运算器和控制器等部件组成。

⑴运算器

运算器的功能是进行算术运算和逻辑运算。可以对半字节(4位)、单字节等数据进行操作。例如能完成加、减、乘、除、加1、减1、BCD码十进制调整、比较等算术运算和与、或、异或、求补、循环等逻辑操作,操作结果的状态信息送至状态寄存器。

8051运算器还包含有一个布尔处理器,用来处理位操作。它是以进位标志位C为累加器的,可执行置位、复位、取反、等于1转移、等于0转移、等于1转移且清0以及进位标志位与其他可寻址的位之间进行数据传送等位操作。也能使进位标志位与其他可位寻址的位之间进行逻辑与、或操作。

1)程序计数器PC

程序计数器PC用来存放即将要执行的指令地址,共16位,可对64K程序存储器直接寻址。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。

2)令寄存器

指令寄存器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送入指令寄存器,经译码后由定时与控制电路发出相应的控制信号,完成指令功能。

3)定时与控制部件

①时钟电路

8051片内设有一个由反向放大器所构成的振荡电路,XTAL1和XTAL2分别为振荡

电路的输入和输出端,时钟可以由内部方式产生或外部方式产生。内部方式时钟电路如图2-2所示。在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶振可以在1.2MHz到12MHz 之间选择,电容值在5-30PF之间选择,电容的大小可起频率微调作用。

电容2

图2-2 内部方式时钟电路

外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。

时钟发生器把振荡频率两分频,产生一个两相时钟信号P1和P2供单片机使用。P1在每一个状态S的前半部分有效,P2在每个状态的后半部分有效。

②时序

MCS-51典型的指令周期(执行一条指令的时间称为指令周期)为一个机器周期,一个机器周期由六个状态(十二振荡周期)组成。每个状态又被分成两个时相P1和P2。

所以,一个机器周期可以依次表示为S1P1,S1P2……,S6P1,S6P2。通常算术逻辑操作在P1时相进行,而内部寄存器传送在P2时相进行。

图2-3给出了8051单片机的取指和执行指令的定时关系。这些内部时钟信号不能从外部观察到,所用XTAL2振荡信号作参考。在图中可看到,低8位地址的锁存信号ALE 在每个机器周期中两次有效:一次在S1P2与S2P1期间,另一次在S4P2与S5P1期间。

图2-3 8051时序

对于单周期指令,当操作码被送入指令寄存器时,便从S1P2开始执行指令。如果是双字节单机器周期指令,则在同一机器周期的S4期间读入第二个字节,若是单字节单机器周期指令,则在S4期间仍进行读,但所读的这个字节操作码被忽略,程序计数器也不加1,在S6P2结束时完成指令操作。图2-3的(a)和(b)给出了单字节单机器周期和双字节单机器周期指令的时序。8051指令大部分在一个机器周期完成。乘(MUL)和除(DIV)

指令是仅有的需要两个以上机器周期的指令,占用4个机器周期。对于双字节单机器周期指令,通常是在一个机器周期内从程序存储器中读入两个字节,唯有MOVX指令例外。MOVX是访问外部数据存储器的单字节双机器周期指令。在执行MOVX指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。图2-3中(c)给出了一般单字节双机器周期指令的时序。

2、存储器

MCS-51单片机的程序存储器和数据存储器空间是互相独立的,物理结构也不同。程序存储器为只读存储器(ROM)。数据存储器为随机存取存储器(RAM)。单片机的存储器编址方式采用与工作寄存器、I/O口锁存器统一编址的方式。有关存储器的内容将在下一节中详述。

3、I/O端口

I/O端口又称为I/O接口,也叫做I/O通道或I/O通路,I/O端口是MCS-51单片机对外部实现控制和信息交换的必经之路,I/O端口有串行和并行之分,串行I/O端口一次只能传送一位二进制信息,并行I/O端口一次能传送一组二进制信息。

⑴、并行I/O端口

MCS-51单片机设有四个8位双向I/O端口(P0、P1、P2、P3),每一条I/O线都能独立地用作输入或输出。P0口为三态双向口,能带8个LSTTL电路。P1、P2、P3口为准双向口(在用作输入线时,口锁存器必须先写入“1”,故称为准双向口),负载能力

相关文档
最新文档