**
MCS-51系列单片机的基本硬件结构
**
何为单片机?
单片机的诞生标志着计算机的发展已经形成了 通用计算机系统和嵌入式计算机系统两大分支。
作为嵌入式控制器,单片机的设计理念是:微型化、低成本、低功耗及具有很好的性价比。是通用计算机所无法取代的。
类别:8位、16位和32位
8位单片机:使用数量最大的一类单片机。特点:成本低,性能又能满足大多要求。如MCS-51、PIC和AVR系列。
• MCS-51系列
• PIC系列
• AVR系列
16位单片机:适合数据运算的场合。但由于价格的居高,其数据运算功能又不如32位机,所以发展处于停滞状态。具有代表性有MCS-96系列、台湾的“凌阳”16位单片机。
32位单片机:当前高档次单片机发展的一个方向,具有超强的数据处理能力、合理的价格。其核心技术基本被美国ARM公司所垄断。具有代表性的产品是ARM系列(ARM-7、ARM-9)。
广泛的应用于家用电器、汽车电子、机器人、工业控制及仪表设计、办公自动化等重要的场合。
单片机的特点
在结构上:不仅将计算机主板上的主要器件尽可能的包含到自身的芯片中,还集成了放大器、比较器、A/D转换器和PWM电路等等。用它来设计一个智能化的产品可以进一步简化外围电路,系统硬件尽可能的实现“单片化” 。
在工业控制、家电产品、智能仪表、汽车电子等领域进行智能化设计时,将嵌入到被控制对象(如:家电、汽车、机床等)中的、已经失去了原有通用计算机形态及功能的专用计算机称之为“嵌入式计算机系统”。
嵌入式计算机系统要有极小的体积和极低的成本,要有极小的功耗和较高的可靠性。
单片机系统的所有基本单元都组装在一个IC芯片上
MCS-51系列单片机的基本硬件结构
组成单元
内部程序存储器ROM :4K的flash程序存储器;
内部数据存储器RAM:256B(128B的RAM+21B的SFR);
寄存器区:4个寄存器区,每个区有R0-R7八个工作寄存器;
8位并行输入输出端口:P0、P1、P2和P3;
定时/计数器:2个16位的定时/计数器 T0、T1;
串型口:全双工串行端口(RXD:接收端、TXD发送端);
中断系统:设有5个中断源(T0、T1、Int0、Int1、ES);
系统扩展能力:可外接64K的 ROM 和64K的 RAM;
堆栈:设在RAM单元、位置可以浮动(通过指针SP来确定堆栈在RAM中的位置)系统复位时SP=07H;
布尔处理机:配合布尔运算的指令进行各种逻辑运算;
指令系统:111条指令。按功能可分为数据传送、算术运算、逻辑运算、控制转移和布尔操作5大类。
引脚种类
主电源引脚
Vcc(+5V— 40脚)
Vss (GND 20脚)
外接晶体引脚
XTAL1(19脚)
XTAL2(18脚)
控制与电源复用引脚
RST / V pd(9脚)
• 复位信号输入,高电平有效。
ALE/PROG(30脚)
• 以系统时钟 fosc 的1/6的频率,周期性输出方波脉冲
/PSEN(29脚)
• 外部程序程序存储器的选通输出信号
/EA / Vdd (31脚)
• 程序存储器的选择控制端
并行输入输出端口引脚(P0-P3)
P0.0 - P0.7: P0端口线(39-32脚)
• 输出能力最强的端口,可带动8个TTL负载
P1.0 - P1.7: P1端口线(1 – 8脚)
• 负载能力4个TTL负载
P2.0 – P2.7: P2端口线(21 – 28脚)
• 具有两种工作方式
P3.0 – P3.7 P3端口线 (10 – 17脚)
• 做通用的I/O端口,负载能力为4个TTL
存储器
MCS-51单片机存储器的配置特点
• ① 内部集成了4K的程序存储器ROM; ② 内部具有256B的数据存储器RAM; ③ 可以外接64K的程序存储器ROM和 数据存储器RAM。
• 逻辑结构
• 片内或片外程序存储器ROM(由EA电平决定)
• 片内数据存储器RAM
• 片外数据存储器RAM
• 物理结构
• 片内程序存储器ROM
• 片外程序存储器ROM
• 片内数据存储器RAM
• 片外数据存储器RAM
• 功能介绍
• 程序存储器ROM (read only memory) 又称:只读存储器,如:硬盘,存储卡。
• 程序存储器ROM用于存放程序、常数或表格。
• 无论是使用片内还是使用片外ROM,程序的起始地址都是从ROM的0000H单元开始。
• 在51单片机中,由引脚 /EA 上的电平选择内、外ROM
• 当引脚EA=1时, CPU从片内ROM的0000H单元运行程序;
• 当引脚EA=1,且PC值大于0FFFH时, CPU会自动从内部ROM转到片外ROM的1000H单元运行程序(无法使用片外ROM的低4K空间)。
• 若引脚EA=0时, CPU从片外ROM的0000H单元运行程序。
• ROM可以在掉电的情况下,依然保存原有的数据
• 速度慢(较RAM)
• 在ROM中有六个单元具有特定功能。
• 0000H单元:复位时程序计数器PC所指向的单元,因此用来存放程序中的第一条指令;
• 0003H单元:外部中断/INT0的矢量入口地址;
• 000BH单元:定时器T0溢出中断的矢量入口地址;
• 0013H单元:外部中断/INT1的矢量入口地址;
• 001BH单元:定时器T1的溢出中断矢量入口地址;
• 0023H单元:串行口接收、传送的中断矢量入口地址。
• 矢量入口单元:在编写中断程序时,写入对应的“跳板指令”。
• 数据存储器RAM (Random Access Memory) 又称:随机存取存储器 俗称:运行内存 运存
• RAM为随机存储,掉电不会保存数据
• 速度快(较ROM)
• 无论在物理上还是逻辑上,系统中RAM 都可分为两个独立空间:内部和外部RAM。由不同的指令来访问。
• 访问内部数据存储单元时,使用 MOV 指令;
• 内部RAM从功能上将256B空间分为二个不同的块:
• 低128B的RAM块;
• 通用存储数据的“便签区”。
• 通用的RAM区地址:30H-7FH
• 位寻址区;
• 位寻址区16个单元20H-2FH,共有128 可寻址位个位。位地址:00H-7FH 注意:位地址与字节地址的区别
• 工作寄存器区
• 四个工作寄存器区每个区中有八个工作寄存器R0-R7
• 高128B的 特殊功能寄存器SFR(Special Function Register )块。
• 尽管特殊功能寄存器与RAM在同一个单元中,但不能作为普通的RAM存储单元来使用。
• 设定单片机内部各模块的工作方式,存放相关模块的状态与标志。如定时器、串行口,并行端口和中断设置等。
• 常见SFR
• 累加器
• 最常用的寄存器。所有的算术运算指令所要使用的寄存器且运算结果都存放在A中。
• B寄存器
• 乘、除法指令专用的寄存器,当然也可作为一般的工作寄存器使用。
• 数据指针(包括DPH,DPL)
• 由两个8位寄存器构成。高八位寄存器DPH和低八位寄存器DPL构成16位的寄存器DPTR。
• DPTR主要用来存放外部数据存储器RAM的地址,作为CPU访问外部RAM的数据指针;
• 堆栈指针
• 堆栈是一种按“先进后出”规律操作的存储结构。不同类型的处理器其堆栈的设计各不相同:
• 独立于RAM的结构。优点是与RAM无关,不会造成RAM中的数据与堆栈发生“冲突”。但这种结构比较复杂,且堆栈的长度往往是固定的,限制了中断或子程序的“嵌套”次数。采用这种结构的单片机有 PIC系列。
• 利用RAM空间“兼做”堆栈空间,但必须靠专用指针来控制堆栈的起始位置。MCS-51单片机就是采用这种结构。
• SP寄存器作为堆栈指针。这种结构的特点是充分的利用RAM的空间,使堆栈的空间得以扩大。但它也有一种“致命”的弱点:数据很容易与堆栈发生冲突,特别是初学编程者。
• 堆栈的作用:
• ①保护程序的断点地址(既返回地址)。
• ②保护数据(也称保护现场)。
• 堆栈操作过程:
• 进栈: PUSH ACC指令(设SP=07H)
• ① SP+1送SP,既SP=SP+1=08H
• ② ACC送RAM的08H单元
• 出栈: POP ACC (设SP=08H)
• ①将RAM 中08H单元内容送A
• ②SP-1送SP ,此时SP=07H
• 访问外部数据存储器时,使用 MOVX 指令。
• 在硬件具备的条件下,MCS-51单片机可以使用64KB的外部数据存储器.如果要访问外部数据存储器RAM时,只能使用间址的寻址方式.
• 间址寄存器有R0,R1或DPTR.前者寻址范围为256KB(00H-FFH);后者为64KB(0000H-FFFFH).使用的指令是 MOVX。
• 当单片机需要外加RAM存储器时(扩展系统),必须使用专用的MOVX指令,此时单片机的端口功能就要发生相应的改变:
• ① P0、P2作为外部RAM的地址和数据总线;
• ② 使用MOVX指令进行读写操作。
• ③MOVX指令在执行时,会自动地产生/RD或/WR信号对外部RAM实现控制。
本课内容:介绍51单片机内部硬件的基本结构。重点掌握数据寄存器RAM、程序存储器ROM的结构特点及使用方法。
深刻掌握单片机的硬件结构及特点(RAM、ROM、特殊功能寄存器SFR、定时器、并行和串行口、中断系统,)。
熟练掌握指令系统。掌握“寻址方式” 是学习汇编程序设计的关键。
掌握中断原理,学会使用中断的方法编程;
掌握单片机与外围电路的接口。掌握MOVX指令的时序是接口电路设计的关键。
要有一本好的参考书。