《微控制器原理及应用技术》课件第3章.ppt
- 【下载声明】
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所示。位寻址区
展开阅读全文