**
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指令的时序是接口电路设计的关键。 要有一本好的参考书。
|