MCS-51单片机

8051是MCS-51系列单片机的典型产品,其特性与我们实验的STC89C52RC完全相同,这里以8051为例简介一下单片机的基本知识。

8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:

中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

MCS-51单片机内部结构
图1

数据存储器(RAM):

8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

程序存储器(ROM):

8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

定时/计数器(ROM):

8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

并行输入输出(I/O)口:

8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。

全双工串行口:

8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

中断系统:

8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

时钟电路:

8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。

单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与 数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的 MCS-96系列单片机则采用普林斯顿结构。

下图是MCS-51系列单片机的内部结构示意图。

MCS-51单片机内部结构
图2

MCS-51的引脚说明:

MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源 和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:

MCS-51单片机内部结构
图3

·Pin20:接地脚。

·Pin40:正电源脚,正常工作或对片内EPROM烧写程序时,接+5V电源。

·Pin19:时钟XTAL1脚,片内振荡电路的输入端。

·Pin18:时钟XTAL2脚,片内振荡电路的输出端。

8051的时钟有两种方式,一种是片内时钟振荡方式,但需在18和19脚外接石英晶体(2-12MHz)和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。

MCS-51单片机内部结构
图4

·输入输出(I/O)引脚:

Pin39-Pin32为P0.0-P0.7输入输出脚,Pin1-Pin1为P1.0-P1.7输入输出脚,Pin21-Pin28为P2.0-P2.7输入输出脚,Pin10-Pin17为P3.0-P3.7输入输出脚,这些输入输出脚的功能说明将在以下内容阐述。

·Pin9:RESET/Vpd复位信号复用脚:

当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向 0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址 开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态如下表:

8051的复位方式可以是自动复位,也可以是手动复位,见下图。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。

MCS-51单片机内部结构
图5

MCS-51单片机内部结构
图6

·Pin30:ALE/nPROG当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一 个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一 个脉冲。

如果单片机是EPROM,在编程其间,将用于输入编程脉冲。

·Pin29: nPESN当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。

·Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于 4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内 部无程序存储器的8031,EA端必须接地。

在编程时,EA/Vpp脚还需加上21V的编程电压。

转自:顶顶顶顶

围观 5
24

1.前言

MCS-51的存储器有片内RAM、片外RAM 和 ROM 三个空间。

MCS-51单片机在物理结构上有四个存储空间

1、片内程序存储器(片内ROM)
2、片外程序存储器(片外ROM)
3、片内数据存储器(片内RAM)
4、片外数据存储器(片外RAM)

在逻辑上(即从用户的角度上)MCS-51单片机有三个存储空间

1、片内外统一编址的64K的程序存储器(ROM)地址空间(MOVC)
2、256B的片内数据存储器(片内RAM)的地址空间(MOV)
3、以及64K片外数据存储器(片外RAM)的地址空间(MOVX)

注:在访问三个不同的逻辑空间时,应采用不同形式的指令以产生不同的存储器空间的选通信号。

2.存储空间划分

2.1 片内RAM

MCS-51单片机存储地址空间划分
图:片内AM地址空间划分

地址范围是00H到7FH (52系列延伸到FFH),为8位地址,所以最大可寻址的范围为256个单元地址

• 00H到1FH
共32字节,分成四个工作寄存器区,每区有寄存器 R0~R7。
对此区域,可以使用 R0~R7 来操作,代码短捷,但是,只有一个当前工作区是可以这样读写的。
对此区域,也可以使用字节地址,来读写。

• 20H-2FH
共16字节,是位寻址区,共有128个“位”,位地址:00~7FH。
此区域,也可按照字节寻址,来读写。

• 30H-7FH
没有什么特色,只进行字节寻址。

• 80H-FFH
共有128个地址号码,其中离散的分布着21个特殊功能寄存器,必须直接寻址才能读写。
(52系列,在此范围,还有128字节的 RAM,必须间接寻址才能读写)。

注:对上述空间读写,必须使用 MOV 指令。

2.2 片外RAM

片外RAM的地址范围是0000H到FFFFH,容量即为64KB。对片外RAM读写,必须使用 MOVX 指令。

对片外RAM采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。

也就是说在寻址片外RAM时,寻址范围超过了256B,就不能用R0、R1做为间接寻址寄存器,而必须用DPTR寄存器做为间接寻址寄存器。

2.3 ROM

ROM的地址范围是0000H到FFFFH,容量即为64KB,地址长度16位,作用是 存放程序及程序运行时所需的常数。

其中0000~0FFFH,即4K,在片内,其它在片外。

EA = 1,寻址内部ROM;EA = 0,寻址外部ROM
对ROM读出,必须使用 MOVC 指令。

3. 参考文献

[1] http://blog.163.com/asm_c/blog/static/24820311320112208130269/

转自: jasonactions

围观 15
1113

学习内部结构之前,我们先了解下我们现在正在使用的计算机的几大组成部份:

计算机的五个组成部份:

运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行;

控制器:是计算机的控制指挥部件,使计算机各部份能自动协调的工作;

存储器:用于存放程序和数据;(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘)

输入设备:用于将程序和数据输入到计算机(例如我们电脑的键盘、扫描仪);

输出设备:输出设备用于把计算机数据计算或加工的结果以用户需要的形式显示或保存(例如我们的打印机)。

注:
1、通常把运算器和控制器合在一起称为中央处理器(Central Processing Unit),简称CPU。
2、通常把外存储器、输入设备和输出设备合在一起称之为计算机的外部设备。
51单片机的内部又有些什么部件组成呢?

下图就是我们要研究学习的对象,51单片机结构图了。大家看看图,中间的一条双横线就是51单片机的内部总线了。其它的部件都是通过内部的总线与CPU相联接的,在第一节课时我们已跟大家讲述过,8051单片机是总线结构的。下面我们就51单片机内部的单个部件与大家进行讲解。

mcs-51单片机是由哪些部分组成的?

中央处理器(CPU):

刚跟大家讲过,需要提醒的是的CPU能处理8位二进制数或代码。CPU是单片机的主要核心部件,在CPU里面包含了运算器、控制器以及若干寄存器等部件给成。

内部数据存储器(RAM):

MCS-51单片机芯片共有256个RAM单元,其中后128单元被专用寄存器占用(稍后我们详解),能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。地址范围为00H~FFH(256B)。是一个多用多功能数据存储器,有数据存储、通用工作寄存器、堆栈、位地址等空间。

内部程序存储器(ROM):

在前面也已讲过,MCS-51内部有4KB/8KB字节的ROM(51系列为4KB,51系列为8KB),用于存放程序、原始数据或表格。因此称之为程序存储器,简称内部RAM。地址范围为0000H~FFFFH(64KB)。

定时器/计数器

51系列共有2个16位的定时器/计数器(52系列共有3个16位的定时器/计数器),以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。定时时靠内部分频时钟频率计数实现,做计数器时,对P3.4(T0)或P3.5(T1)端口的低电平脉冲计数。

并行I/O口

MCS-51共有4个8位的I/O口(P0、P1、P2、P3)以实现数据的输入输出。具体功能在后面章节中将会详细论述。

串行口

MCS-51有一个可编程的全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为移位器使用。RXD( P3.0)脚为接收端口,TXD(P3.1)脚为发送端口。

中断控制系统

MCS-51单片机的中断功能较强,以满足不同控制应用的需要。51系列有5个中断源(52系列有6个中断源),即外中断2个,定时中断2个,串行中断1个,全部中断分为高级和低级共二个优先级别,优先级别的设置我们也将在后面进行详细的讲解。

定时与控制部件

MCS-51单片机内部有一个高增益的反相放大器,基输入端为XTAL1输出端为XTAL2。MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。

转自: 快易购

围观 2
622

布尔处理功能是MCS-51系列单片机的一个重要特征,这是出于实际应用需要而设置的。布尔变量也即开关变量,它是以位(bit)为单位进行操作的。

在物理结构上,MCS-51单片机有一个布尔处理机,它以进位标志做为累加位,以内部RAM可寻址的128个为存储位。

既然有布尔处理机功能,所以也就有相应的布尔操作指令集,下面我们分别谈论。

[1]. 位传送指令

位传送指令就是可寻址位与累加位CY之间的传送,指令有两条。

MOV C,bit ;bit→CY,某位数据送CY
MOV bit,C ;CY→bit,CY数据送某位

[2]. 位置位复位指令

这些指令对CY及可寻址位进行置位或复位操作,共有四条指令。

CLR C ; 0→CY,清CY

CLR bit ; 0→bit,清某一位

SETB C ; 1→CY,置位CY

SETB bit ; 1→bit,置位某一位

[3]. 位运算指令

位运算都是逻辑运算,有与、或、非三种指令,共六条。

ANL C,bit ;(CY)∧(bit)→CY

ANL C,/bit ;(CY)∧( bit)→CY

ORL C,bit ;(CY)∨(bit)→CY

ORL C,/bit ;(CY)∧( /bit)→CY

CPL C ;(/bit )→CY

CPL bit ;(/bit )→bir

[4].位控制转移指令

位控制转移指令是以位的状态作为实现程序转移的判断条件,介绍如下:

JC rel ; (CY)=1转移,(PC)+2+rel→PC,否则程序往下执行,(PC)+2→PC。

JNC rel ; (CY)=0转移,(PC)+2+rel→PC,否则程序往下执行,(PC)+2→PC。

JB bit, rel ; 位状态为1转移。

JNB bit, rel ; 位状态为0转移。

JBC bit, rel ; 位状态为1转移,并使该位清“0”。

后三条指令都是三字节指令,如果条件满足,(PC)+3+rel→PC,否则程序往下执行,(PC)+3→PC。

整理自: eeworld.com

围观 6
377
订阅 RSS - MCS-51单片机