《单片机原理第2章》由会员分享,可在线阅读,更多相关《单片机原理第2章(56页珍藏版)》请在金锄头文库上搜索。
1、2.6 80C51的并行口结构与操作本章共分六节,主要讲述:2.1 80C51系列概述2.2 80C51的基本结构与应用模式2.3 80C51典型产品资源配置与引脚封装2.4 80C51的内部结构2.5 80C51的存储器组织2.1 80C51系列概述2.1.1 MCS-51系列(1)MCS-51是Intel公司生产产的一个单单 片机系列名称。属于这这一系列的单单片机有 多种,如:8051/8751/8031;8052/8752/8032;80C51/87C51/80C3180C52/87C52/80C32等 。 (2)该系列生产工艺有两种:CHMOS是CMOS和HMOS的结合,既保 持了HM
2、OS高速度和高密度的特点,还具有 CMOS的低功耗的特点。在产品型号中凡带 有字母“C”的即为CHMOS芯片,CHMOS芯 片的电平既与TTL电平兼容,又与CMOS电 平兼容。一是HMOS工艺(高密度短沟道MOS工艺 )。二是CHMOS工艺(互补金属氧化物的 HMOS工艺)。(3)在功能上,该系列单片机有基本型 和增强型两大类:增强型: 8052/8752/8032 80C52/87C52/80C32基本型: 8051/8751/8031 80C51/87C51/80C31(4)在片内程序存储器的配置上,该 系列单片机有三种形式,即掩膜ROM 、EPROM和ROMLess(无片内程序存 储器)
3、。如: 80C51有4K字节的掩膜ROM; 87C51有4K字节的EPROM ; 80C31在芯片内无程序存储器。2.1.2 80C51系列 Intel的:80C31、80C51、87C51,80C32 、80C52、87C52等; ATMEL的:89C51、89C52、89C2051 等; Philips、华华邦、Dallas、 Siemens(Infineon)等公司的许许多产产品 。80C51是MCS-51系列中CHMOS工艺艺 的一个典型品种 ;其它厂商以8051为为基核开 发发出的CMOS工艺单艺单 片机产产品统统称为为80C51 系列。当前常用的80C51系列单单片机主要产产 品有
4、:2.2 80C51的基本结结构与应应用模式2.2.1 80C51的基本结结构2.2.2 80C51的应应用模式一、总线型单片机应用模式总线型应用的“三总线”模式 非总线型应用的“多I/O”模式 二、非总线型单片机应用模式 非总线型单片机已经将用于外部总线 扩展用的I/O口线和控制功能线去掉,从而 使单片机的引脚数减少、体积减小。对于 不需进行并行外围扩展,装置的体积要求 苛刻且程序量不大的系统极其适合。非总 线型单片机典型产品如: AT89C2051/AT89C4051。2.3 80C51典型产产品资资源配置与引 脚 2.3.1 80C51典型产产品资资源配 置由表可见: (1)增强型与基本
5、型在以下几点不同: 片内ROM字节数:从4K增加到8K; 片内RAM字节数:从128增加到256; 定时/计数器从2个增加到3个; 中断源由5个增加到6个。 (2)片内ROM的配置形式: 无ROM(即ROMLess)型,应用时要在片外 扩展程序存储器; 掩膜ROM(即MaskROM)型,用户程序由 芯片生产厂写入; EPROM型,用户程序通过写入装置写入, 通过紫外线照射擦除; FlashROM型,用户程序可以电写入或擦除 (当前常用方式)。 还有OTPROM型(一次性编程写入ROM) 产 品,具有较高的环境适应性和可靠性。2.3.2 80C51的引脚封装总 线型非总 线型2.4 80C51的
6、内部结结构2.4.1 80C51的内部结结 构一、80C51的微处理器(CPU)(1)运算器 累加器ACC ; 寄存器B ; 程序状态字寄存器PSW 。(2)控制器 程序计数器PC ; 指令寄存器IR ; 定时与控制逻辑。二、80C51的片内存储器在物理上设计成程序存储器和数据存储器 两个独立的空间(称为哈佛结构): 内部ROM容量4K字节范围是:000H0FFFH 内部RAM容量128字节范围是:00H7FH三、80C51的I/O口及功能单元四个8位的并行口,即P0P3。它们均为 双向口,既可作为输入,又可作为输出。 每个口各有8条I/O线。 有一个全双工的串行口(利用P3口的两 个引脚P3
7、.0和P3.1);有2个16位的定时/计数器 ;有1套完善的中断系统。 四、80C51的特殊功能寄存器(SFR) 内部有SP,DPTR(可分成DPH、DPL两个8位 寄存器),PCON,IE,IP等21个特殊功 能寄存器单元,它们同内部RAM的128个字节 统一编址,地址范围是80HFFH。这些SFR只 用到了80HFFH中的21个字节单元,且这些 单元是离散分布的。增强型单片机的SFR有26个字节单元,所增 加的5个单元均与定时/计数器2相关。2.4.2 80C51的时钟时钟 与时时序一、80C51的时钟产生方 式内部时钟 外部时钟二、80C51的时钟信号一个机器周期包含12个晶荡周期或6个
8、时钟周期 指令的执行时间称作指令周期 (单、双、四周期)二、80C51的典型时序各指令的微操作在时间上有严格的次序, 这种微操作的时间次序我们称作时序。 单字节指令 双字节指令1、单周期指令时 序2个机器周期中ALE信号有效4次,后3次读操作无效 。 2、双周期指令时 序在第二机器周期无读操作码的操作,而是进行外 部数据存储器的寻址和数据选通 。ALE信号会出现非周 期现象。 访问外部RAM的双周期指令时序 2.4.3 80C51单单片机的复位一、复位电路 复位目的是使单片机或系统中的其它部件处于某种 确定的初始状态。 上电复位电路 按键与上电复位 二、单片机复位后的状 态PC=0000H,所
9、以程序从0000H地址单元开始执行 ; 启动后,片内RAM为随机值,运行中的复位操作 不改变片内RAM的内容 ;特殊功能寄存器复位后的状态是确定的 : P0P3=FFH,各口可用于输出,也可用于输入; SP=07H,第一个入栈内容将写入08H单元; IP、IE和PCON的有效位为0,各中断源处于低优 先级且均被关断、串行通讯的波特率不加倍; PSW=00H,当前工作寄存器为0组。2.5 80C51的存储储器组织组织80C51存储器可以分成两大类: RAM,CPU在运行时能随时进行数据的写 入和读出,但在关闭电源时,其所存储的信息将 丢失。它用来存放暂时性的输入输出数据、运算 的中间结果或用作堆
10、栈。 ROM是一种写入信息后不易改写的存储器 。断电后,ROM中的信息保留不变。用来存放固 定的程序或数据,如系统监控程序、常数表格等 。 2.5.1 80C51的程序存储储器配 置PC是16位的计数器,所以能寻址64KB的ROM。 80C51内部有4KB的掩膜ROM,87C51在内部有 4KB的EPROM,而80C31在内部没有程序存储器。 2.5.2 80C51的数据存储储器配置一、工作寄存器 区低端32个字节分成4个工作寄存器组,每组8个 单元。当前工作寄存器组的机制便于快速现场保护 。 PSW的RS1、RS0 决定当前工作寄存器组号 寄存器0组 :地址00H07H; 寄存器1组 :地址
11、08H0FH; 寄存器2组 :地址10H17H; 寄存器3组 :地址18H1FH。二、位寻址区三、通用RAM区位寻址区之后的30H至7FH共80个字节 为通用RAM区。这些单元可以作为数据缓 冲器使用。这一区域的操作指令非常丰富 ,数据处理方便灵活。在实际应用中,常需在RAM区设置堆 栈。80C51的堆栈一般设在30H7FH的范 围内。栈顶的位置由SP寄存器指示。复位 时SP的初值为07H,在系统初始化时可以 重新设置。2.5.380C51的特 殊功能寄存 器(SFR)一、与运算器相关的寄存器(3个)累加器ACC,8位。用于向ALU提供操作数,许多 运算的结果也存放在累加器中; 寄存器B,8位
12、。主要用于乘、除法运算。也可以作 为RAM的一个单元使用;程序状态字寄存器PSW,8位。其各位含义为:CY:进位、借位标志。有进位、借位时 CY=1,否则 CY=0;AC:辅助进位、借位标志;F0:用户标志位,由用户自己定义;RS1、RS0:当前工作寄存器组选择位;OV:溢出标志位。有溢出时OV=1,否则OV=0;P:奇偶标志位。ACC中结果有奇数个1时P=1,否则 P=0 。二、指针类寄存器(3个) 堆栈指针SP,8位。它总是指向栈顶。堆栈操作遵循“后进先出”的原则,入栈操作时 ,SP先加1,数据再压入SP指向的单元。出栈操作时 , 先将SP指向的单元的数据弹出,然后,SP再减1 ,这时SP
13、指向的单元是新的栈顶。可见,80C51单片 机的堆栈区是向地址增大的方向生成的。 数据指针DPTR,16位。用来存放16位的地址 。它由两个8位的寄存器DPH和DPL组成。间接 寻址或变址寻址可访问片外的64KB范围的RAM或 ROM数据。 三、与口相关的寄存器(7个 )并行I/O口P0、P1、P2、P3,均为8位;串行口数据缓冲器SBUF;串行口控制寄存器SCON;串行通讯波特率倍增寄存器PCON(一些 位还与电源控制相关,所以又称为电源控制 寄存器)。四、与中断相关的寄存器(2个) 中断允许控制寄存器IE; 中断优先级控制寄存器IP。 五、与定时器/计数器相关的寄存器(6个 )定时/计数器
14、T0的两个8位计数初值寄存 器TH0、TL0,它们可以构成16位的计数器 ,TH0存放高8位,TL0存放低8位; 定时/计数器T1的两个8位计数初值寄存 器TH1、TL1,它们可以构成16位的计数器 ,TH1存放高8位,TL1存放低8位; 定时/计数器的工作方式寄存器TMOD; 定时/计数器的控制寄存器TCON。2.6 80C51的并行口结结构与操作2.6.1 P0口、P2口的结构 一、 P0口的结构1、 P0用作通用I/O口 当系统不进行片外的ROM扩展,也不进 行片外RAM扩展时,P0用作通用I/O口。在这种情况下,单片机硬件自动使C=0, MUX开关接向锁存器的反相输出端。另外,与门输出
15、的“0”使输出驱动器的上拉 场效应管T1处于截止状态。因此,输出驱动 级工作在需外接上拉电阻的漏极开路方式。作输出口时,CPU执行口的输出指令,内 部数据总线上的数据在“写锁存器”信号的作 用下由D端进入锁存器,经锁存器的反向端 送至场效应管T2,再经T2反向,在P0.X引 脚出现的数据正好是内部总线的数据。作输入口时,数据可以读自口的锁存器, 也可以读自口的引脚。这要根据输入操作 采用的是“读锁存器”指令还是“读引脚”指 令来决定。执行“读修改写”类输入指令时 (如:ANL P0,A),内部产生的“ 读锁存器”操作信号,使锁存器Q端数 据进入内部数据总线,在与累加器A 进行逻辑运算之后,结果又送回P0的 口锁存器并出现在引脚。读口锁存器可以避免因外部电路原因使 原口引脚的状态发生变化造成的误读。在执行“MOV”类输入指令时(如:MOV A,P0),内部产生的操作信号是“读引脚” 。注意,在执行该类输入指令前要先把锁存 器写入“1”,使场效应管T2截止,使引脚处 于悬浮状态,可以作为高阻抗输入。否则,在作为输入方式之前曾向锁存器输 出过“0”,则T2导通会使引脚箝位在“0” 电平,使输入高电平“1”无法读入。所以 ,P0口在作为通用I/O口时,属于准双向口 。2、P0用作地址/数据总线 当系统进行片外的