单片机单片机的硬件结构课件_第1页
单片机单片机的硬件结构课件_第2页
单片机单片机的硬件结构课件_第3页
单片机单片机的硬件结构课件_第4页
单片机单片机的硬件结构课件_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 AT89C51单片机单片机的硬件结构 2.1 AT89C51单片机的硬件组成 片内硬件结构如图2-1所示: 片内功能部件如下: (1)微处理器(CPU); (2)数据存储器(RAM); (3)程序存储器(4KB Flash ROM); (4)4个8位可编程并行I/O口(P0口、P1口、P2口、P3口); (5)1个全双工串行口; (6)2个16位定时器/计数器; (7)中断系统; (8)特殊功能寄存器(SFR)。,图2-1 AT89C51单片机片内结构,上述各功能部件通过片内单一总线连接而成(见图2-1), 其基本结构依旧是CPU 加上外围芯片的传统微型计算机结构模式。 CPU对各种功能部件的控制是采用特殊功能寄存器(Special Function Register,SFR)的集中控制方式。 对图2-1所示的片内各部件做一简单介绍: 1.CPU(微处理器) 包括了运算器和控制器两大部分,只是增加了面向控制的位处 理功能。,2.数据存储器(RAM) 片内为128个字节(52子系列的为256个字节) 用于存放可读写的数据。如运算的中间结果和最终结果等。 3.程序存储器(ROM/EPROM)存放程序及原始数据和表格。 8031:无此部件; 8051:4K字节ROM; 8751:4K字节EPROM ; 89C51/89C52/89C55:4K/8K/20K 字节闪存。 4. 中断系统(具有2个优先级和5个中断源结构)增强型为6个。 5. 定时器/计数器 6. 串行口 1个全双工的异步串行口,具有四种工作方式。,7. 4个并行8位I/O口 P1口、P2口、P3口、P0口 8. 特殊功能寄存器(SFR) 共有21个,是一个具有特殊功能的RAM区。实际上是片内各个 功能部件的控制寄存器和状态寄存器 。 映射在片内RAM区80HFFH的区间内。 2.2 AT89C51单片机的引脚介绍 40只引脚双列直插封装(DIP)。,2时钟引脚 (1)XTAL1(19脚):接外部晶体,如果采用外接振荡器时,振荡器的输出应接到此引脚上。 (2)XTAL2(18脚):接外部晶体的另一端或采用外接振荡器时悬空。 2.2.2 控制引脚 提供控制信号,有的引脚还具有复用功能。 (1) RST/VPD(9脚):复位与备用电源。 (2) EA*/VPP(Enable Address/Voltage Pulse of ProgRam- ing,31脚) EA*:为内外程序存储器选择控制端。 EA*=1,访问片内程序存储器,但在PC(程序计数器)值超,过0FFFH(对于8051、8751)时,即超出片内程序存储器的4K字节地址范围时,将自动转向执行外部程序存储器内的程序。 EA*=0,单片机则只访问外部程序存储器。 VPP:本引脚的第二功能。用于施加编程电压(例如+21V或+12V)。对AT89C51,加在VPP脚的编程电压为+12V或+5V。 (3) ALE/PROG*(30脚): 第一功能:ALE为地址锁存允许,可驱动8个LS型TTL负载。 第二功能:PROG*为编程脉冲输入端。,此外,单片机在运行时,ALE端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6。 该正脉冲信号可以作时钟源或定时信号使用。注意:每当AT89C51单片机访问外部RAM时(即执行MOVX类指令时),要丢失1个ALE脉冲。因此,严格来说,ALE还不宜作为精确的时钟源或定时信号。 PROG*为该引脚的第二功能,在对片内Flash存储器编程时,此 引脚作为编程脉冲输入端。 (4) PSEN* (29脚):外部程序存储器的读选通信号。在单片机读外部程序存储器时,此引脚输出脉冲的负跳沿作为读外部程序存储器的选通信号。,2.2.3 并行I/O口引脚 (1) P0口:当89C51扩展外部存储器及I/O接口芯片时,P0口作为地址总线(低8位)及数据总线的分时复用端口。为双向I/O口。 也可作为通用的I/O口使用,但需加上拉电阻,这时为准双向口。当作为普通的I/O输入时,应先向端口的输出锁存器写入1。 P0口可驱动8个LS型TTL负载。 (2) P1口:8位准双向I/O口,可驱动4个LS型TTL负载。 (3) P2口:8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。,(4) P3口:8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。 P3口还可提供第二功能,定义如表2-1所列,应熟记。,综上所述,P0口作为地址总线(低8位)及数据总线使用时,为双向口。作为通用的I/O口使用时,为准双向口,这时需加上拉电阻。 P1口、P2口、P3口均为准双向口。 要特别注意准双向口与双向口的差别。 准双向口仅有两个状态。 双向口P0口的口线内无固定上拉电阻,由两个MOS管串接开漏输出,处于高阻的“悬浮”状态,故又为双向三态I/O口。这是由于P0口作为数据总线使用时,必须要有高阻的“悬浮”状态。而准双向I/O口则无需高阻的“悬浮”状态。,总结:准双向口与双向三态口的差别。 (1)当3个准双向I/O口作输入口使用时,要向该口先写“1”。 (2)准双向I/O口无高阻 “浮空”状态。 2.3 AT89C51的CPU 由运算器和控制器所构成 2.3.1 运算器 1算术逻辑运算单元ALU 进行算术、逻辑运算,还具有位操作功能,2累加器A 使用最频繁的寄存器,可写为Acc。 A的作用: (1)是ALU的输入之一,又是运算结果的存放单元。 (2)数据传送大多都通过累加器A。51单片机增加了一部分可以不经过累加器的传送指令,即可加快数据的传送速度,又减少A的“瓶颈堵塞”现象。 A的进位标志Cy同时又是位处理机的位累加器。 3程序状态字寄存器PSW 格式如图2-3。,(1)Cy(PSW.7)进位标志位 (2)Ac(PSW.6) 辅助进位标志位,用于BCD码的十 进制调整运算。 (3)F0(PSW.5)用户使用的状态标志位。 (4)RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择控制位1和位0。如表2-2。,图2-3 PSW的格式,表2-2 RS1、RS0与4组工作寄存器区的对应关系 RS1 RS0 所选的4组寄存器 0 0 0区(内部RAM地址00H07H) 0 1 1区(内部RAM地址08H0FH) 1 0 2区(内部RAM地址10H17H) 1 1 3区(内部RAM地址18H1FH) (5)OV(PSW.2)溢出标志位 指示运算是否溢出。注意各种算术运算指令对该位的影响 (6)PSW.1位: 保留位,未用 (7)P(PSW.0)奇偶标志位(累加器A中“1”的个数是奇数还是偶数) P=1,A中“1”的个数为奇数 P=0,A中“1”的个数为偶数,2.3.2 控制器 程序计数器PC是控制器中最基本的寄存器 ,存放下一条要执行的指令在程序存储器中的地址。 基本工作方式有以下几种: (1)程序计数器自动加1 (PCPC+1) (2)执行有条件转移或无条件转移指令时, PC将被置入新的数值,从而使程序的流向发生变化。 (3)执行子程序调用或中断调用,完成下列操作: PC的现行值保护 将子程序入口地址或中断向量的地址送入PC。,程序计数器的计数宽度决定了程序存储器的地址范围。AT89C51单片机中的PC位数为16位,故可对64KB( = 216B)的程序存储器进行寻址。 2.4 AT89C51单片机存储器的结构 哈佛结构 存储器空间可划分为4类: 1.程序存储器空间 片内程序存储器为4KB 的 Flash 存储器 2.片内数据存储器空间:128B 3.特殊功能寄存器 SFR-Special Function Register 4.位地址空间: 211个可寻址位。,2.4.1 程序存储器空间 存放应用程序和表格之类的固定常数。 分为片内和片外两部分,由EA*引脚上所接的电平确定。 程序存储器中的0000H地址是系统程序的启动地址 5个单元具有特殊用途,为5个中断源的中断入口地址 表2-3 5个中断源的中断入口地址 外中断0 0003H 定时器T0 000BH 外中断1 0013H 定时器T1 001BH 串行口 0023H,2.4.2 内部数据存储器空间 128个,字节地址为00H7FH。,图2-4 AT89C51单片机片内RAM的结构,00H1FH:32个单元,是4组通用工作寄存器区 20H2FH:16个单元,可进行128位的位寻址 30H7FH:用户RAM区,只能字节寻址,用作数据缓冲区以及堆栈区。 2.4.3 特殊功能寄存器(SFR) CPU对片内各种功能部件的控制采用特殊功能寄存器集中控制方式,共21个。有的SFR可进行位寻址。 表2-4是SFR的名称及其分布。 其字节地址的末位是0H或8H可位寻址。 下面介绍SFR块中的某些寄存器。,表2-4 SFR的名称及其分布,1堆栈指针SP 指示堆栈顶部在内部RAM块中的位置 复位后,SP中的内容为07H。 (1)保护断点 (2)现场保护 堆栈向上生长 2. 数据指针DPTR 高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。 3. 寄存器B 为执行乘法和除法操作设置的。在不执行乘、除的情况下,可当作一个普通寄存器来使用。,2.4.4 位地址空间 211个(128个+83个)寻址位。位地址范围为:00HFFH。 内部RAM的可寻址位128个(字节地址20H2FH)见表2-5(P18)。 特殊功能寄存器SFR为83个可寻址位,见表2-6。,表2-5 内部RAM的可寻址位及位地址,表2-6 SFR中的位地址分布,可被位寻址的寄存器有11个,共有位地址88个,其中5个位未用,其余83个位的位地址离散地分布于片内数据存储器区字节地址为80HFFH的范围内。 其最低的位地址等于其字节地址,并且其字节地址的末位都为0H或8H。 图2-5为各类存储器在存储器空间的位置。,图2-5 AT89C51单片机的存储器结构,下节介绍单片机并行I/O端口。单片机口是一个综合概念,是一个集数据输入缓冲、数据输出及锁存等多项功能为一体的I/O电路。先介绍一下三态门。 1.单向三态门 2.双向三态门,C A,B,0 0 0 1 1 0 1 1,高阻,高阻,0 1,C,A,B,1,2,C1,C2,B,A,控制端C1=0 C2=0,三态门 截止,AB之间呈高阻状态,C1=1 C2=0 门1通,门2止 信息从A B。,C1=0 C2=1 门1止,门2通 信息从B A。,2.5 AT89C51单片机的并行I/O端口 4个双向的8位并行I/O端口(Port) ,记作P0P3,属于特殊功能寄存器,还可位寻址。 2.5.1 P0端口,图2-6 P0口某一位的位电路结构,1.位电路结构 P0口某一位的电路包括: (1) 一个数据输出锁存器,用于数据位的锁存 (2) 两个三态的数据输入缓冲器。 (3) 一个多路转接开关MUX,使P0口可作通用I/O口,或地址/数据线口。 (4) 数据输出的驱动和控制电路,由两只场效应管(FET)组成,上面的场效应管构成上拉电路。 2. 工作过程分析 (1)P0口作为地址或数据总线使用 CPU发出控制信号为高电平,打开上面的与门,使MUX打向上,边,使内部地址/数据线与下面的场效应管反相接通。此时由于上下两个FET处于反相,形成推拉式电路结构,大大提高负载能力。上方的场效应管这时起到内部上拉电阻的作用。 当P0口作为地址、数据复用线时,仅从外部存储器(或外部I/O)读入信息,对应的控制信号为0,MUX接Q*端。由于P0口作为地址/复用方式访问存储器时,CPU自动向P0口输出FFH,使下方场效应管截止,上方的场效应管由于控制信号为0也截止,从而保证数据信息的高阻抗输入,从外存输入的数据信息直接由P0.x引脚通过输入缓冲器BUF2进入内部总线。真正的双向口,它应具有高电平、低电平和高阻抗3种状态的端口。因此,P0口作为地址/数据总线使用时时一个真正的双向端口,简称双向口。,(2) P0口作通用的I/O口使用 CPU发来的“控制”信号为低电平,上拉场效应管截止,MUX打向下边,与D锁存器的Q*端接通。 a. P0作输出口使用 来自CPU的“写入”脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出。 注意:由于输出电路是漏极开路(因为这时上拉场效应管截止),必须外接上拉电阻才能有高电平输出(这时就不为双向口)。,b. P0作输入口使用 区分“读引脚”和“读锁存器”。 “读引脚”信号把下方缓冲器打开,引脚上的状态经缓冲器读入内部总线; “读锁存器”信号打开上面的缓冲器把锁存器Q端的状态读入内部总线。 3P0口的特点 P0口具有如下特点:P0口为双功能口地址/数据复用口和通用I/O口。,(1)当P0口用作地址/数据复用口时,为一个真正的双向口,用作外扩存储器,输出低8位地址和输出/输入8位数据。 (2)当P0口用作通用I/O口时,由于需要在片外接上拉电阻,端口不存在高阻抗(悬浮)状态,因此为一个准双向口。为保证引脚信号的正确读入,应首先向锁存器写1。当P0口由原来的输出状态转变为输入状态时,应首先置锁存器为1,方可执行输入操作。 一般情况下,如果P0口已作为地址/数据复用口,就不能再作为通用I/O口使用。 2.5.2 P1端口 P1口是单功能的I/O口,字节地址90H,位地址90H97H。 P1口某一位的位电路结构如图2-7所示。,图2-7 P1口某一位电路结构,1位电路结构 P1口位电路结构由三部分组成: (1)一个数据输出锁存器,用于输出数据位的锁存。 (2)两个三态的数据输入缓冲器BUF1和BUF2,分别用于锁存器数据和引脚数据的输入缓冲。 (3)数据输出驱动电路,由一个场效应管(FET)和一个片内上拉电阻组成。 2工作过程分析 P1口只能作为通用的I/O口使用。 (1)P1口作为输出口时,若CPU输出1,Q=1,Q*=0,场效应管截止,P1口引脚的输出为1;若CPU输出0,Q=0,Q*=1,,场效应管导通,P1口引脚的输出为0。 (2)P1口作为输入口时,分为“读锁存器”和“读引脚”两种方式。“读锁存器”时,锁存器的输出端Q的状态经输入缓冲器BUF1进入内部总线; “读引脚”时,先向锁存器写1,使场效应管截止,P1.x引脚上的电平经输入缓冲器BUF2进入内部总线。 3P1口的特点 P1口由于有内部上拉电阻,没有高阻抗输入状态,称为准双向口。作为输出口时,不需要在片外接上拉电阻。 P1口“读引脚”输入时,必须先向锁存器写1。,2.5.3 P2口 P2口是一个双功能口,字节地址为A0H,位地址A0HA7H。 某一位的位电路结构如图2-8所示。,图2-8 P2口某一位的位电路结构,1位电路结构 P2口某一位的电路包括: (1)一个数据输出锁存器,用于输出数据位的锁存。 (2)两个三态数据输入缓冲器BUF1和BUF2,分别用于锁存器数据和引脚数据的输入缓冲。 (3)一个多路转接开关MUX,它的一个输入是锁存器的Q端,另一个输入是内部地址的高8位。 (4)输出驱动电路,由场效应管(FET)和内部上拉电阻组成。,2工作过程分析 (1)P2口用作地址总线 在内部控制信号作用下,MUX与 “地址”接通。当“地址”线为0时,场效应管导通,P2口引脚输出0;当“地址”线为1时,场效应管截止,P2口引脚输出1。 (2)P2口用作通用I/O口 在内部控制信号作用下,MUX与 锁存器的Q端接通。 CPU输出1时,Q=1,场效应管截止,P2.x引脚输出1;CPU输出0时,Q=0,场效应管导通,P2.x引脚输出0。,输入时,分为“读锁存器”和“读引脚”两种方式。 “读锁存器”时,Q端信号经上方的输入缓冲器进入内部总线。 “读引脚”时,先向锁存器写1,使场效应管截止,P2.x引脚上的电平经下方的输入缓冲器进入内部总线。 3P2口的特点 作为地址输出线使用时,P2口可以输出外存储器的高8位地址,与P0口输出的低8位地址一起构成16位地址线。 作为通用I/O口使用时,P2口为一个准双向口。功能与P1口一样。,2.5.4 P3口 由于AT89C51的引脚有限,因此在P3口电路中增加了引脚的第二功能。P3的每一位都可以分别定义为第二功能。 P3口的第二功能定义,应熟记。 P3口的字节地址为B0H,位地址为B0HB7H。P3口某一位的位 电路结构如图2-9所示。,图2-9 P3口某一位的位电路结构,1位电路结构 P3口某一位的电路包括: (1)一个数据输出锁存器,用于输出数据位的锁存。 (2)3个三态数据输入缓冲器BUF1、BUF2和BUF3,分别用于读锁存器、读引脚数据和第二功能数据的输入缓冲。 (3)输出驱动电路,由“与非门”、场效应管(FET)和内部上拉电阻组成。 2工作过程分析 (1)P3口用作第二输入/输出功能 当选择第二输出功能时,该位的锁存器需要置“1”,使“与非门”为开启状态。当第二输出为1时,场效应管截止,P3.x引脚输出为1;当第二输出为0时,场效应管导通, P3.x引脚输出,为0。 当选择第二输入功能时,该位的锁存器和第二输出功能端均应置1,保证场效应管截止,P3.x引脚的信息由输入缓冲器BUF3的输出获得。 (2)P3口用作第一功能通用I/O口 当P3口用作第一功能通用输出时,第二输出功能端应保持高电平,“与非门”为开启状态。 CPU输出1时,Q=1,场效应管截止,P3.x引脚输出为1; CPU输出0时,Q=0,场效应管导通,P3.x引脚输出为0。,当P3口用作第一功能通用输入时,P3.x位的输出锁存器和第二输出功能均应置1,场效应管截止,P3.x引脚信息通过输入BUF3和BUF2进入内部总线,完成“读引脚”操作。 当P3口实现第一功能通用输入时,也可以执行“读锁存器”操作,此时Q端信息经过缓冲器BUF1进入内部总线。 3P3口的特点 P3口内部有上拉电阻,不存在高阻抗输入状态,为准双向口。 P3口作为第二功能的输出/输入,或第一功能通用输入,均须 将相应位的锁存器置1。实际应用中,由于复位后P3口锁存器 自动置1,满足第二功能条件,所以不需要任何设置工作,就 可以进入第二功能操作。,当某位不作为第二功能使用时,可作为第一功能通用I/O使用。 引脚输入部分有两个缓冲器,第二功能的输入信号取自缓冲器 BUF3的输出端,第一功能的输入信号取自缓冲器BUF2的输出端。 P3口的第二功能定义(表2-1),读者应熟记。,P0口的结构及特点,P0口的某位P0.n(n=07)结构图,它由一个 输出锁存器、两个三态输入缓冲器和输出驱动电路 及控制电路组成。从图中可以看出,P0口既可以作 为I/O用,也可以作为地址/数据线用。,1、P0口作为普通I/O口,输出时 CPU发出控制电平“0”封锁“与”门,将输出上拉场效 应管T1截止,同时使多路开关MUX把锁存器与输出,驱动场效应管T2栅极接通。故内部总线与P0口同相。由于输出驱动级是漏极开路电路,若驱动NMOS或其 它拉流负载时,需要外接上拉电阻。P0的输出级可驱动8个LSTTL负载。, 输入时-分读引脚或读锁存器 读引脚:由传送指令(MOV)实现;MOV A,P0; MOV P0,A 下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。,输入 输出, 输入时-分读引脚或读锁存器 读锁存器:有些指令 如:ANL P0,A称为“读-改-写” 指令,需要读锁存器。 上面一个缓冲器用于读端口锁存器数据。,*原因:如果此时该端口的负载恰是一个晶体管基极,且原端口输出值为1,那么导通了的PN结会把端口引脚高电平拉低;若此时直接读端口引脚信号,将会把原输出的“1”电平误读为“0”电平。现采用读输出锁存器代替读引脚,图中,上面的三态缓冲器就为读锁存器Q端信号而设,读输出锁存器可避免上述可能发生的错误。*,准双向口: 从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。,2、P0作为地址/数据总线,在系统扩展时,P0端口作为地址/数据总线使用时,分为: P0引脚输出地址/数据信息。,CPU发出控制电平“1”,打开“与”门,又使多路开关MUX把CPU的地址/数据总线与T2栅极反相接通,输出地址或数据。由图上可以看出,上下两个FET处于反相,构成了推拉式的输出电路,其负载能力大大增强。,2、P0作为地址/数据总线,P0引脚输出地址/输入数据 输入信号是从引脚通过输入缓冲器进入内部总线。 此时,CPU自动使MUX向下,并向P0口写“1”,“读引脚”控制信号有效,下面的缓冲器打开,外部数据读入内部总线。,2、P0作为地址/数据总线,-真正的双向口,P1口的结构及特点,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成-准双向口。,(1)输出方式 MOV P1,#data ;P1工作于输出方式,数据data经内部 总线送入锁存器锁存。 (2)输入方式 MOV A,P1 ; P1口工作于输入方式。 MOV P1,#0FFH; 写“1”操作 (3)端口操作 ANL P1,#data ; (P1) (P1)data ORL P1,#data ; (P1) (P1)data XRL P1,A ; (P1) (P1)data INC P1 ; (P1) (P1)+1 这些指令过程分成”读-修改-写”三步。,(4)负载能力 P1口输出时能驱动4个TTL负载。通常定义100ua输入电流为一个TTL负载的输入电流,所以P1口输出电流不小于100ua。 P1口有上拉电阻,输入时集电极开路或漏极开路,无需外接上拉电阻。,P2口的结构及特点,1.P2口作为普通I/O口,CPU发出控制电平“0” ,使多路开关MUX倒向锁存器 输出Q端,构成一个准双向口。其功能与P1相同。,2.P2口作为地址总线 在系统扩展片外程序存储器扩展数据存储器且容量超过256B (用MOVX DPTR指令)时,CPU发出控制电平“1”,使多路开关MUX倒内部地址线。此时,P2输出高8位地址。,P3的内部结构,D Q CLK Q,P3.n,读锁存器,内部总线,写锁存器,读引脚,VCC,R,T,P3口引脚,第二输入功能,第二输出功能,二、P3第二功能(Q=1) 此时引脚部分输入(Q=1、W=1) ,部分输出(Q=1、W输出) 。,W,2.6 时钟电路与时序 时钟电路用于产生89C51单片机工作所必需的时钟控制信号。 2.6.1 时钟电路 时钟频率直接影响单片机的速度,电路的质量直接影响系统的稳定性。常用的时钟电路有两种方式:内部时钟方式和外部时钟方式。 1.内部时钟方式 片内一个用于构成振荡器的高增益反相放大器,反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。见图2-10。,图2-10 AT89C51单片机内部时钟方式的电路,C1和C2典型值通常选择为30pF左右。 晶体的振荡频率在1.2MHz12MHz之间。某些高速单片机芯片的时钟频率已达40MHz(如89S52) 。 2. 外部时钟方式 常用于多片89C51单片机同时工作。 外部时钟源直接接到XTAL1端,XTAL2端悬空,其电路见图2-11。,图2-11 AT89C51单片机的外部时钟方式电路,3. 时钟信号的输出 为应用系统中的其它芯片提供时钟,但需增加驱动能力。,图2-12 时钟信号的两种引出方式,2.6.2 机器周期、指令周期与指令时序 单片机执行的指令的各种时序均与时钟周期有关。 1.时钟周期 单片机的基本时间单位。若时钟的晶体的振荡频率为fosc,则时钟周期Tosc=1/fosc。; 例如:fosc=6MHz,Tosc=166.7ns。 2.机器周期 CPU完成一个基本操作所需的时间称为机器周期。 执行一条指令分为几个机器周期。每个机器周期完成一个基本操作。AT89C51单片机每12个时钟周期为1个机器周期,,一个机器周期又分为6个状态:S1S6。每个状态又分为两拍:P1和P2。 因此,一个机器周期中的12个时钟周期表示为: S1P1、S1P2、S2P1、S2P2、S6P2。,图2-13 AT89C51单片机的机器周期,3. 指令周期 执行一条指令所需的时间。 89C51单片机中按字节可分为单字节、双字节、三字节指令。因此执行一条指令的时间也不同。对于简单的单字节指令,取出指令立即执行,只需一个机器周期的时间。而有些复杂的指令,如转移、乘、除指令则需两个或多个机器周期。 从指令的执行时间看,单字节和双字节指令一般为单机器周期和和双机器周期,三字节指令都是双机器周期,只有乘、除指令占用4个机器周期。,单片机的CPU时序,MCS-51包括4个定时单位,它们分别是:振荡周期(节拍)、时钟周期(状态周期)、机器周期和指令周期。单片机两种常用晶振的4个周期信号的对比见表2-7所示。,1.振荡周期 振荡周期也叫节拍,用P表示,振荡周期是指为单片机提供定时信号的振荡源的周期。是时序中最小的时间单位。例如:若某单片机时钟频率为2MHz,则它的振荡周期应为0.5s。 2.时钟周期 时钟周期又叫做状态周期,用S表示。是振荡周期的二倍,其前半周期对应的节拍叫P1拍,后半周期对应的节拍叫P2。P1节拍通常完成算术、逻辑运算,P2节拍通常完成传送指令。,3.机器周期 机器周期是实现特定功能所需的时间周期,通常有若干时钟周期构成。MCS-51的一个机器周期是固定不变的,宽度均由6个状态周期(12个振荡周期)组成,并依次表示为S1S6,分别记作S1P1、S1P2S6P1、S6P2。 4.指令周期 指令周期是最大的时序定时单位,指令周期是指执行一条指令需要的时间。通常MCS-51的指令周期可以包含有14个机器周期。MCS-51的几种典型的指令时序如图2-15所示,每个机器周期内地址锁存信号(ALE)产生两次有效信号,分别出现在S1P2、S2P1期间与S4P2、S5P1期间。,2.7 复位操作和复位电路 2.7.1 复位操作 单片机的初始化操作,摆脱死锁状态。 引脚RST加上大于2个机器周期的高电平就可使MCS-51复位。复位时,PC初始化为0000H,使MCS-51单片机从0000H单元开始执行程序。 除PC之外,复位操作还对其它一些寄存器有影响:SP=07H ,P0-P3的引脚均为1(高电平)。见表2-7。,为了实现单片机的复位,在时钟电路工作后,必须在单片机的RESET端(9)至少维持2个机器周期以上的高电平,单片机进入复位状态(即程序从0000H地址开始执行)。 时钟频率为12MHZ,机器周期为1s,则在单片机的RESET端只需持续2s以上时间的高电平就能进入复位状态。,在复位有效期间,ALE脚和PSEN*脚均为高电平,内部RAM的状态不受复位的影响。 2.7.2 复位电路 片内复位结构:,图2-14 AT89C51单片机的片内复位电路结构,复位电路通常采用上电自动复位和按钮复位两种方式。 最简单的上电自动复位电路:,图2-15 上电复位电路,按键手动复位,有电平方式和脉冲方式两种。 电平方式:,图2-16 按键电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论