《第2章单片机结构及原理教材课程》由会员分享,可在线阅读,更多相关《第2章单片机结构及原理教材课程(80页珍藏版)》请在金锄头文库上搜索。
1、第2章 单片机结构及原理,单片机内部结构及原理简介 (1)外部引脚功能 (2)存储空间配置和功能 并行I/O口(结构、工作原理及功能) 时钟电路和复位电路 单片机的工作方式 单片机的工作过程,2-1 内部结构和引脚功能,2.1.1 内部结构与基本特性,(1)内部结构,运算器,控制器,串口:全双工端口(RXD:接收端,TXD发送端); 中断系统:设有5个中断源; 系统扩展能力:可外接64K的 ROM 和64KBRAM; 堆栈:设在RAM单元中,可以浮动既通过堆栈指针SP来确定堆栈的位置 布尔处理机:配合布尔运算的指令进行各种逻辑运算; 指令系统:111条指令。,MCS-51系列芯片及制造工艺,2
2、.1.2 MCS-51单片机的引脚定义,(1)MCS-51单片机有两种封装形式: a.40脚的双列直插DIP封装; DualInline Package b.44脚的PLCC- Plastic Leaded Chip Carrier c.其他的封装形式 ,封装形式,(2)MCS-51单片机的引脚功能,P1,P2,P3,P0,单片机的引脚说明(晶振端), 电源: VCC - 芯片电源,接+5V/3.3V/2.7V; VSS - 接地端; 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。,1545pfx2,112MHz(MCS-51) 024MHz(Atmel-89C),XTAL
3、1,XTAL2,也可以由 XTAL1端接入外部时钟,此时应将 XTAL2接地:,XTAL2,XTAL1,外部时钟,通常外接一个晶振两个电容, 控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。,RST(9脚): 在系统上电震荡器开始工作时, 在内部加在此引脚上有一个两个时钟周期的高电平使
4、单片机复位。但为了使系统复位可靠,建议外加 一个上电复位电路,延长复位的时间。当单片机掉点时,此引脚可以接入备用电源向单片机内部的RAM供电,以防止RAM中的数据丢失。 注意:在复位状态下:所有SFR的内容全变为“0”,端口输出“1”。RAM内容不变。,(a),单片机,锁存器74LS373,P0.0-P0.7,ALE,PSEN,P2.0-P2.4,8D,8Q,OE,A8-A12,A0-A7,D0-D7,G,EA,OE,CE,EPROM,单片机的引脚(PSEN端),PSEN:寻址外部程序存储器时选通外部EPROM的 读控制端(OE)低有效。,EPROM, EA/Vpp:内外ROM选择/片内EPR
5、OM编程电源。 EA功能:内外ROM选择端。 80C51单片机ROM寻址范围为64KB,其中4KB在片内,60KB在片外(80C31芯片无内ROM,全部在片外)。 当EA保持高电平时,先访问内ROM,但当PC(程序计数器)值超过4KB(0FFFH)时,将自动转向执行外ROM中的程序。 当EA保持低电平时,则只访问外ROM,不管芯片内有否内ROM。对80C31芯片,片内无ROM,因此EA必须接地。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。, I/O线 80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊
6、信号输入输出和控制信号(属控制总线)。,P3.0 RXD:串行口输入端; P3.1 TXD:串行口输出端; P3.2 INT0:外部中断0请求输入端; P3.3 INT1:外部中断1请求输入端; P3.4 T0:定时/计数器0外部信号输入端; P3.5 T1:定时/计数器1外部信号输入端; P3.6 WR:外RAM写选通信号输出端; P3.7 RD:外RAM读选通信号输出端。,80C51的存储器组织结构可以分为三个不同的存储空间,分别是:, 64KB程序存储器(ROM),包括片内ROM和片外ROM;, 256B内部数据存储器(内RAM) (包括特殊功能寄存器) 。, 64KB外部数据存储器(外
7、RAM);,2.1.2 80C51单片机存储器,80C51存储空间配置图,(1)MCS-51 片内数据存储器,1. 内部数据存储器RAM,(2)片内RAM低 128B 功能分配图,0区工作寄存器区结构图,RAM地址 07H 06H 05H 04H 03H 02H 01H 00H,返回上一次,(3)片内 RAM(20H-2FH)位寻址区,2FH,20H,字节地址,位地址,字节地址和位地址是靠不同类型的指令来区分的。如: MOV A, 20h ; 将RAM的20单元内容送累加器A; MOV C ,20h ; 将RAM位寻址区中20H位送CY中。,2.片内RAM高 128B,特殊功能寄存器SFR (
8、21) 特殊用途寄存器的集合。用来设定单片机内部各个部件的工作方式,存放相关部件的状态,定时器初值寄存器,并行端口的锁存器等。,特殊功能寄存器 SFR(21页表2-4),特殊功能寄存器SFR说明:,累加器A: 最常用的专用寄存器, 大多数的指令操作数都来自累加器A.所有的算术运算指令的运算结果都存放在A中. B寄存器: 乘除法指令使用的寄存器.,数据指针DPTR: 16位寄存器,高八位DPH和低八位DPL构成。 SP 堆栈指针: 8位寄存器,用来指示堆栈的位置,可由软件修改。在MCS-51单片机的设计中,片内RAM区为堆栈的可用空间。上电或复位时,SP被初始化为07H,既堆栈底部被确定在RAM
9、的07H单元。,程序状态字PSW: 8位寄存器. CY (PSW.7)进位标志: 在加减法运算中,累加器A的最高位A7有进位,则CY=1,否则CY=0. AC(PSW.6):辅助进位位: 用来判断加减法运算时,低四位是否向高四位进位或借位(既A3的进位或借位). F0(PSW.5) 用户标志位: 完全由用户来定义和使用。 RS1,RS0工作寄存器区选择位:,OV(PSW.2) 溢出标志位: 判断符号数加减法运算时是否有溢出. OV的结果可以用一个算法来表示: OV=CP异或CS 其中:CP为A7的进位,CS为A6的进位OV=1 表明有溢出。 P(PSW.0)奇偶标志位: 用来标志累加器A中运算
10、后1的个数。 当P=1时,表明A中1的个数为奇数个,反之为偶数个。,并行端口P0-P3: SFR中的P0-P3实际上就是I/O端口的数据锁存器。与RAM中的任意一个单元一样,P0-P3都有自己的RAM地址:80H、90H、A0H、B0H。所以,在51单片机中的输入、输出操作实际上就是个普通的RAM单元操作一样:, 执行调用子程序或发生中断时,CPU会自动将当前 PC值压入堆栈,将子程序入口地址或中断入口地址装入PC;子程序返回或中断返回时,恢复原有被压入堆栈的PC值,继续执行原顺序程序指令。,* 程序计数器PC, PC不属于特殊功能寄存器,不可访问,在物理结构上是独立的。 PC是一个16位的地
11、址寄存器,用于存放将要从ROM中读出的下一字节指令码的地址,因此也称为地址指针。 PC的基本工作方式有:, 自动加1。CPU从ROM中每读一个字节,自动执行 PC+1PC;, 执行转移指令时,PC会根据该指令要求修改下一次 读ROM新的地址;,FFFFH 1000H,0FFFH 0000H,3. 程序存储器(ROM),地址范围:0000HFFFFH,共64KB。其中: 低段4KB:0000H0FFFH 80C51和87C51在片内,80C31在片外。 高段60KB:1000HFFFFH。在片外。 读写ROM用MOVC指令,控制信号是PSEN和EA。 读ROM是以程序计数器PC作为16位地址指针
12、,依次读相应地址ROM中的指令和数据,每读一个字节,PC+1PC,这是CPU自动形成的。 但是有些指令有修改PC的功能,例如转移类指令和MOVC指令,CPU将按修改后PC的16位地址读ROM。,读外ROM的过程:,CPU从PC(程序计数器)中取出当前ROM的16位地址,分别由P0口(低8位)和P2口(高8位)同时输出,ALE信号有效时由地址锁存器锁存低8位地址信号,地址锁存器输出的低8位地址信号和P2口输出的高8位地址信号同时加到外ROM 16位地址输入端,当PSEN信号有效时,外ROM将相应地址存储单元中数据送至数据总线(P0口),CPU读入后存入指定单元。,需要指出的是: 64KB中有一小
13、段范围是80C51系统专用单元,0003H0023H是5个中断源中断服务程序入口地址(详见第5章),用户不能安排其他内容。 80C51复位后,PC=0000H,CPU从地址为0000H的ROM单元中读取指令和数据。从0000H到0003H只有3B,根本不可能安排一个完整的系统程序,而80C51又是依次读ROM字节的。因此,这3B只能用来安排一条跳转指令,跳转到其他合适的地址范围去执行真正的主程序。,4. 外部数据存储器(外RAM),地址范围:0000HFFFFH 共64KB。,读写外RAM用MOVX指令, 控制信号是P3口中的RD和WR。,一般情况下,只有在内RAM不能满足应用要求时,才外接R
14、AM。,外RAM 16位地址分别由P0口(低8位)和P2口(高8位)同时输出,ALE信号有效时由地址锁存器锁存低8位地址信号,地址锁存器输出的低8位地址信号和P2口输出的高8位地址信号同时加到外RAM 16位地址输入端,当RD信号有效时,外RAM将相应地址存储单元中的数据送至数据总线(P0口),CPU读入后存入指定单元。,读外RAM的过程增加,写外RAM的过程:,写外RAM的过程与读外RAM的过程相同。只是控制 信号不同,信号换成WR信号。当WR信号有效时, 外RAM将数据总线(P0口分时传送)上的数据写入相 应地址存储单元中。,2.2.1 P0口,一、特点 (1)在作为通用数据I/O端口时,
15、具有较强的驱动能力(8个TTL负载),与MOS负载连接时,需要外接一个上拉电阻。 (2)作为“地址、数据复用总线”使用时,P0口首先输出外部存储器的低八位地址,然后再变为数据总线进行数据的输入或输出.此时,P0口不能再作为通用I/O口。,2.2 并行的I/O端口,P0口的位结构图,返回,返回前一次,上拉电阻,读引脚,与外电路连接,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,0,0,1,0,0,截止,截止,=0,Vcc,P0用作通用I/O时,控制=0 : 此脚作输出口时,当P0口用作输出口时,因输出级处于开漏状态,必须外接上拉电阻。,V2,V1,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器,写锁存器,内部总线,地址/数据,控制=1,引脚P0.X,3,4,1,0,1,1,=0,导通,截止,=0,Vcc,P0口用作地址/数据复用口,控制=1 作地址/数据输出:输