MCS51单片机的结构与原理.docx

上传人:b****4 文档编号:4667977 上传时间:2022-12-07 格式:DOCX 页数:10 大小:22.34KB
下载 相关 举报
MCS51单片机的结构与原理.docx_第1页
第1页 / 共10页
MCS51单片机的结构与原理.docx_第2页
第2页 / 共10页
MCS51单片机的结构与原理.docx_第3页
第3页 / 共10页
MCS51单片机的结构与原理.docx_第4页
第4页 / 共10页
MCS51单片机的结构与原理.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

MCS51单片机的结构与原理.docx

《MCS51单片机的结构与原理.docx》由会员分享,可在线阅读,更多相关《MCS51单片机的结构与原理.docx(10页珍藏版)》请在冰豆网上搜索。

MCS51单片机的结构与原理.docx

MCS51单片机的结构与原理

MCS-51单片机的结构与原理

主要内容:

典型单片机(MCS-51,MSP430,EM78,PIC,Motorola,AVR)的性能,MCS-51内部结构、特点、工作方式、时序和最小应用系统。

为学生后续学习单片机应用系统设计、利用单片机解决工程实际问题打下坚实的基础。

重点在于基本概念、组成原理、特点及MCS-51的最小应用系统,难点在于时序。

1.1典型单片机性能概览

典型单片机有MCS-51、MSP430、EM78、PIC、Motorola、AVR等。

MSP430为低功耗产品,功能较强。

EM78为低功耗产品,价格较低。

PIC为低电压、低功耗、大电流LCD驱动、低价格产品。

Motorola是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。

其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。

AVR为高速、低功耗产品,支持ISP、IAP,I/O口驱动能力较强。

1.2MCS-51单片机硬件结构及引脚

1.2.1MCS-51单片机的内部结构

内部结构如下:

1.中央处理器(CPU)

组成:

运算器、控制器。

8051的CPU包含以下功能部件:

(1)8位CPU。

(2)布尔代数处理器,具有位寻址能力。

(3)128B内部RAM数据存储器,21个专用寄存器。

(4)4KB内部掩膜ROM程序存储器。

(5)2个16位可编程定时器/计数器。

(6)32个(4某8位)双向可独立寻址的I/O口。

(7)1个全双工UART(异步串行通信口)。

(8)5个中断源、两级中断优先级的中断控制器。

(9)时钟电路,外接晶振和电容可产生1.2MHz~12MHz的时钟频率。

(10)外部程序/数据存储器寻址空间均为64KB。

(11)111条指令,大部分为单字节指令。

(12)单一+5V电源供电,双列直插40引脚DIP封装。

(1)运算器

组成:

8位算术逻辑运算单元ALU(ArithmeticLogicUnit)、8位累加器A(Accumulator)、8位寄存器B、程序状态字寄存器PSW(ProgramStatuWord)、8位暂存寄存器TMP1和TMP2等。

功能:

完成算术运算和逻辑运算。

(2)控制器

组成:

程序计数器PC(ProgramCounter)、指令寄存器IR(IntructionRegiter)、指令译码器ID(IntructionDecoder)、堆栈指针SP、数据指针DPTR、定时控制逻辑和振荡器OSC等电路。

功能:

CPU根据PC中的地址将欲执行指令的指令码从存储器中取出,存放在IR中,ID对IR中的指令码进行译码,定时控制逻辑在OSC配合下对ID译码后的信号进行分时,以产生执行本条指令所需的全部信号。

MCS-51系列单片机配置一览表片内存储器(字节)定时器并行串行系列无片内ROM有ROM有EPROM片内计数器I/ORAM128字Intel51子系列80318051/80C518751/87C5180C31(4K字节)(4K字节)256Intel52子系列80328052/80C528752/87C52字80C32(8K字节)(8K字节)节1051(1K)/2051(2K)/4051(4KATEML89C系列(常用型))(20条引脚DIP封装)89C51(4K)/89C52(8K)128/256(40条引脚DIP封装)中断源I/O节2某164某8位153某14某8位616128215152/3235/162.存储器

一般将只读存储器(ROM)用做程序存储器。

可寻址空间为64KB,用于存放用户程序、数据和表格等信息。

(2)数据存储器

一般将随机存储器(RAM)用做数据存储器。

可寻址空间为64KB。

MCS-51数据存储器可分为片内和片外两部分。

片外RAM:

最大范围:

0000H~FFFFH,64KB;用指令MOV某访问。

片内RAM:

最大范围:

00H~FFH,256B;用指令MOV访问。

又分为两部分:

低128B(00~7FH)为真正的RAM区,高128B(80~FFH)为特殊功能寄存器(SFR)区。

如下图所示。

内部RAM的20H~2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。

位地址为00H~7FH。

CPU能直接寻址这些位(称MCS-51具有布尔处理功能),位地址分配如下表所示。

3.特殊功能寄存器(SFR)

MCS-51有21个特殊功能寄存器(也称为专用寄存器),包括算术运算寄存器、指针寄存器、I/O口锁存器、定时器/计数器、串行口、中断、状态、控制寄存器等,它们被离散地分布在内部RAM的80H~FFH地址单元中(不包括PC),共占据了128个存储单元,构成了SFR存储块。

其字节地址可被8整除的SFR可位寻址。

SFR反映了MCS-51单片机的运行状态。

特殊功能寄存器分布如下表所示。

(1)程序计数器PC(ProgramCounter)

程序计数器PC在物理上是独立的,它不属于SFR存储器块。

PC是一个16位的计数器,专门用于存放CPU将要执行的指令地址(即下一条指令的地址),寻址范围为64KB,PC有自动加1功能,不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序执行的顺序。

(2)累加器A(Accumulator)

累加器A是8位寄存器,又记做ACC,是一个最常用的专用寄存器。

在算术/逻辑运算中用于存放操作数或结果。

(3)寄存器B

寄存器B是8位寄存器,是专门为乘除法指令设计的,也作通用寄存器用。

(4)工作寄存器

内部RAM的工作寄存器区00H~1FH共32个字节被均匀地分成四个组(区),每个组(区)有8个寄存器,分别用R0~R7表示,称为工作寄存器或通用寄存器,其中,R0、R1还经常用于间接寻址的地址指针。

在程序中通过程序状态字寄存器(PSW)第3、4位设置工作寄存器区。

(5)程序状态字PSW(ProgramStatuWord)

程序状态字PSW是8位寄存器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。

其定义格式如下表所示。

其中:

Cy:

进借位标志;AC:

辅助进借位标志;F0:

用户标志;

RS1、RS0:

工作寄存器组(区)选择(如下表所示);OV:

溢出标志位,有溢出时置1;P:

奇偶标志位。

A中有奇数个1时置1。

(6)数据指针DPTR(DataPointer)

数据指针DPTR是16位的专用寄存器,即可作为16位寄存器使用,也可作为两个独立的8位寄存器DPH(高8位)、DPL(低8位)使用。

DPTR主要用作16位间址寄存器,访问程序存储器和片外数据寄存器。

(7)堆栈指针SP(StackPointer)

堆栈是一种数据结构,是内部RAM的一段区域。

堆栈存取数据的原则是“后进先出”。

堆栈指针SP是一个8位寄存器,用于指示堆栈的栈顶,它决定了堆栈在内部RAM中的物理位置。

设立堆栈的目的是用于数据的暂存,中断、子程序调用时断点和现场的保护与恢复。

(8)I/O口专用寄存器(P0,P1,P2,P3)

8051片内有4个8位并行I/O接口P0,P1,P2和P3,在SFR中相应有4个I/O口寄存器P0,P1,P2和P3。

(9)定时器/计数器(TL0,TH0,TL1和TH1)

MCS-51单片机中有两个16位的定时器/计数器T0和T1,它们由4个8位寄存器(TL0,TH0,TL1和TH1)组成,2个16位定时器/计数器是完全独立的。

可以单独对这4个寄存器进行寻址,但不能把T0和T1当做16位寄存器来使用。

(10)串行数据缓冲器(SBUF)

串行数据缓冲器SBUF用于存放需要发送和接收的数据,它由两个独立的寄存器组成(发送缓冲器和接收缓冲器),要发送和接收的操作其实都是对串行数据缓冲器SBUF进行的。

(11)其他控制寄存器

除上述外,还有IP,IE,TCON,SCON和PCON等几个寄存器,主要用于中断、定时和串行口的控制,

4.I/O接口

I/O接口是MCS-51单片机对外部实现控制和信息交换的必经之路,用于信息传送过程中的速度匹配和增加它的负载能力。

8051内部有4个8位并行接口P0,P1,P2,P3,有1个全双工的可编程串行I/O接口。

5.定时器/计数器

8051内部有两个16位可编程序的定时器/计数器,均为二进制加1计数器,分别命名为T0和T1。

T0和T1均有定时器和计数器两种工作模式。

在定时器模式下,T0和T1的计数脉冲可以由单片机时钟脉冲经12分频后提供。

在计数器模式下,T0和T1的计数脉冲可以从P3.4

和P3.5引脚上输入。

对T0和T1的控制由定时器方式选择寄存器TMOD和定时器控制寄存器TCON完成。

6.中断系统

中断:

指CPU暂停原程序执行,转而为外部设备服务(执行中断服务程序),并在服务完后返回到原程序执行的过程。

中断系统:

指能够处理上述中断过程所需要的硬件电路。

中断源:

指能产生中断请求信号的源泉。

8051可处理5个中断源(2个外部,3个内部)发出的中断请求,并可对其进行优先权处理。

外部中断的请求信号可以从P3.2,P3.3

引脚上输入,有电平或

边沿两种触发方式;内部中断源有3个,2个定时器/计数器中断源和1个串行口中断源。

8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成。

1.2.2MCS-51单片机外部引脚

1.电源线GND:

接地引脚。

VCC:

正电源引脚。

接+5V电源。

2.端口线

P0~P3口:

4某8=32条。

(1)P0口(P0.0~P0.7)

8位双向三态I/O口,可作为外部扩展时的数据总线/低8位地址总线的分时复用口。

又可作为通用I/O口,每个引脚可驱动8个TTL负载。

对EPROM型芯片(如8751)进行编程和校验时,P0口用于输入/输出数据。

(2)P1口(P1.0~P1.7)

8位准双向I/O口,内部具有上拉电阻,可作为通用I/O口。

每个引脚可驱动4个TTL负载。

(3)P2口(P2.0~P2.7)

8位准双向I/O口,内部具有上拉电阻,可作为外部扩展时的高8位地址总线。

又可作为通用I/O口,每个引脚可驱动4个TTL负载。

对EPROM型芯片(如8751)进行编程和校验时,用来接收高8位地址。

(4)P3口(P3.0~P3.7)

8位准双向I/O口,内部具有上拉电阻。

它是双功能复用口,作为通用I/O口时,功能与P1口相同,常用第二功能。

每个引脚可驱动4个TTL负载。

作为第二功能使用时,各位的作用如下页表所示。

3.控制线

(1)RST/VPD

RST/VPD引脚是复位信号/备用电源线引脚。

当8051通电时,在RST引脚上出现24个

时钟周期以上的高电平,系统即初始复位。

地址锁存允许/编程引脚。

当访问外部程序存储器时,ALE的输出用于锁存地址的低位字节,以便P0口实现地址/数据复用。

当不访问外部程序存储器时,ALE端将输出一个1/6时钟频率的正脉冲信号。

是复用引脚,其第二功能是对EPROM型芯片(如8751)进行编程和校验时,

此引脚传送52m宽的负脉冲选通信号,程序计数器PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令码放到P0口上,由CPU读入并执行。

允许访问片外程序存储器/编程电源引脚。

对于片内无程序存储器的MCS-51单片机(如8031),

必须接地。

片内有程序存储器的MCS-51单片机(如8051),

必须接高电平。

是复用引脚,其第二功能是片内EPROM编程/校验时的电源线,在编程时,VPP

脚需加上21V的编程电压。

(4)某TAL1和某TAL2

某TAL1脚为片内振荡电路的输入端,某TAL2脚为片内振荡电路的输出端。

8051的时钟有两种方式,一种是片内时钟振荡方式,但需在某TAL1和某TAL2脚外接石英晶体(频率为1.2~12MHz)和振荡电容,振荡电容的值一般取10~30pF,典型值为30pF;另外一种是外部时钟方式,即将某TAL1接地,外部时钟信号从某TAL2脚输入,如下图所示。

(5)

引脚产生一

片外ROM选通线。

在执行访问片外ROM的指令MOVC时,8051自动在

个负脉冲,用于对片外ROM的选通。

其他情况下,该引脚均为高电平封锁状态。

1.3MCS-51单片机的工作方式

1.3.1复位方式

系统开始运行和重新启动靠复位电路来实现,这种工作方式为复位方式。

单片机在开机时都需要复位,以便CPU及其他功能部件都处于一种确定的初始状态,并从这个状态开始工作。

复位电路有两种:

上电自动复位和上电/按键手动复位,如下图所示。

复位后,8051的各特殊功能寄存器的初始状态如下表所示。

1.3.2程序执行方式

程序执行方式是单片机基本工作方式,可分为连续执行工作方式和单步执行工作方式。

1.连续执行工作方式

这是所有单片机都需要的一种方式。

单片机复位后,PC值为0000H,因此单片机复位后立即转到0000H处执行程序。

单片机按照程序事先编排的任务,自动连续地执行下去。

2.单步执行工作方式

这是用户调试程序的一种工作方式,在单片机开发系统上有一专用的单步按键(或软件调试环境)。

按一次,单片机就执行一条指令(仅仅执行一条),这样就可以逐条检查程序,发现问题进行修改。

单步执行方式是利用单片机外部中断功能实现的。

1.3.3节电方式

节电工作方式是一种低功耗的工作方式,可分为空闲(等待)方式和掉电(停机)方式。

是针对CHMOS类芯片而设计的,HMOS型单片机不能工作在节电方式,但它有一种掉电保护功能。

1.HMOS单片机的掉电保护

当VCC突然掉电时,单片机通过中断将必须保护的数据送入内部RAM,备用电源VPD可以维持内部RAM中的数据不丢失。

2.CHMOS单片机的节电方式

CHMOS型单片机是一种低功耗器件,正常工作时电流为11~22mA,空闲状态时为1.7~5mA,掉电方式为5~50A。

因此,CHMOS型单片机特别适用于低功耗应用场合,它的空闲方式和掉电方式都是由电源控制寄存器PCON中相应的位来控制。

(1)电源控制寄存器PCONPCON各位的定义如下表所示。

IDL:

空闲方式控制位,该位为1时,单片机进入空闲待机工作方式。

PD:

掉电方式控制位,为1时,单片机进入掉电工作方式。

上面的IDL、PD同时为1,则进入掉电工作方式,同时为0,则工作在正常运行状态。

GF0,GF1:

通用标志位,描述中断是来自正常运行还是来自空闲方式,用户可通过指令设定它们的状态。

SMOD:

为串行口波特率倍率控制位,用于串行通信。

(2)空闲工作方式

将IDL位置为1(用指令MOVPCON,#01H),则进入空闲工作方式,其内部控制电路如右图所示。

此时,CPU进入空闲待机状态,中断系统、串行口、定时器/计数器,仍有时钟信号,仍继续工作。

退出空闲状态有两种方法:

一是中断退出,二是硬件复位退出。

(3)掉电工作方式

将PD置为1(用指令MOVPCON,#02H),可使单片机进入掉电工作方式。

此时振荡器停振,只有片内的RAM和SFR中的数据保持不变,而包括中断系统在内的全部电路都将处于停止工作状态。

退出掉电工作方式,只能采用硬件复位的方法。

欲使8051从掉电方式退出后继续执行掉电前的程序,则必须在掉电前预先把SFR中的内容保存到片内RAM中,并在掉电方式退出后恢复SFR掉电前的内容。

1.3.4编程和校验方式

编程和校验方式用于内部含有EPROM的单片机芯片(如8751),一般的单片机开发系统都提供实现这种方式的设备和功能。

编程的主要操作是将原始程序、数据写入内部EPROM中。

校验的主要操作是在向片内程序存储器EPROM写入信息时或写入信息后,可将片内EPROM的内容读出进行校验,以保证写入信息的正确性。

1.4单片机的时序

时序:

CPU在执行指令时所需控制信号的时间顺序称为时序。

时序是用定时单位来描述的,MCS-51的时序单位有四个,分别是时钟周期(节拍)、状态、机器周期和指令周期。

1.4.1MCS-51的时序单位

1.时钟周期:

又称为振荡周期、节拍(用P表示),定义为单片机提供时钟信号的振荡源(OSC)的周期。

它是时序中的最小单位。

2.状态(用S表示):

单片机振荡脉冲经过二分频后即得到整个单片机工作系统的状态。

一个状态有两个节拍,前半周期对应的节拍定义为P1,后半周期对应的节拍定义为P2。

3.机器周期:

通常将完成一个基本操作所需的时间称为机器周期。

MCS-51中规定一个机器周期包含12个时钟周期,即有6个状态,分别表示为S1~S6。

若晶振为6MHz,则机器周期为2μ,若晶振为12MHz,则机器周期为1μ。

4.指令周期:

执行一条指令所需要的时间称为指令周期。

它是时序中的最大单位。

一个指令周期通常含有1~4个机器周期。

指令所包含的机器周期数决定了指令的运算速度,机器周期数越少的指令,其执行速度越快。

以机器周期为单位,指令可分为单周期、双周期和四周期指令。

1.4.2MCS-51指令的取指/执行时序

指令的集合称为程序,执行程序的过程就是执行指令的过程。

单片机执行任何一条指令时都可以分为取指阶段和执行阶段。

在取指阶段,CPU从程序存储器中取出指令操作码,送指令寄存器,再经指令译码器译码,产生一系列控制信号,完成本指令规定的操作。

单周期和双周期指令的取指时序图如下页图所示。

ALE信号是用于锁存低8位地址的选通信号,每出现一次该信号,单片机即进行一次读指令操作。

当指令为多字节或多周期指令时,只有第一个ALE信号进行读指令操作,其余的

ALE信号为无效操作(或读操作数操作)。

1.4.3访问片外ROM/RAM指令的时序1.外部程序存储器读时序

从外部程序存储器读取指令,必须有两个信号进行控制:

ALE信号和ROM读选通脉冲)。

信号(外部

2.外部数据存储器读时序

第一个机器周期是取指周期,是从ROM中读取指令数据,第二个机器周期才开始读取外部数据存储器RAM中的内容。

有三个信号进行控制:

ALE信号、通脉冲)和

信号(外部RAM读选通脉冲)。

信号(外部ROM读选

1.5C8051F系列片上系统(SOC)简介

Cygnal的C8051F带有SOC色彩,集成了嵌入式系统的许多先进技术。

1.5.1概述

Cygnal公司生产的C8051F某某某系列单片机,与MCS-51内核及指令集完全兼容。

是MCS-51单片机的典型代表,也是目前功能最全、速度最快的8051衍生单片机。

C8051F已成为一个完善的、系统级的芯片。

到目前为止,Cygnal共提供有41个型号工业级的C8051F片上系统单片机,其典型芯片性能概览见教材P32表1.5.1所示。

1.5.2基本结构与特点

Cygnal公司的C8051F单片机具有以下特点:

1.高速CIP-51内核

以CIP-51(Cygnal公司的专利产品)为内核而集成的混合信号片上系统SOC(SytemOnChip)

2.丰富的模拟和数字资源

8路高性能的12位ADC(速度为100kHz)数据采集系统,2路12位高精度DAC,2路模拟比较器和ADC可编程窗口检测器;电压基准、温度传感器、SMBUS/I2C、UART、CAN、SPI、PCA(带比较/捕捉模块PCA,可实现捕捉、软件定时、高速输出、PWM),22个中断源,8~64KB的Flah/电可擦除程序存储器,256~8448B的SRAM。

定时器/计数器、片内可编程定时器/计数器阵列(PCA)、WDT、电源监视器等。

3.多源复位

具有多达7个复位源:

片内电源监视器、CNVSTR外部引脚、强制软件复位、时钟丢失检测器、比较器0提供的电压检测器、看门狗定时器WDT和外部复位引脚等。

4.双重系统时钟

C8051F单片机建立了完善的、先进的时钟系统,片内设置有一个可编程的时钟振荡器,可设置不同的时钟频率;片外振荡器可选择四种方式(晶振、陶瓷谐振器、RC电路或外部

时钟源)。

5.可编程数字I/O和交叉开关

C8051F单片机中引入了数字交叉开关,允许用户根据自己的特定应用选择通用I/O端口和所需数字资源的组合。

6.在应用编程和Flah安全机制

C8051F单片机中具有在系统和在应用编程的Flah程序存储器。

7.系统调试

C8051F单片机指令与MCS-51指令兼容,有KeilC支持,先进的JTAG(JointTetActionGroup)非侵入式在线调试,可以进行非侵入式全速在系统编程(ISP)和在应用编程(IAP)调试。

8.低功耗设计

C8051F单片机具有最小功耗的最佳支持。

3V供电标准降低了系统的功耗,但I/O口仍然允许5V输入,经上拉后也可驱动5V逻辑器件。

完善的时钟系统可使系统平均时钟频率最低,众多的复位源可灵活实现零功耗系统的设计。

作业与练习:

1.11.21.41.61.71.111.161.17

时钟源)。

5.可编程数字I/O和交叉开关

C8051F单片机中引入了数字交叉开关,允许用户根据自己的特定应用选择通用I/O端口和所需数字资源的组合。

6.在应用编程和Flah安全机制

C8051F单片机中具有在系统和在应用编程的Flah程序存储器。

7.系统调试

C8051F单片机指令与MCS-51指令兼容,有KeilC支持,先进的JTAG(JointTetActionGroup)非侵入式在线调试,可以进行非侵入式全速在系统编程(ISP)和在应用编程(IAP)调试。

8.低功耗设计

C8051F单片机具有最小功耗的最佳支持。

3V供电标准降低了系统的功耗,但I/O口仍然允许5V输入,经上拉后也可驱动5V逻辑器件。

完善的时钟系统可使系统平均时钟频率最低,众多的复位源可灵活实现零功耗系统的设计。

作业与练习:

1.11.21.41.61.71.111.161.17

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1