单片机原理及应用教案-第3章

  • 格式:doc
  • 大小:241.00 KB
  • 文档页数:8

第3课教学内容:2.1.2 MCS-51单片机的引脚功能2.2 存储器结构与地址分配2.3 MCS-51单片机工作方式2.4 MCS-51单片机指令系统2.4.1基础知识2.4.2数据传送指令及要点分析教学目标:了解:存储器基础知识;MCS-51单片机工作方式;单片机指令的分类与格式。

掌握: MCS-51单片机存储器结构,片内RAM的128个字节地址分配,特殊功能寄存器SFR的功能及应用,RAM、ROM结构与地址分配;通过图解说明的连续执行方式;单片机指令的寻址方式,内部数据传送指令特点与应用课时安排:3 课时教学重点:片内RAM的128个字节地址分配,RAM、ROM结构与地址分配;通过图解说明的连续执行方式;单片机指令的寻址方式,内部数据传送指令特点与应用教学提示:一、重点内容与要点分析(一)MCS-51单片机的引脚功能MCS-51单片机芯片共40脚,I/O端口引脚32条、控制引脚4条、电源引脚2条、时钟引脚2条,如图2-4 所示。

图2-4 封装引脚图1.I/O端口引脚(4×8 = 32条)(1)并行接口P0、P2用来作总线扩展。

P2为地址高8位,P0为地址低8位与8位数据时分复用。

工作时外部必须有地址锁存器配合工作,通常使用74LS373作地址锁存器,ALE信号的下降沿把P0口上的地址低8位值打入外部地址锁存器,然后由/PSEN(或/RD、/WR)信号控制从P0口读入或送出数据。

(2)四个并行I/O接口有着不同的电路结构。

I/O口的每一位基本上都是由口锁存器、功能转换开关和驱动电路三部分组成。

对I/O口的操作分为锁存器操作和管脚操作两种类型,由“读—修改—写”指令和直接操作指令来分别进行。

使用接口时应注意读入管脚状态前要先输出“1”,还应注意P0口的外部上拉和各个口的驱动能力。

2.控制引脚(4条)(1)ALE/PROG地址锁存允许/编程脉冲输入信号线,配合 P0口引脚的第二功能使用。

①访问片外存储器时,此引脚输出地址锁存允许脉冲,用以控制把地址低字节锁存到锁存器,以实现低位地址和数据的分时传送。

②对于8751型单片机内部在片内EPROM编程时,作为编程脉冲的输入引脚。

③在通常操作中,ALE输出脉冲信号频率固定为晶振频率的1/6,甚至在不进行片外存储器访问时,ALE信号也照常发出。

然而,在每次访问片外数据存储器时,却要丢失一个ALE 脉冲。

(2)P SEN片外程序存储器ROM的开放信号引脚,用来输出访问片外程序存储器时的读选通信号。

当CPU访问外部ROM时。

P SEN引脚定时产生负脉冲信号作为外部ROM的读选通信号,即每个机器周期内P SEN两次有效(低电平),实现片外ROM单元的读操作。

不过在访问片外数据存储器RAM或片内程序存储器ROM时,不产生有效得P SEN信号。

(3)EA/VPP 允许访问片外程序存储器/编程电源输入引脚,可以控制8051使用片内还是片外ROM。

①欲使任何MCS-51器件执行片外程序存储器ROM 0000H~0FFFH地址单元的指令,必须将EA引脚接地;EA引脚接高电平时,CPU将执行上述地址范围的片内ROM程序。

即当EA=0时,对ROM的访问限定在片外程序存储器;当EA=1时.在对ROM的访问先从内部4KB(0000H~0FFFH)开始,当地址范围超出4KB时自动切换到外部进行访问。

因此8031单片机没有内部的4KB程序存储器,其EA脚应接地,如图2-8所示。

②对于内部EPROM型器件来说,若使用了保密位的话,器件复位时,EA引脚上的电平将被从内部锁住,因此将不执行任何单元的片外程序。

③当对内含EPROM的单片机(如8751) 编程时,此引脚VPP接受编程电压的输入,即外接12—25V的编程电压。

(4)RST/VPD 复位/备用电源引脚。

①任何单片机在工作之前都要进行复位,以便CPU以及其它功能部件都处于一个确定的初始状态,并从这个状态开始工作。

也就是程序开始执行之前,单片机作好准备工作。

如何进行复位呢?只要在单片机的RST引脚上保持两个机器周期(24个时钟周期)的高电平时。

可对单片机实现复位操作。

②当主电源VCC发生掉电或电压降低到低于电平规定值时,VPD上外接的备用电源自动启用,为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使系统在恢复上电后能继续正常运行。

3.时钟引脚(2条)MCS-51单片机芯片内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。

内时钟电路一般由外接晶体和定时电容来组成,也可以直接接入外部时钟信号工作。

内时钟的引出需要有特殊的驱动电路。

4.电源引脚(2条)Vcc单片机工作电源的输入引脚,接+5V。

Vss接地引脚。

(二)存储器结构与地址分配8051的存贮空间分为64K程序存贮器、64K数据存贮器、256字节内部寄存器RAM三个部分。

程序存贮器中低端的4K可用/EA脚来选择使用内部或外部的程序存贮器。

1.MCS-51单片机存储器结构MCS-51型单片机的存储器结构可分为片内和片外存储器,如图2-7所示。

▪片内4KB程序存储器空间(8031无),其地址为0000H ~ 0FFFH ;▪片外64KB的程序存储器空间,其地址为0000H ~ 0FFFFH ;▪片内128B的数据存储器空间,其地址为00H~ 7FH ;▪片内特殊功能寄存器分散分布在地址为80H ~ 0FFH存储空间;▪片外64KB的数据存储器空间,其地址为0000H ~ 0FFFFH。

a) b)图2-7 MCS-51存储器结构a)程序存储器地址分配 b)数据存储器地址分配内部寄存器分为:┌特殊功能寄存器(SFR)80H-0FFHRAM┤┌工作寄存器(四组) 00H-1FH└通用寄存器RAM 00H-7FH┤位寻址单元(128位) 20H-2FH└通用RAM单元 30H-7FH2. 片内RAM的128个字节地址分配这里要注意的是内部RAM的第二次地址分配,这是个要点问题。

内部RAM分为三个区,如图2-8所示。

1.工作寄存器区片内RAM工作寄存器区地址为00H-1FH,分四组,组号依次为0、1、2、3,每组有8个单元、各组都可以用R0~R7作为单元的编号。

寄存器常用于存放操作数和中间结果。

这四组不是同时有效,而是可以相互切换,即由PSW中的RS1、RS0的状态决定,任一时刻,只有一组工作寄存器处于工作状态,这个处于工作状态的寄存器组被称为当前寄存器组。

这一部分内存单元在以后的寻址方式中有特殊的功能,即寄存器寻址,寄存器寻址是一种非常重要的寻址方式。

为什么要把内部RAM的最低地址部分留给工作寄存器呢?因为容易被记住,为CPU提供了数据就近存取的便利,有利于提高单片机的处理速度,因此在MCS-51单片机指令中使用工作寄存器的特别多,且多为单字节指令,执行速度最快。

另外,在系统中大量使用工作寄存器可以提高程序编制的灵活性,也有利于简化程序设计、提高程序的运行速度。

2.位寻址区8031最大的特点就是能够进行位操作。

一个8位的二进制数在位寻址中,它的每一位都是独立的数,即从bit0到bit7的每位都可以进行访问或操作。

每一位独立有什么好处呢?是可以形成128个标志位,这样单片机的内存资源就变得丰富了。

因为我们在工业控制中,通常要判断某个状态是有还是没有,是对还是错或决定开关是ON还是OFF。

例如在顺序工业控制中,灯的亮和灭只要1位就行了,而不用一个字节(8位)来描述。

所以这时位操作是很方便的。

位寻址区从20H-2FH,该区域的16个单元的每一位都有一个位地址,依次编址为00H~7FH。

就犹如有了128个开关,这就足够用了。

位寻址区的16个单元可以像普通RAM单元一样进行字节操作,也可以用位操作指令对单独的位进行操作。

在位寻址时,注意不要与字节的寻址混淆了。

在使用中,“位”有两种表示形式:一种是以“位地址”的形式,如 MOV 7FH,C ;把进位标志位C y中的内容传送到位地址7FH中。

另一种是以“存储单元地址.位”的形式,如 MOV 2FH.7,C ;把进位标志位C y中的内容传送到位地址7FH中。

图2-8 8051内部RAM 分配3.便笺区便笺区是供存放用户数据或堆栈的用户区,分配在30H 到7FH 的80个字节的片内RAM 区,用户对该区域的访问是按字节寻址的方式进行的。

理论上堆栈最多可以占用从30H~7FH 的内存单元,但一般不能全占满,要将一部分内存留给用户。

堆栈区的大小是可以通过堆栈指针由用户自己来调整的。

如设定堆栈指针SP 为50H 时,则从50H 到7FH 的RAM 单元就用作堆栈区,而从30H 到4FH 的RAM 单元就可以用作用户数据区,用来存放用户程序运行中的各种随机数。

(三)MCS-51单片机工作方式MCS-51单片机共有复位、程序执行、节电工作、EPROM 编程和校验等4种工作方式,这里主要介绍前三种工作方式。

1. MCS-51单片机的工作方式介绍1.复位方式复位状态是指对CPU 内部单元的预先约定的初值状态。

复位是指进入这种状态的过程。

复位条件是:在RST 管脚上维持两个机器周期的高电平将导致单片机进入复位状态。

在复位状态下,PC 指向0000H 地址,SP 内容为07H 、P0-P3口锁存器内容为0FFH 、其余SFP 的内容为00H 、通用RAM 的内容保持不变。

复位电路可采用由电阻和电容构成的上电复位电路或按键复位电路。

(1)复位信号 RST 脚输入高电平脉冲(>24个时钟周期),如f osc = 6MHz ,则复位信号持续时间应超过4s μ。

(2)复位信号产生方式有上电自动复位和按键手动复位两种方式,如图2-10所示。

上电自动复位是通过外部复位电路的电容充电实现的,通电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程序,即为低电平,单片机开始正常工作;按键手动复位是通过电阻接高电平实现的。

复位后,其片内各寄存器状态如表2-6所示,片内RAM中内容不变。

a)b)图 2-10 复位电路图a)上电复位电路b)按键复位电路表2-6 复位后的内部寄存器状态2.程序执行方式程序执行方式是单片机的基本工作方式,有以下两种方式。

(1)单步执行方式是指单片机在某个按钮的控制下一条一条地执行用户程序中指令的方式,即按一次按钮就执行一条用户指令。

常常用于开发系统中用户程序的调试。

(2)连续执行方式1)复位后CPU从PC = 0000H开始逐条执行存放在ROM中的程序指令,程序起始指令必须放在ROM 0000H中。

但是,一般系统监控程序并不是从0000H单元开始存放的,前面在图2-9中已讲过,MCS-51单片机系统中从0003H开始的若干个单元规定为中断服务程序的入口地址。