书签 分享 收藏 举报 版权申诉 / 145
上传文档赚钱

类型《微控制器原理及应用技术》课件第3章.ppt

  • 上传人(卖家):momomo
  • 文档编号:8083604
  • 上传时间:2024-11-23
  • 格式:PPT
  • 页数:145
  • 大小:2.19MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《微控制器原理及应用技术》课件第3章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    微控制器原理及应用技术 控制器 原理 应用技术 课件
    资源描述:

    1、第3章 MCS51系列单片机结构u 3.1 MCS51单片机的结构和引脚单片机的结构和引脚u 3.2 中央处理器中央处理器CPUu 3.3 存储器存储器u 3.4 并行输入并行输入/输出接口输出接口u 3.5 I/O接口电路的作用与接口电路的作用与I/O接口的接口的编址方式编址方式u 3.6 CPU的时序与复位的时序与复位教学提示:单片机的结构及工作原理是单片机系统的基础资源,本章主要讲述MCS51单片机芯片的组成、内部各功能模块的逻辑框图、电路结构和工作原理。学习中,一是要注意理解各功能模块的结构和原理,二是要注意CPU与各功能模块间的联系,形成单片机的整体概念。只有清楚了解单片机已有的硬件

    2、资源,才能通过程序利用硬件资源实现、完成功能。教学要求:本章让学生了解单片机内部功能模块的组成,重点掌握CPU、RAM、ROM、特殊功能寄存器、I/O接口、时钟电路和复位电路的结构与原理。MCS51系列单片机包括51、52两个子系列,其指令系统和引脚完全相同。51子系列有80C31、80C51、87C51和89C51这4个机型,它们的区别是80C31无ROM,80C51有掩膜ROM,87C51有可紫外线擦除的EPROM和89C51有电可擦除的FPEROM。52子系列也有4种机型,分别为80C32、80C52、87C52和89C52。52子系列ROM的区别与51子系列相同。3.1 MCS51单片

    3、机的结构和引脚单片机的结构和引脚两子系列的其它区别是,51子系列有128B的片内RAM,4KB的ROM(不包括80C31),2个定时/计数器及5个中断源。52子系列有256B的片内RAM,8KB的ROM(不包括80C32),3个定时/计数器及6个中断源。MCS51系列单片机的典型芯片是8051,其结构框图如图3.1所示。图3.1 8051单片机内部结构图 由图3.1可知各功能部件均连接在内部总线上,按功能可划分为8个部分,即中央处理机CPU、数据存储器RAM、程序存储器ROM、特殊功能寄存器SFR、输入/输出(I/O)接口、定时/计数器、中断源和串行通信口。本章介绍前五个部分,其余部分将在后续

    4、章节中介绍。3.1.1 单片机的内部结构及功能部件MCS51系列单片机的内部结构由8部分组成,以80C51单片机为例,其内部按功能可划分为CPU、存储器、I/O端口、时钟振荡电路等模块。各功能简述如下:1.一个8位中央处理机(CPU)中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码。CPU负责控制、指挥和调度整个单元系统协调工作,完成运算与控制输入/输出功能等操作。51单片机的CPU由运算器、控制器及位处理器等组成。运算器:包括算术/逻辑单元(ALU)、累加器(ACC)、寄存器(B)、暂存器(TEMP)及程序状态寄存器(PSW)等。运算器的功能是进

    5、行算术运算和逻辑运算,可以对单字节、半字节(4位)等数据进行操作。如,能完成加、减、乘、除、加“1”、减“1”、BCD码十进制调整、比较等算术运算,还能实现与、或、异或、取反、左右循环等逻辑操作。操作结果一般存放在累加器(Acc)中,结果的状态信息呈现在程序状态寄存器(PSW)中。控制器:是控制单片机工作的神经中枢,它包括程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、数据指针(DPTR)、堆栈指针(SP)、RAM地址寄存器、时钟发生器、定时控制逻辑等。控制器以主振频率为基准,发出CPU的控制时序,从程序存储器取出指令,放在指令寄存器,然后对指令进行译码,并通过定时和控制逻辑电路,

    6、在规定的时刻发出一定序列的微操作控制信号,协调CPU各部分的工作,以完成指令所规定的操作。其中,一些控制信号通过芯片的引脚送到片外,控制扩展芯片的工作。位处理器(布尔处理器):MCS51的CPU内部有一个1位处理器子系统,它相当于一个完整的位单片机,每次处理的数据只有1位。它有自己的累加器(CY)和数据存储器(可位寻址空间)。它能完成逻辑与、或、非、异或等逻辑操作,用于逻辑电路的仿真、开关量的控制及设置状态标志位等。2.存储器MCS51系列单片机的存储器包括:数据存储器(RAM)和程序存储器(ROM)两部分。数据存储器:51/52系列单片机片内有128/256个字节的片内数据存储器和21/26

    7、个特殊功能寄存器。数据存储器是通用存储器,用于存放运算中间结果或临时数据等。特殊功能寄存器(SFR)是CPU运行和片内功能模块专业的寄存器。一般不能作为通用数据存储器使用。当片内数据存储器不够使用时,可扩展片外数据存储器,MCS51对外有64KB的数据存储器的寻址能力。程序存储器:51/52系列单片机有4KB/8KB的掩膜ROM,用于存放用户程序和常数(如原始数据或表格)等。当需要扩展片外程序存储器时,MCS51对片外有64KB程序存储器的寻址能力。3.I/O端口MCS51单片机有4个8位宽度的并行输入/输出(I/O)端口,分别称为P0口、P1口、P2口、P3口(共32线)。单片机输出的控制信

    8、号和采集外部的输入信号,都是通过这32个I/O线进行传输的。4.时钟振荡电路单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。51/52内置一个振荡器和时钟电路,用于产生整个单片机运行的脉冲时序,最高频率可达12MHz。振荡器实际是一个高增益反相器,使用时需外接一个晶振和两个匹配电容。3.1.2 单片机外部引脚说明MCS51系列单片机芯片均为40个引脚,HMOS工艺制造的芯片采用双列直插(DIP)方式封装,其引脚示意及功能分类如图3.2所示。COMS工艺制造的低功耗芯片也有采用方形封装的,但为44个引脚,其中4个引脚是不使用的

    9、。图3.2 MCS51系列单片机引脚及功能分类图 MCS51系列单片机的40个引脚中有2个电源的引脚,2个外接晶体引脚,4个控制信号(或与其它电源复用)引脚,以及32条输入/输出(IO)引脚。下面按引脚功能分4部分来叙述各引脚的功能。1.电源引脚(1)Vcc(40脚):接5V电源正端;(2)Vss(20脚):接5V电源地端。2.外接晶体引脚(1)XTAL1(19脚):片内高增益反向放大器的输入端,接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。(2

    10、)XTAL2(18脚):片内高增益反向放大器的输出端,接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端;对于CHMOS芯片,该引脚悬空不接。3.控制信号引脚(4)RSTVPD(9脚):复位信号输入端,高电平有效。当单片机振荡器工作时,在此引脚输入两个机器周期以上的高电平,就可实现复位操作,使单片机恢复到初始状态。对于HMOS工艺的单片机,此引脚还有备用电源VPD功能,为单片机掉电保护端。当Vcc发生故障、降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(50.5V)为内部RAM供电,以保证RAM中的

    11、数据不丢失。4.输入输出(IO)引脚MCS51单片机有4个8位的并行I/O口,分别称为P0口、P1口、P2口和P3口,共32根口线。4个并行I/O口看似一样,但结构上是有区别的,在使用上也是不一样的。(1)P0口(32脚39脚):P0.0P0.7统称为P0口。有两种工作方式,当不接外部存储器与不扩展IO接口时,它可作为准双向8位输入输出接口。当接有外部存储器或扩展IO接口时,P0口为地址数据分时复用口。它分时提供8位地址总线和8位双向数据总线。对于片内含EPROM的单片机,当EPROM编程时,从P0口输入指令字节;当检验程序时,则输出指令字节。(2)P1口(1脚8脚):P1.0P1.7统称为P

    12、1口,可作为准双向IO接口使用。对于MCS52子系列单片机,P1.0与P1.1还有第2功能:P1.0可用作定时计数器2的计数脉冲输入端T2;P1.1用作定时计数器2的外部控制端T2EX。对EPROM编程和进行程序验证时,P1口接收输入的低8位地址。(3)P2口(21脚28脚):P2.0P2.7统称为P2口,一般可作为准双向IO接口。当接有外部存储器或扩展IO接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。对EPROM编程和进行程序验证时,P2口接收输入的高8位地址。(4)P3口(10脚17脚):P3.0P3.7统称为P3口。它为双功能口,可以作为一般的准双向IO接口,

    13、也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入、输出或第2功能。综上所述,MCS51系列单片机的引脚作用可归纳为以下两点:单片机功能多,引脚数少,因而许多引脚都具有第2功能;单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线;由ALE、PSEN、RST、EA与P3口中的INT0、INT1、T0、T1、WR、RD共10个引脚组成控制总线。由于是16位地址线,因此可使外部存储器的寻址范围达到64KB。中央处理器是单片机内部的核心部件,MCS51单片机的CPU是8位数据宽度的处理器,能处理8位二进制数据或代码。CPU负责控制、指挥和

    14、调度整个单元系统协调工作,完成运算和控制输入/输出等操作。它决定单片机的主要功能特性,由运算器、控制器及位处理器组成。3.2 中央处理器中央处理器CPU3.2.1 运算器运算器包括算术逻辑单元(ALU)、累加器(ACC)、寄存器(B)、暂存器(TEMP)及程序状态字(PSW)等。(1)ALU:算术逻辑单元,可以进行加、减、乘、除四则运算以及与、或、非、异或等逻辑运算;还执行增量、减量,左移位,右移位,半字节更换,位处理等操作。(2)ACC:累加器,8位。51单片机大多数指令都必须使用ACC,它是使用最频繁的寄存器。它与ALU直接相连,加、减、乘、除、移位以及其它逻辑运算都要使用ACC作为数据的

    15、存放地址。特别地,外部数据的读、写也都必须使用ACC。ACC有两个名称:A和ACC。A表示寄存器,ACC表示用地址表达的寄存器(存储器)。除入栈、出栈指令使用ACC这个名称外,其它指令中都用A。寄存器(B)是为ALU进行乘、除法而设置的。在执行乘法运算指令时,用于存放其中一个乘数和乘积的高8位数;执行除法运算指令时,B中存放除数和余数;若不作乘、除运算时,则寄存器可作为通用寄存器使用。(3)PSW(ProgramStateWord):程序状态字,8位。其中存放着当前ALU的一些操作状态特征,详见表3.1,其字节地址是D0H。表3.1 程序状态字的内部定义CY:进位标志位。加法运算过程中,存放结

    16、果的字节单元的最高位产生进位时,CY1,否则Cy0;减法运算过程,被减数最高位产生借位,CY1;否则CY0。CY位还有一个特殊意义:它是CPU的布尔处理器的“累加器”,CPU作逻辑运算时,需要CY作为数据的暂存、传送等。AC:半字节进位位。当AC1时,表明加、减运算中低4位向高4位产生了进位或有借位。AC0,表示没有进位或借位。F0:用户标志位。由用户使用的一个标志位,可以用于存放1位数据。用户在编写时,可以通过程序向该位写入1位数据,设定为某种情况发生的标志。然后根据程序执行情况,改变标志位的数值,从而改变程序的流向。RS1和RS0:寄存器选择位(RegistersSelection)。用于

    17、选择工作寄存器组。OV:溢出标志。对符号数的运算,当结果超出128127时,产生溢出。此时,OV1。F1:用户标志位。用户可以用于存1位数据(有些品种不支持)。P:奇偶标志位,反映ACC中数据的奇偶性。若ACC中有奇数个1,则P1。3.2.2 控制器及振荡器控制器是控制单片机工作的神经中枢,它包括程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、数据指针(DPTR)、堆栈指针(SP)、RAM地址寄存器、时钟发生器、定时和控制电路以及信息传送控制等部件。它先以单片机的晶体振荡频率为基准发出CPU的时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的微操作,用来协调单片机内部

    18、各功能部件之间的数据传送、数据运算等操作,并对外发出地址锁存ALE、外部程序存储器选通PSEN,以及通过P3.6和P3.7发出数据存储器读RD、写WR等控制信号,并且接收处理外接的复位RST信号和外部程序存储器访问控制EA信号。(1)振荡电路。单片机的定时控制功能是由片内的时钟电路和定时电路来完成的,而片内的时钟产生有两种方式:一种是内部时钟方式;另一种是外部时钟方式,分别如图3.3(a)、(b)所示。图3.3 HMOS型MCS51单片机时钟产生电路图 采用内部时钟方式时,如图3.3(a)所示。片内的高增益反相放大器通过XTALl、XTAL2外接作为反馈元件的片外晶体振荡器(呈感性)与电容组成

    19、的并联谐振回路构成一个自激振荡器,向内部时钟电路提供振荡时钟。振荡器的频率主要取决于晶体的振荡频率,一般晶体可在1.212MHz之间任选,电容C1、C2可在530pF之间选择,电容的大小对振荡频率有微小的影响,可起频率微调作用。采用外部时钟方式时,如图3.3(b)所示。外部振荡信号通过XTAL1端直接接至内部时钟电路,这时内部反相放大器的输入端XTAL2端应接地。通常外接振荡信号为低于12MHz的方波信号。(2)PC:程序计数器,16位。PC中存放着CPU要执行的下一条指令的地址,CPU通过它产生ROM地址从而读取指令。每执行一条指令,它都会自动增加。增加的数值依照已读指令的长短而变化。只有中

    20、断、跳转和调用指令才能使其作其它变化。每当开机或者复位时,它的起始值为0000H。(3)DPTR:16位数据指针。它主要用于存放外部RAM的数据地址或ROM数据表的基地址。因DPTR是16位的,内存中分为两个8位寄存器存放数据,分别称DPL和DPH,DPH存放地址的高8位,DPL存放地址的低8位。(4)SP:堆栈指针,8位。用于指出当前堆栈的顶部地址。当有入栈操作时,SP自动加1;出栈时,SP自动减1。3.2.3 位(布尔)处理器MCS51的CPU内有一个1位处理器子系统,它相当于一个完整的位单片机,每次处理的数据只有1位。布尔处理(即位处理)是MCS51单片机ALU所具有的一种功能。它有自己

    21、的累加器(CY),数据存储器(可位寻址空间),可对直接寻址的位(bit)变量进行位处理,如置位、清零、取反、测试转移以及逻辑“与”、“或”等位操作,用于逻辑电路的仿真、开关量的控制及设置状态标志位等操作。3.3.1 存储器的分类及存储空间配置MCS51单片机的程序存储器和数据存储器的寻址空间是分开的,属于哈佛存储结构,从物理结构上又有片内和片外之分,因此MCS51单片机的存储器共有4个物理上独立的空间:片内、片外数据存储器与片内、片外程序存储器。3.3 存存 储储 器器程序存储器片内和片外是统一编址的,因此从寻址空间分布,存储器可分为:程序存储器、内部数据存储器和外部数据存储器3大部分;从功能

    22、上,存储器可分为:程序存储器ROM、内部数据存储器RAM、特殊功能寄存器SFR、位地址空间和外部数据存储器RAM五大部分。MCS51系列单片机存储器的配置除表3.2所示的片内ROM(或EPROM)和RAM外,另外还有128个字节的RAM区作为特殊功能寄存器(SFR)区。片内、片外程序存储器和数据存储器各自总容量达64KB。MCS51系列单片机存储器系统的空间结构如图3.4所示。表3.2 MCS51系列单片机配置图3.4 MCS51单片机存储器的空间结构图3.3.2 内部数据存储器数据存储器用于存放运算的中间结果、数据暂存及数据缓冲等。数据存储器分为内部数据存储器和片外数据存储器两部分。内部数据

    23、存储器集成在单片机内部,共有128 B和21个特殊功能寄存器(51子系列),而外部数据存储器则可扩展为64 KB。1.内部数据存储器的编址MCS51系列单片机的内部数据存储器由读、写存储器RAM组成,用于存储数据。它由RAM块和特殊功能寄存器(SFR)块组成,其结构如图3.4(b)所示。对于MCS51子系列,RAM块有128个字节,其编址为00H7FH;SFR块占用128个字节,其编址为80HFFH;对于MCS52子系列,RAM块有256个字节,其编址为00HFFH;SFR块占128个字节,其编址为80HFFH。后者比前者多128个字节,其编址是重叠的,但由于访问内部数据存储器各部分所用的指令

    24、不同,不会引起混淆。内部数据存储器RAM是最灵活的地址空间,主要用于存放程序执行过程中产生的中间结果、最后结果或作为数据交换区、缓冲区等。系统断电后,数据就会丢失。2.内部数据存储器RAM块由图3.4(b)可见,内部数据存储器RAM分为工作寄存器区、可位寻址区和自由单元区(数据缓冲区)3个部分。1)工作寄存器区内部RAM块的00H1FH区,共分4个组,每组有8个工作寄存器R0R7,共32个内部RAM单元。寄存器和RAM地址的对应关系如表3.3所示。表3.3 工作寄存器和RAM地址对照表 工作寄存器共4组,程序运行时每次只用1组,其它各组不工作。哪一组寄存器工作是由程序状态字PSW中的PWS.3

    25、(RS0)和PSW.4(RSl)两位来选择,其对应关系如表3.4所示。CPU通过软件修改PSW中RS0和RSl两位的状态,就可任选一组工作寄存器工作。因为可以方便地选择工作寄存器组,使得MCS51单片机具有快速现场保护功能,且提高了程序的效率和响应中断的速度。若程序中并不需要4个工作寄存器组,那么剩下的工作寄存器组所对应的单元也可以作为一般的数据缓冲区使用。表3.4 工作寄存器组的选择表 2)位寻址区20H2FH单元为位寻址区,它们既可以以字节被寻址,也可以对字节中的任意位进行寻址。这16个单元(共计128位)的每1位都有一个8位表示的位地址,位地址范围为00H7FH,如表3.5所示。位寻址区

    26、的用途,一是作为MCS51单片机位处理器子系统的RAM区,二是在编程时作为某状态标志位使用。这一点,其他系列单片机大部分没有,这也是MCS51单片机优秀的一点,给编程提供了很大的方便。表3.5 内部RAM中位地址表 3)数据缓冲区30H7FH是数据缓冲区,即用户RAM区,共80个单元。MCS52子系列的片内RAM有256个单元,前两个的单元数与地址都和MCS51子系列的一致。用户RAM区的位地址为30HFFH,共208个单元。3.特殊功能寄存器SFR块特殊功能寄存器SFR,又称为专用寄存器。它专用于控制、管理单片机内算术逻辑部件、并行I/O口锁存器、串行口数据缓冲器、定时计数器、中断系统等功能

    27、模块的工作,SFR的地址空间为80HFFH。MCS51单片机中,除程序计数器PC外,其子系列有18个专用寄存器,其中3个为双字节寄存器,共占21个字节;按地址排列的各特殊功能寄存器的名称、符号、地址等如表3.6所示,其中,有12个专用寄存器支持位寻址。表3.6 特殊功能寄存器的名称、符号、地址一览表 续表从表3.6可以看出:特殊功能寄存器反映了单片机的状态,实际上是单片机的状态及控制字寄存器。它大体上可分为两大类:一类为芯片内部功能的控制用寄存器;一类为与芯片引脚有关的寄存器。与内部功能控制有关的寄存器有运算部件寄存器A、B、PSW,堆栈指针SP,数据指针DPTR,各种定时计数器控制,中断控制

    28、,串行口控制等。与芯片引脚有关的寄存器有P0、P1、P2、P3,它们实际上是4个锁存器,每个锁存器再附加上相应的一个输出驱动器和一个输入缓冲器就构成了一个并行口。特别一提的是,SFR块的地址空间为80HFFH,但仅有21个(MCS51系列)或26个(MCS52子系列)字节作为特殊功能寄存器离散分布在这128个字节范围内,其余字节无定义,用户不能对这些单元进行读写操作。1)累加器ACC累计器ACC的助记符是A。当对累加器的位进行操作时,常用符号是ACC。如,累计器的D0位,表示为“ACC.0”。它是一个应用最广泛的专用寄存器。大部分单操作数指令的操作数取自累加器,很多双操作数指令的一个操作数也取

    29、自累加器。加、减、乘、除算术运算指令的结果都存放在累加器(A)或寄存器(B)中。2)寄存器B寄存器B可以作为一般寄存器使用。但在乘、除指令中,寄存器B有专门的用途。乘法指令中,两个操作数一个是累加器A,另一个必须是寄存器B,其结果存放在累加器A和寄存器B中。除法指令中,被除数是累加器A,除数是寄存器B,商存放在累加器A中,余数存放在寄存器B中。3)堆栈及堆栈指针SP堆栈是一种数据结构,即只允许在其一端进行数据的插入和删除操作的线性表。数据写入堆栈,称入栈。数据从堆栈中读出,称出栈。其最大的特点是“先进后出”。堆栈的功用。堆栈是为程序调用和中断操作而设立的,主要是保护断点和保护现场。单片机中,C

    30、PU无论是执行子程序调用操作还是执行中断操作(详见第3章中断部分),最终都要返回主程序,因此在CPU去执行子程序或中断服务程序之前,必须考虑返回问题。因此,需预先把主程序的被中断的地方(称为断点)保护起来,为正确返回做准备。CPU在执行子程序或中断服务程序后,有可能要使用单片机的某些寄存单元,这样就会破坏这些单元中原有的数据,因此使用堆栈来把单元的原有数据保存起来,等到返回主程序后恢复这些寄存单元的值,实现保护现场的功能。为了使CPU能进行多级中断嵌套及多重子程序调用,一般要求堆栈必须有足够容量。堆栈指针SP。堆栈有栈顶和栈底之分。栈底地址一经设定就固定不变,它决定了堆栈在RAM中的物理位置。

    31、无论数据是入栈还是出栈操作,都是对栈顶单元进行写和读操作。为了指示栈顶地址,需要设置堆栈指针SP,即SP的内容就是栈顶的存储单元地址。当堆栈无数据时,栈顶地址与栈底地址重合。51单片机的堆栈指针SP为8位寄存器,系统复位后,SP初值为07H,实际应用中通常根据需要在主程序开始处对堆栈指针SP进行初始化,一般在片内RAM的30H7FH区域中开辟堆栈区,一般将SP设置为60H。堆栈的类型。堆栈有向上生长型和向下生长型。向上生长型堆栈,如图3.5(a)所示。栈底在低地址单元,随着数据的入栈,地址增加,指针SP上移,反之,数据出栈,地址减少,指针SP下移。向下生长型刚好相反,如图3.5(b)所示,数据

    32、入栈时,指针SP递减;出栈时,指针SP递增。图3.5 堆栈类型 MCS51单片机的堆栈结构属于向上生长型,其操作规则是:入栈时,先SP加1,然后数据写入栈;出栈时,先读出数据,再SP减1。堆栈的使用方式。堆栈使用有两种方式:一是自动方式,即在调用子程序或断点时,断点地址自动进入栈,程序返回时,断点地址再自动弹回PC,不需要用户干涉。二是指令方式,即使用专用的堆栈操作指令进行入、出栈操作。例如,保护现场就是一系列指令方式的入栈操作,而恢复现场是一系列指令方式的出栈操作。需要保护的数据单元量由用户自行设定。4)数据指针DPTR数据指针DPTR是一个16位专用寄存器。其高位字节寄存器用DPH表示,低

    33、位字节寄存器用DPL表示。它既可以是一个16位专用寄存器(DPTR),有16位数加“1”功能,也可以将其拆开,作为两个8位寄存器(DPH和DPL)使用。DPTR是继程序计数器(PC)以外的第二个16位寄存器,它的主要用途是保存16位地址信息,常用于基址加变址间接寄存器寻址方式使用,寻址片外64KB的数据存储器或程序存储器空间。5)P0P3端口寄存器专用寄存器P0、P1、P2和P3分别是I/O端口P0P3的8位锁存器,均为可位寻址寄存器。详见3.4节。6)定时/计数器51子系列单片机有两个16位定时/计数器T0和T1,52子系列比51子系列多一个16位定时/计数器T2。它们都是由两个独立的8位寄

    34、存器TH和TL组成的16位寄存器。7)串行数据缓冲器SBUF串行数据缓冲器(SBUF)用于串行通信,存放发送和接收数据。它在逻辑上是一个寄存器,而在物理上是两个寄存器,一个是发送缓冲寄存器,另一个是接收缓冲寄存器。两个物理寄存器使用同一个逻辑地址,当写入时,SBUF指向发送数据缓冲器;当读入时,SBUF取自接收缓冲寄存器。SFR中,其它IP、TCON、TMOD等控制寄存器将在后面有关章节中介绍。8)程序计数器PC程序计数器PC不属于特殊功能寄存器,编程时不能对它进行访问。它是一个16位程序地址寄存器,专门用于存放下一条要执行指令的地址,可寻址0000HFFFFH范围64KB的程序存储空间。当一

    35、条指令被取出后,程序计数器PC的内容会自动增量,指向下一条要执行指令的地址。4.位寻址空间在MCS51单片机的内部数据寄存器RAM块和特殊功能寄存器SFR块中,有一部分地址空间可以按位寻址,按位寻址的地址空间又称为位寻址空间。位寻址空间一部分在内部RAM的20H2FH的16个字节内,共128位;另一部分在SFR的80HFFH空间内,凡字节地址能被8整除的专用寄存器都有位地址,共93位。因此,MCS51系列单片机共有221个可寻址位,其位地址见表3.5和表3.6所示。这些位寻址单元与布尔指令集就构成了MCS51系列单片机独有的布尔处理机系统。3.3.3 外部数据存储器外部数据存储器一般由静态RA

    36、M芯片组成。扩展存储器容量的大小,由用户根据需要决定。但MCS51单片机访问外部数据存储器可用1个特殊功能寄存器数据指针寄存器DPTR(16位)进行寻址,其可寻址的范围达64KB,所以扩展外部数据存储器的最大容量是64KB。访问片外数据存储器有专用指令MOVX,而访问内部数据存储器用MOV指令。同时,控制信号又有PSEN和RD,用它们来区分片外程序存储器和数据存储器的选通,所以其编址可与程序存储器全部64K地址完全重叠,也可与片内数据存储器128个字节地址重叠(8位二进制数编址),其编址的范围为0000HFFFFH。注意:若用户应用系统有扩展的I/O接口时,数据区与扩展的I/O口是统一编址,所

    37、有的外围接口地址均要占用外部RAM的地址单元。因此,要合理地分配地址空间,保证译码的唯一性。3.3.4 程序存储器1.程序存储器的编址CPU执行程序是从程序存储器中按顺序逐条读取指令代码并执行的。程序存储器就是用来存放这些已编好的程序和表格常数,它由只读存储器ROM或EPROM组成。为有序地工作,单片机中设置了一个专用寄存器程序计数器PC,用以存放将要执行的指令地址。每取出指令的1个字节后,其内容自行加1,指向下一字节地址,依次使CPU从程序存储器取指令执行,完成某种程序操作。由于MCS51单片机的程序计数器为16位,因此可寻址的地址空间为64KB。与此相对应的程序存储器编址从0000HFFF

    38、FH,其结构如图3.4(a)所示。8051和8751单片机内部有4KBROM或EPROM程序存储器,其片内编址为0000H0FFFH,其片外扩展编址为1000HFFFFH;8052和8752内部有8KBROM或EPROM程序存储器,其片内编址为0000H1FFFH,其片外扩展编址为2000HFFFFH;8031和8032没有片内程序存储器,只能用片外扩展程序存储器,从0000HFFFFH编址。由此可见,程序存储器的编址规律为:先片内、后片外,片内、片外编址连续,两者一般不重叠。单片机要执行程序,无论是从片内程序存储器取指令,还是从片外程序存储器取指令,首先由单片机EA引脚电平的高低来决定,EA

    39、1为高电平时,先执行片内程序存储器的程序。当PC中的内容超过0FFFH(对MCS51子系列低4KB)或1FFFH(对MCS52子系列低8KB)时,将自动转去执行片外程序存储器中的程序;EA0为低电平时,CPU从外部程序存储器取指令执行程序。对于片内无程序存储器的8031、8032单片机,EA引脚应始终保持低电平。对于片内有程序存储器的芯片,如果EA引脚接低电平,将强行执行片外程序存储器中的程序,此时多在片外程序存储器中存放调试程序,使单片机工作在调试状态。可见,执行片内或片外程序存储器中的程序,由EA引脚的电平决定,而片内片外程序存储器的地址从0000HFFFFH是连续的,因此片内片外的程序存

    40、储器同属一个逻辑空间。2.程序运行的入口地址实际应用中,程序存储器的容量由用户根据需要进行扩展,而程序地址空间原则上也是由用户安排。程序最初始的入口地址是固定的,用户不能随意更改。程序存储器中有复位和中断源共7个固定的入口地址,见表3.7。表3.7 MCS51单片机复位、中断人口地址 单片机复位后,程序计数器PC的内容为0000FH,故必须从0000H单元开始取指令来执行程序。0000H单元为系统的起始地址,一般在该单元存放一条无条件转移指令,用户设计的程序是从转移后的地址开始存放执行的。除0000H单元外,其它6个特殊单元分别对应6个中断源的中断服务程序的入口地址,用户也应该在这些入口地址上

    41、存放1条无条件转移指令,使程序转入用户设计的相应中断服务程序起始地址。另外,当CPU从片外程序存储器读取指令时,要相应提供片外程序存储器的地址信号和控制信号ALE、PSEN。关于片外扩展程序存储器访问地址的送出及控制信号的作用详见第7章。3.3.5 Flash闪速存储器的编程近年来,随着半导体工艺技术的发展,出现了闪速存储器。因其支持在线编程,所以它是单片机存储器的发展趋势。其主要产品为89S51系列的单片机(S代表存储器带闪存)。在线编程的主要操作是将原始程序、数据写入内部EPROM中。因此,下面简单介绍闪速存储器的编程。1.Flash闪存的并行编程AT89S51内部有4kB的可快速编程的F

    42、lash存储器。采用并行编程时,就可以采用传统的EPROM编程器使用高电压(12V)和协调的控制信号进行编程。编程过程是将代码逐一写入芯片ROM的过程。AT89S51还可通过对芯片上的3个加密位LB1、LB2、LB3进行编程来获得程序保护功能。但是,对LB1编程将禁止从外部程序存储器中执行MOVC指令读取内部程序存储器的代码字节。此外,复位时,EA被采样并锁存,禁止对Flash再编程。对LB1、LB2编程会增加禁止程序校验操作。可对3个加密位都编程,再增加禁止外部执行。如果加密位LB1、LB2没有编程,则可读回已经写入芯片的代码数据进行校验。另外,AT89S51单片机内有3个签名字节,地址为0

    43、00H、100H和200H,用于声明该器件的厂商和型号等信息,其读签名的过程和校验过程类似,返回值的意义如下:(000H)1EH,声明产品由ATMEL公司制造;(100H)51H,声明产品型号是AT89S51单片机。以上操作在用EPROM编程器时,从功能操作及菜单中可进行选择。同样,利用编程器,可擦除Flash存储器的内容。2.Flash闪存的串行编程ISP(InSystemProgra mming),即在线系统可编程,指电路板上的空白器件可以直接在电路板上编程写入最终用户代码,而不需要从电路板上取下器件。已经编程的器件也可以用ISP方式擦除或再编程。Lattice是ISP(在线系统可编程)技

    44、术的发明者,是通过同步串行方式实现对其可编程逻辑器件的重配置。ISP技术极大地促进了PLD产品的发展,单片机也不例外。Atmel公司推出的AT89S系列51单片机也符合ISP特性。ISP技术彻底改变了传统的开发模式,它只要在电路板上留下一个接口(如ISPDown的十芯插座),配合ISPDown的下载电缆,就可在电路板上直接对芯片进行编程。AT89S51中的Flash存储器增加了ISP编程功能。在线系统可编程抛弃了以前单片机并行编程方式(必须在专门的编程器上进行)的缺点,大大提高了开发效率。1)ISP的工作原理ISP虽然没有正式形成标准,但是与JTAG的接口协议很相似,只是后者形成了标准。ISP

    45、现在已经成为一种概念,它的提出改变了传统硬件系统开发的流程,大大方便了开发者,加快了开发速度。下载电缆是一种使用计算机的并行端口通过软件的方式实现JTAG或ISP接口协议,来访问可编程芯片的简单工具。ISP的工作原理比较简单,一般的做法是内部的存储器可以由上位机的软件通过外部接口来进行改写。对于单片机来讲,可以通过SPI或其它的串行接口接收上位机传来的数据,并写入存储器中。所以,即使将芯片焊接在电路板上,只要留出上位机接口,就可实现芯片内部存储器的改写。2)AT89S51的ISP编程AT89S51单片机的ISP接口通过MISO、MOSI、SCK三根信号线,以串行模式为系统提供了对MCU芯片的编

    46、程写入和读出功能。图3.6 AT89S51Flash串行下载电路连接图 下载电路图如图3.6所示,将RST拉高接至VCC,使输入为高电平,程序代码存储阵列可通过串行ISP接口进行编程,串行接口包括SCK(串行时钟)线、MOSI(指令输入)线和MISO(数据输出)线,将RST拉高后,在其它操作前必须发出编程使能指令,编程前需将芯片擦除。芯片擦除时,将存储代码阵列全写为FFH。必须接上系统时钟,使用内部时钟或外部时钟均可。最高的串行时钟(SCK)不超过晶体时钟的1/16。当晶体时钟为33 MHz时(AT89S51的最高工作频率),最大的SCK频率是2 MHz。3.4.1 I/O接口电路概述MCS5

    47、1系列单片机有4个8位并行输入输出接口:P0口、P1口、P2口和P3口,共计32根输入输出线。这4个接口可以并行输入或输出8位数据,也可以按位使用,即每1位均能独立作为输入或输出。3.4 并行输入并行输入/输出接口输出接口每个接口虽然功能有所不同,但它们也有共同点:每个端口的8位I/O口线有相同电路结构;每位I/O接口线都具有1个锁存器、1个输出驱动器和2个(P3口为3个)三态缓冲器。下面分别介绍各接口的结构、原理及功能。3.4.2 P0口P0口是一个三态双向、双功能的8位并行口,其字节地址为80H,可位寻址,位地址为80H87H,I/O口的各位具有完全相同但又相互独立的电路结构。图3.7画出

    48、了P0口的某位P0.i(i07)结构图,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路及控制电路组成。P0.i锁存器起输出锁存作用,8个这样的锁存器就构成了特殊功能寄存器P0。场效应管Q0、Q1组成输出驱动器以增大带负载能力。三态门B作为输入缓冲器,三态门A用于读锁存器接口内容,与门、反相器及多路开关构成输出控制电路,控制输出驱动器的输入信号是来自P0.i锁存器的内容还是地址/数据端的内容,取决于“控制”端是高电平还是低电平。图3.7 P0口某位结构图 1.P0口作为I/O口如图3.7所示,当P0口作为输出口使用时,数据通过内部数据总线加在锁存器D端。当CL端的脉冲出现后(即单片机发出的

    49、给P0口的写控制信号),锁存器D端数据被传递到Q及Q端,Q端数据经三态缓冲器反馈回D端(接在内部数据总线上),Q端接到二选一多路数据开关的一个数据输入端上。多路开关被来自CPU的控制信号控制。若控制信号为0,即多路开关接到下面的触点,则开关输出Q,同时场效应管Q1截止,Q经场效应管Q0反向输出到P0.i的引脚上,经过两次反向后到达引脚上的值已经恢复为原数据值。由于输出为漏极开路式,需要外接上拉电阻,阻值一般取510 k。当P0口作为输入口时,端口中的两个缓冲器用于读操作。输入时,应先向锁存器写1,令Q1、Q0管截止,读引脚打开三态缓冲门B,外部引脚信号经输入缓冲器送到内部数据总线。若不向锁存器

    50、写1,当锁存器输出状态为0时,Q0管导通,引脚电平为0状态,无法读入外部的高电平信号。2.P0口作为数据/地址线当控制信号线为高电平时,与门打开,多路开关接通数据/地址线,此时P0口作为外部扩展存储器的数据/地址线。在此情况下,输出驱动电路和外部引脚与内部的锁存器完全断开,场效应管Q0、Q1构成推拉式的输出电路。在数据/地址线信号作用下,Q0、Q1管交替导通和截止,将数据反映到外部引脚。外部数据输入时,经三态缓冲器B进入到内部总线。此时,P0口不能再作I/O口使用。3.4.3 P1口P1口某位电路的组成如图3.8所示。8个P1.i锁存器构成了特殊功能寄存器P1。与P0口相比,三态缓冲器A、B的

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《微控制器原理及应用技术》课件第3章.ppt
    链接地址:https://www.163wenku.com/p-8083604.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库