8051是一种8位元的
单芯片微控制器,属于MCS-51单芯片的一种,由
英特尔公司于1981年制造。INTEL公司将
MCS51的核心
技术授权给了很多其它公司,所以有很多公司在做以8051为核心的
单片机,如
Atmel、
飞利浦、深联华等公司,相继开发了功能更多、更强大的兼容产品。
简介
8051
单片微型计算机简称为
单片机,又称为微型控制器,是
微型计算机的一个重要分支。单片机是70年代中期发展起来的一种
超大规模集成电路芯片,是集成CPU、RAM、ROM、
I/O接口和
中断系统于同一硅片上的器件。80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型型号,现已逐渐成为
工厂自动化和各控制领域的
支柱产业之一。
引脚功能
MCS-51是标准的40引脚双列直插式
集成电路芯片,引脚分地布请参照----
单片机引脚图:
l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。
l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。
l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。
l P3.0~P3.7 P3口8位双向口线(在引脚的10~17号端子)。
这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,初学者很难理解,这里都是按我自已的
表达方式来写的,相信你也能够理解。
I/O口
P0口有三个功能
1、
外部扩展存储器时,当做
数据总线(如图1中的D0~D7为数据
总线接口)
2、外部扩展存储器时,当作
地址总线(如图1中的A0~
A7为地址
总线接口)
3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口
P2口有两个功能
2、做一般I/O口使用,其内部有上拉电阻;
P3口有两个功能
除了作为I/O使用外(其内部有上拉电阻),还有一些
特殊功能,由特殊
寄存器来设置,具体功能请参考我们后面的引脚说明。
有内部
EPROM的
单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,
即:编程脉冲:30脚(ALE/PROG)
编程电压(25V):31脚(EA/Vpp)
接触过
工业设备的兄弟可能会看到有些
印刷线路板上会有一个电池,这个电池是干什么用的呢?这就是单片机的
备用电源,当
外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚(即RST/
VPD)引入,以保护内部
RAM中的信息不会丢失。
上拉电阻
在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是什么呢?他起什么作用呢?所谓上拉电阻就是一个电阻,当作为输入时,上拉电阻将其电位
拉高,若输入为
低电平则可提供
电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。
在系统扩展时,ALE用于控制把P0口的输出低8位地址送
锁存器锁存起来,以实现低位地址和数据的隔离。(在后面关于扩展的课程中我们就会看到8051扩展 EEPROM电路,在图中ALE与
74LS373锁存器的G相连接,当
CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出。ALE有可能是
高电平也有可能是低电平,当ALE是高电平时,允许地址锁存信号,当访问
外部存储器时,ALE信号负跳变(即由正变负)将P0口上低8位地址信号送入锁存器。当ALE是低电平时,P0口上的内容和锁存器输出一致。关于锁存器的内容,我们稍后也会介绍。
在没有访问
外部存储器期间,ALE以1/6
振荡周期频率输出(即6分频),当访问外部存储器以1/12振荡周期输出(12分频)。从这里我们可以看到,当系统没有进行扩展时ALE会以1/6振荡周期的固定频率输出,因此可以做为外部时钟,或者外部定时脉冲使用。
PROG为编程脉冲的输入端
在第五课
单片机的内部结构及其组成中,我们已知道,在
8051单片机内部有一个4KB或8KB的
程序存储器(
ROM),ROM的作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存入进这个ROM中的呢?实际上是通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。
PSEN 外部程序存储器读
选通信号:在读外部ROM时PSEN
低电平有效,以实现外部ROM单元的
读操作。
1、内部ROM读取时,PSEN不动作;
3、外部RAM读取时,两个PSEN脉冲被跳过不会输出;
4、外接ROM时,与ROM的OE脚相接。
参见图2—(8051扩展2KB EEPROM电路,在图中PSEN与扩展ROM的OE脚相接)
1、接高电平时:
扩展外部ROM:当读取内部程序存储器超过0FFFH(8051)1FFFH(8052)时自动读取外部ROM。
2、接低电平时:CPU读取外部程序存储器(ROM)。 在前面的学习中我们已知道,8031
单片机内部是没有ROM的,那么在应用8031单片机时,这个脚是一直接低电平的。
3、8751烧写内部EPROM时,利用此脚输入21V的烧写电压。
RST
复位信号:当输入的信号连续2个
机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从
程序存储器的0000H单元读取第一条
指令码。
XTAL1和XTAL2 外接
晶振引脚。当使用芯片内部时钟时,此二引脚用于外接
石英晶体和
微调电容;当使用外部时钟时,用于接外部
时钟脉冲信号。
VCC:电源+5V输入
VSS:GND接地。
AVR和pic都是跟8051结构不同的8位
单片机,因为结构不同,所以
汇编指令也有所不同,而且区别于使用
CISC指令集的8051,他们都是
RISC指令集的,只有几十条指令,大部分指令都是单
指令周期的指令,所以在同样晶振频率下,较8051速度要快。另PIC的8位单片机前几年是世界上
出货量最大的单片机,
飞思卡尔的单片机紧随其后。
ARM实际上就是32位的
单片机,它的
内部资源(寄存器和外设功能)较8051和PIC、AVR都要多得多,跟计算机的CPU芯片很接近了。常用于手机、路由器等等。
DSP其实也是一种特殊的单片机,它从8位到32位的都有。它是专门用来计算
数字信号的。在某些公式运算上,它比现行家用计算机的最快的CPU还要快。比如说一般32位的DSP能在一个
指令周期内运算完一个32位数乘32位数积再加一个32位数。应用于某些对
实时处理要求较高的场合
汇编指令
指令由于
操作码和
操作数。分为单字节指令,双字节指令,三字节指令。
立即寻址:操作数包含在指令字节中,指令
操作码后面字节的内容就是操作数本身。
直接寻址:1内部数据
存储器的低128个字节单元(00H-7FH)2位
地址空间;3专用功能
寄存器 寄存器寻址:由指令指出某一个寄存器中的内容作为操作数,这种寻址方式称为寄存器寻址。
寄存器间接寻址:由指令指出某一个寄存器的内容作为操作数的地址。
基址寄存器加变址寄存器间接寻址:用于访问
程序存储器中的数据表格。
相对寻址:以PC的内容作为基地址,加上指令中给定的
偏移量所得结果作为转移地址,只适用于双字节转移指令。
位寻址:对片内RAM的位寻址区和某些可进行位寻址的
特殊功能寄存器中的任一二进制位进行操作时的寻址方式。
技术发展
Intel公司于1980年推出的MCS-51奠定了嵌入式应用的
单片微型计算机的经典
体系结构,但不久就放弃了进一步
发展计划,并实施了8051的技术开放政策。在8051实现开放后,
PHILIPS公司作为全球著名的电器商以其在电子
应用系统的优势,着力发展80C51的控制功能及外围单元。将MCS-51的单片微型计算机迅速地推进到80C51的
MCU时代,形成了可满足大量嵌入式应用的单片机
系列产品。实现第一次飞跃。
Flash ROM促使8051第2次飞跃
当前,
嵌入式系统普遍采用Flash ROM技术。Flash ROM的使用加速了单片机技术的发展。基于Flash ROM的ISP/IAP技术,极大地改变了单片机应用系统的
结构模式以及开发和
运行条件;而在单片机中最早实现Flash ROM技术的是
ATMEL公司的AT89Cxx系列。
内核化SoC的加速8051第3次飞跃
MCS-51典型的体系结构以及极好的
兼容性,对于MCU不断扩展的外围来说,形成了一个良好的
嵌入式处理器内核的结构模式。当前
嵌入式系统应用进入SoC模式,从各个角度,以不同方式向SoC进军,形成了嵌入式系统应用热潮。在这个技术潮流中,8051又扮演了嵌入式
系统内核的重要角色。在MCU向SoC过渡的数、模混合集成的过程中,
ADI公司推出了ADμC8xx系列,而公司则实现了向SoC的C8051F过渡;在
PLD向SoC发展过程中,Triscend公司在可配置
系统芯片CSoC的E5系列中便以8052作为处理器内核。