第一章 单片机的结构和原理.ppt
第一章第一章 单片机的结构单片机的结构和原理和原理内容提要:内容提要:第一章第一章 单片机的结构和原理单片机的结构和原理1-1 1-1 单片机概述单片机概述1-2 MCS-511-2 MCS-51单片机内部结构及引脚单片机内部结构及引脚1-3 MCS-511-3 MCS-51单片机并行单片机并行I/OI/O端口端口1-4 MCS-511-4 MCS-51单片机内存配置单片机内存配置1-5 MCS-511-5 MCS-51单片机的时钟电路与复位电路单片机的时钟电路与复位电路1.1 1.1 单片机概述片机概述1、微型计算机及微型计算机系统微型计算机(Microcomputer)简称微机,是计算机的一个重要分类。人们通常按照计算机的体积、性能和应用范围等条件,将计算机分为巨型机、大型机、中型机、小型机和微型机等。微型计算机不但具有其它计算机快速、精确、程序控制等特点,最突出的是它还具有体积小、重量轻、功耗低、价格便宜等优点。个人计算机简称PC(Personal Computer)机,是微型计算机中应用最为广泛的一种,也是近年来计算机领域中发展最快的一个分支。由于PC机在性能和价格方面适合个人用户购买和使用,目前,它已经像普通家电一样深入到了家庭和社会生活的各个方面。这种计算机系统通常由多块印刷电路板制成:多板机 主板显卡声卡存储器接口网卡输入输出接口内存条2 2、单片机微型计算机单片机就是单片微型计算机(Single-Chip Microcomputer)。单片微型计算机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU(Central Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器ROM(Read-only Memory)、基本输入/输出(Input/Output)接口电路、定 时器/计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机,从而实现微型计算机的基本功能。CPU存储器控制电路定时器时钟电路I/O口单片机单片机片机应用系用系统单片机实质上是一个芯片。在实际应用中,通常很难将单片机直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。单片机应用系统的组成由此可见,单片机应用系统的设计人员必须从硬件和软件两个角度来深入了解单片机,并能够将二者有机结合起来,才能形成具有特定功能的应用系统或整机产品。单片机系统硬件部分软件部分单片机芯片外围器件CPU内存中断控制逻辑通用接口运算器寄存器组控制器并行I/O口串行UART定时/计数器ADC0809、DAC0832825382518255A、81552764、6264指令系统应用程序单片机的片机的发展展历史史自从1974年美国Fairchild公司研制出第一台单片机F8之后,迄今为止,单片机经历了由4位机到8位机再到16位机的发展过程。单片机制造商很多,主要有美国的Intel、Motorola、Zilog等公司。目前,单片机正朝着高性能、多品种方向发展。近年来,32位单片机已进入了实用阶段,但是由于8位单片机在性能价格比上占有优势,而且8位增强型单片机在速度和功能上向现在的16位单片机挑战,因此在未来相当长的时期内,8位单片机仍是单片机的主流机型。单片机的片机的发展展趋势1、微型化2、低功耗3、高速化(时钟频率的提高,目前有100MHz)4、集成资源更多(定时器,比较器,AD转换等)5、性能更加优异(Digital Signal Processing)采用三核结构,(微控器核DSP核,数据和程序存储器核,外围专用集成电路ASIC)6、通信及网络功能加强单片机特点片机特点1、体积小,重量轻;2、可靠性高,运行速度快,抗干扰能力强;3、控制功能强,使用灵活,性价比高;4、易扩展,易于开发;5、受集成度限制,片内存储器容量较小,一般内ROM在8KB以下,内RAM在256B以内。单片机的片机的应用用1、工业控制领域(过程控制,机电一体化控制系统)2、家用电器领域(洗衣机,空调、微波炉等)3、办公自动化领域(键盘,打印机,考勤机等)4、商业营销领域(电子称,收款机,条形码阅读器等)5、智能仪表与智能传感器(存储,数据处理、查找、判断、联网等智能化功能)单片机的分片机的分类尽管各类单片机很多,但无论是从世界范围或是从全国范围来看,使用最为广泛的应属MCS-51单片机。基于这一事实,本书以应用最为广泛的MCS-51系列8位单片机(8031、8051、8751等)为研究对象,介绍单片机的硬件结构、工作原理及应用系统的设计。MCS-51单片机系列共有十几种芯片,如表1.1所示。子系列片内ROM形式片内ROM容量片内RAM容量寻址范围I/O特性中断源无ROMEPROM计数器并行口串行口51子系列8031805187514 KB128 B264 KB216481580C3180C5187C514 KB128 B264 KB216481552子系统8032805287528 KB256 B264 KB316481680C3280C5287C528 KB256 B264 KB3164816表表1.1 MCS-51系列单片机分类表系列单片机分类表5151子系列和子系列和5252子系列子系列表中列出了MCS-51单片机系列的芯片型号,以及它们的技术性能指标,使我们对它们的基本情况有了一个概括的了解。下面我们就在这个表的基础上对MCS-51系列单片机作进一步说明。MCS-51系列又分为51和52两个子系列,并以芯片型号的最末位数字作为标志。其中,51子系列是基本型,而52子系列则属增强型。52子系列功能增强的具体方面,从表1.1所列内容中可以看出:(1)片内ROM从4 KB增加到8 KB。(2)片内RAM从128 B增加到256 B。(3)定时/计数器从2个增加到3个。(4)中断源从5个增加到6个。在52子系列的内部ROM中,以掩膜方式集成有8KB BASIC解释程序,这就是通常所说的8052-BASIC。这意味着单片机已可以使用高级语言。该BASIC与基本BASIC相比,增加了一些控制语句,以满足单片机作为控制机的需要。1.2 MCS-511.2 MCS-51单片机内部结构及引脚单片机内部结构及引脚MCS-51系列单片机是因特公司1980推出的高档8位机分为二个子系列,三个版本:/8KB8052/803252子系列4KB/8751/4KB8051/803151子系列MCS-51 EPROM掩膜ROM 存储器类型单片机系列18051单片机的基本组成 MCS-51单片机的典型芯片是8031、8051、8751。8051内部有4 KB ROM,8751内部有4KB EPROM,8031内部无ROM;除此之外,三者的内部结构及引脚完全相同。因此,以8051为例,说明本系列单片机的内部组成及信号引脚。8051单片机的基本组成请参见图1.1。下面介绍各部分的基本情况。图1.1MCS-51单片机片机结构框构框图1)中央处理器(CPU)中央处理器是单片机的核心,完成运算和控制功能。MCS-51的CPU能处理8位二进制数或代码。2)内部数据存储器(内部RAM)8051芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。3)内部程序存储器(内部ROM)8051共有4 KB掩膜ROM,用于存放程序、原始数据或表格,因此,称之为程序存储器,简称内部ROM。4)定时/计数器8051共有两个16位的定时/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。5)并行I/O口MCS-51共有4个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入/输出。6)串行口MCS-51单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。7)中断控制系统MCS-51单片机的中断功能较强,以满足控制应用的需要。8051共有5个中断源,即外中断两个,定时/计数中断两个,串行中断一个。全部中断分为高级和低级共两个优先级别。8)时钟电路MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的晶振频率一般为6 MHz和12MHz。2.MCS-51的信号引脚MCS-51是标准的40引脚双列直插式集成电路芯片,引脚排列请参见图1.2。1)信号引脚介绍P0.0 P0.7:P0口8位双向口线。P1.0 P1.7:P1口8位双向口线。P2.0 P2.7:P2口8位双向口线。P3.0 P3.7:P3口8位双向口线。图1.2 MCS-51引脚图 ALE:地址锁存控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。:外部程序存储器读选通信号。在读外部ROM时,有效(低电平),以实现外部ROM单元的读操作。:访问程序存储器控制信号。当信号为低电平时,对ROM的读操作限定在外部程序存储器;当信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。VSS:地线。VCC:+5 V电源。以上是MCS-51单片机芯片40条引脚的定义及简单功能说明。2)信号引脚的第二功能由于工艺及标准化等原因,芯片的引脚数目是有限制的。例如,MCS-51系列把芯片引脚数目限定为40条,但单片机为实现其功能所需要的信号数目却远远超过此数,因此就出现了需要与可能的矛盾。如何解决这个矛盾?“兼职”是唯一可行的办法,即给一些信号引脚赋以双重功能。如果把前述的信号定义为引脚第一功能的话,则根据需要再定义的信号就是它的第二功能。下面介绍一些信号引脚的第二功能。(1)P3口线的第二功能。P3的8条口线都定义有第二功能,详见表1.2。(2)EPROM存储器程序固化所需要的信号。有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚以第二功能的形式提供的,即:编程脉冲:30脚(ALE/)编程电压(25 V):31脚(/VPP)引脚第二功能信号名称P3.0 RXD串行数据接收P3.1 TXD 串行数据发送P3.2 外部中断0申请P3.3 外部中断1申请P3.4 T0定时/计数器0的外部输入P3.5 T1定时/计数器1的外部输入P3.6 外部RAM写选通P3.7 外部RAM读选通表表1.2 P3口各引脚与第二功能表口各引脚与第二功能表(3)备用电源引入。MCS-51单片机的备用电源也是以第二功能的方式由9脚(RST/VPD)引入的。当电源发生故障,电压降低到下限值时,备用电源经此端向内部RAM提供电压,以保护内部RAM中的信息不丢失。以上把MCS-51单片机的全部信号引脚分别以第一功能和第二功能的形式列出。对于各种型号的芯片,其引脚的第一功能信号是相同的,所不同的只在引脚的第二功能信号。对于9、30和31三个引脚,由于第一功能信号与第二功能信号是单片机在不同工作方式下的信号,因此不会发生使用上的矛盾。但是P3口的情况却有所不同,它的第二功能信号都是单片机的重要控制信号。因此,在实际使用时,都是先按需要选用第二功能信号,剩下的才以第一功能的身份作数据位的输入/输出使用。ALE/PROG 地址锁存控制端PSEN 外部程序存储器的读选通信号端 /Vpp 内/外ROM选择端 =1 时,访问内部程序存储器,即内ROM =0 时,只访问外部程序存储器,即外ROM对于8751单片机编程时,该端施加编程电压3、输入/输出引脚 P0.0 P0.7 ;P1.0 P1.7 ;P2.0 P2.7 ;P3.0 P3.7四个I/O口,每口八条线;还兼作地址/数据线。1.3并行并行I/O端口端口1、P0口:地址低8位与数据线分时使用端口,2、P1口:按位可编址的输入输出端口,3、P2口:地址高8位输出口4、P3口:双功能口。若不用第二功能,也可作通用I/O 口。5、按三总线划分:地址线:P0低八位地址,P2高八地址;数据线:P0输入输出8位数据;控制线:P3口的8位加上/PSEN、ALE共同完成 控制总线。1.4 MCS-51单片机内存配置1、MCS-51单片机的内存结构 数据存储器外部ROM007FH 程序存储器)(外部K64RAM物理上分为:4个空间,即片内ROM、片外ROM 片内RAM、片外RAM逻辑上分为:3个空间,即程序内存(片内、外)统一编址 MOVC 数据存储器(片内)MOV 数据存储器(片外)MOVX2、程序存储器寻址范围:0000HFFFFH容量64KB,即地址长度:16位 ,寻址内部ROM;,寻址外部ROM。当PC值超过片内ROM容量时会自动转向 外部存储器空间。8031单片机,接低电平。作 用:存放程序及程序运行时所需的常数。MCS-51的程序存储器用于存放编好的程序和表格常数。8051片内有4 KB的ROM,8751片内有4 KB的EPROM,8031片内无程序存储器。MCS-51的片外最多能扩展64 KB程序存储器,片内外的ROM是统一编址的。如 端保持高电平,8051的程序计数器PC在0000H0FFFH地址范围内(即前4 KB地址)是执行片内ROM中的程序,当PC在1000HFFFFH地址范围时,自动执行片外程序存储器中的程序;当保持低电平时,只能寻址外部程序存储器,片外存储器可以从0000H开始编址。MCS-51的程序存储器中有些单元具有特殊功能。其中一组特殊单元是0000H0002H。系统复位后,(PC)=0000H,单片机从0000H单元开始取指令执行程序。如果程序不从0000H单元开始,应在这三个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。还有一组特殊单元是0003H002AH,共40个单元。这40个单元被均匀地分为5段,作为5个中断源的中断地址区。其中:0003H000AH 外部中断0中断地址区000BH0012H 定时/计数器0中断地址区0013H001AH 外部中断1中断地址区001BH0022H 定时/计数器1中断地址区0023H002AH 串行中断地址区中断响应后,按中断种类,自动转到各中断区的首地址去执行程序,因此在中断地址区中理应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址。0000H 系统复位,PC指向此处;0003H 外部中断0入口000BH T0溢出中断入口 0013H 外中断1入口001BH T1溢出中断入口0023H 串口中断入口六个具有特殊含义的单元是:3、内部数据存储器 物理上分为两大区域:00H 7FH即128B内RAM区 80H FFH即SFR区。R0、R1、R2、R3、R4、R5、R6、R7即可位寻址,又可字节寻址数据缓冲区、堆栈区、工作单元8051的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H7FH)和高128单元(单元地址80HFFH)。表1.3所示为低128单元的配置图。30H 7FH数据缓冲区20H 2FH位寻址区(00H7FH)18H 1FH工作寄存器3区(R7R0)10H 17H工作寄存器2区(R7R0)08H 0FH工作寄存器1区(R7R0)00H 07H工作寄存器0区(R7R0)表1.3 片内RAM的配置 u低128单元是单片机的真正RAM存储器,按其用途划分为寄存器区、位寻址区和用户RAM区三个区域。1)寄存器区8051共有4组寄存器,每组8个寄存单元(各为8),各组都以R0R7作寄存单元编号。寄存器常用于存放操作数中间结果等。由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。4组通用寄存器占据内部RAM的00H1FH单元地址。在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器PSW中RS1、RS0位的状态组合来决定。通用寄存器为CPU提供了就近存储数据的便利,有利于提高单片机的运算速度。此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。2)位寻址区内部RAM的20H2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。位寻址区共有16个RAM单元,计128位,地址为00H7FH。MCS-51具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。这种位寻址能力是MCS-51的一个重要特点。表1.4为位寻址区的位地址。单元地址MSB 位地址 LSB 2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F077E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800表1.4 片内RAM位寻址区的位地址 3)用户RAM区在内部RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H7FH。对用户RAM区的使用没有任何规定或限制,但在一般应用中常把堆栈开辟在此区中。u内部数据存储器高128单元内部RAM的高128单元是供给专用寄存器使用的,其单元地址为80HFFH。因这些寄存器的功能已作专门规定,故称之为专用寄存器(Special Function Register),也可称为特殊功能寄存器。1)专用寄存器(SFR)简介8051共有21个专用寄存器,现把其中部分寄存器简单介绍如下:(1)程序计数器(PCProgram Counter)。PC是一个16位的计数器,它的作用是控制程序的执行顺序。其内容为将要执行指令的地址,寻址范围达64 KB。PC有自动加1功能,从而实现程序的顺序执行。PC没有地址,是不可寻址的,因此用户无法对它进行读写,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。因地址不在SFR(专用寄存器)之内,一般不计作专用寄存器。(2)累加器(ACCAccumulator)。累加器为8位寄存器,是最常用的专用寄存器,功能较多,地位重要。它既可用于存放操作数,也可用来存放运算的中间结果。MCS-51单片机中大部分单操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加器。(3)B寄存器。B寄存器是一个8位寄存器,主要用于乘除运算。乘法运算时,B存乘数。乘法操作后,乘积的高8位存于B中,除法运算时,B存除数。除法操作后,余数存于B中。此外,B寄存器也可作为一般数据寄存器使用。(4)程序状态字(PSWProgram Status Word)。程序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息。其中有些位的状态是根据程序执行结果,由硬件自动设置的,而有些位的状态则使用软件方法设定。PSW的位状态可以用专门指令进行测试,也可以用指令读出。一些条件转移指令将根据PSW有些位的状态,进行程序转移。PSW的各位定义如下:PSW位地址D7HD6HD5HD4HD3H D2HD1HD0H字节地址D0H CY ACF0RS1RS0OVF1P 除PSW.1位保留未用外,其余各位的定义及使用如下:CY(PSW.7)进位标志位。CY是PSW中最常用的标志位。其功能有二:一是存放算术运算的进位标志,在进行加或减运算时,如果操作结果的最高位有进位或借位时,CY由硬件置“1”,否则清“0”;二是在位操作中,作累加位使用。AC(PSW.6)辅助进位标志位。在进行加减运算中,当低4位向高4位进位或借位时,AC由硬件置“1”,否则AC位被清“0”。在BCD码调整中也要用到AC位状态。F0(PSW.5)用户标志位。这是一个供用户定义的标志位,需要利用软件方法置位或复位,用以控制程序的转向。RS1和RS0(PSW.4,PSW.3)寄存器组选择位。它们被用于选择CPU当前使用的通用寄存器组。通用寄存器共有4组,其对应关系如下:RS1 RS0寄存器组片内RAM地址 0 0第0组00H07H 0 1第1组08H0FH1 0第2组10H17H1 1第3组18H1FH这两个选择位的状态是由软件设置的,被选中的寄存器组即为当前通用寄存器组。但当单片机上电或复位后,RS1 RS0=00。OV(PSW.2)溢出标志位。在带符号数加减运算中,OV=1表示加减运算超出了累加器A所能表示的符号数有效范围(-128 +127),即产生了溢出,因此运算结果是错误的,否则,OV=0表示运算正确,即无溢出产生。在乘法运算中,OV=1表示乘积超过255,即乘积分别在B与A中,否则,OV=0,表示乘积只在A中。在除法运算中,OV=1表示除数为0,除法不能进行,否则,OV=0,除数不为0,除法可正常进行。P(PSW.0)奇偶标志位。表明累加器A中内容的奇偶性。如果A中有奇数个“1”,则P置“1”,否则置“0”。凡是改变累加器A中内容的指令均会影响P标志位。此标志位对串行通信中的数据传输有重要的意义。在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。(5)数据指针(DPTR)。数据指针为16位寄存器。编程时,DPTR既可以按16位寄存器使用,也可以按两个8位寄存器分开使用,即:DPH:DPTR高8位DPL :DPTR低8位 DPTR通常在访问外部数据存储器时作地址指针使用。由于外部数据存储器的寻址范围为64 KB,故把DPTR设计为16位。(6)堆栈指针(SPStack Pointer)。堆栈是一个特殊的存储区,用来暂存数据和地址,它是按“先进后出”的原则存取数据的。堆栈共有两种操作:进栈和出栈。由于MCS-51单片机的堆栈设在内部RAM中,因此SP是一个8位寄存器。系统复位后,SP的内容为07H,从而复位后堆栈实际上是从08H单元开始的。但08H1FH单元分别属于工作寄存器13区,如程序要用到这些区,最好把SP值改为30H或更大的值。一般在内部RAM的30H7FH单元中开辟堆栈。SP的内容一经确定,堆栈的位置也就跟着确定下来,由于SP可初始化为不同值,因此堆栈位置是浮动的。此处,只集中讲述了6个专用寄存器,其余的专用寄存器(如TCON、TMOD、IE、IP、SCON、PCON、SBUF等)将在以后章节中陆续介绍。2)专用寄存器中的字节寻址和位地址MCS-51系列单片机有21个可寻址的专用寄存器,其中有11个专用寄存器是可以位寻址的。对专用寄存器的字节寻址问题作如下几点说明:(1)21个可字节寻址的专用寄存器是不连续地分散在内部RAM高128单元之中,尽管还余有许多空闲地址,但用户并不能使用。(2)程序计数器PC不占据RAM单元,它在物理上是独立的,因此是不可寻址的寄存器。(3)对专用寄存器只能使用直接寻址方式,书写时既可使用寄存器符号,也可使用寄存器。(4)凡地址能被8整除的寄存器都是可位寻址的寄存器。1.5时钟电路与复位路与复位电路路1.5.1 1.5.1 时钟电路与时序时钟电路与时序1.时钟信号的产生在MCS-51芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路,如图1.3所示。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。请读者特别注意时钟脉冲与振荡脉冲之间的二分频关系,否则会造成概念上的错误。一般地,电容C1和C2取30 pF左右,晶体的振荡频率范围是1.212 MHz。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。MCS-51在通常应用情况下,使用振荡频率为6 MHz或12 MHz。图1.3 时钟振荡电路 2.引入外部脉冲信号在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入惟一的公用外部脉冲信号作为各单片机的振荡脉冲。这时,外部的脉冲信号是经XTAL2引脚注入,其连接如图1.4所示。3.时序时序是用定时单位来说明的。MCS-51的时序定时单位共有4个,从小到大依次是:节拍、状态、机器周期和指令周期。下面分别加以说明。图1.4 外部时钟源接法 1)节拍与状态把振荡脉冲的周期定义为节拍(用P表示)。振荡脉冲经过二分频后,就是单片机的时钟信号的周期,其定义为状态(用S表示)。这样,一个状态就包含两个节拍,具前半周期对应的拍节叫节拍1(P1),后半周期对应的节拍叫节拍2(P2)。2)机器周期MCS-51采用定时控制方式,因此它有固定的机器周期。规定一个机器周期的宽度为6个状态,并依次表示为S1S6。由于一个状态又包括两个节拍,因此,一个机器周期总共有12个节拍,分别记作S1P1、S1P2、S6P2。由于一个机器周期共有12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。当振荡脉冲频率为12 MHz时,一个机器周期为1s;当振荡脉冲频率为6 MHz时,一个机器周期为2s。3)指令周期 指令周期是最大的时序定时单位,执行一条指令所需要的时间称为指令周期。它一般由若干个机器周期组成。不同的指令,所需要的机器周期数也不相同。通常,包含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令,等等。指令的运算速度与指令所包含的机器周期有关,机器周期数越少的指令执行速度越快。MCS-51单片机通常可以分为单周期指令、双周期指令和四周期指令等三种。四周期指令只有乘法和除法指令两条,其余均为单周期和双周期指令。1.5.2 1.5.2 单片机的复位电路单片机的复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第一个单元取指令。单片机刚开始接上电源时,还是断电后或者发生故障后都要复位,所以我们必须弄清楚MCS-51型单片机复位的条件、复位电路和复位后状态。单片机复位的条件是:必须使RST/VPD 或RST引(9)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12 MHz,每机器周期为1s,则只需2s以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位电路如图1.5(a),(b)所示。图(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要保证RESET为高电平的时间大于两个机器周期,便能正常复位。图1.5单片机常片机常见的复位的复位电路路(a)上上电复位复位电路;路;(b)按按键复位复位电路路图(b)为按按键复复位位电路路。该电路路除除具具有有上上电复复位位功功能能外外,若若要要复复位位,只只需需按按图(b)中中的的RESET键,此此时电源源VCC经电阻阻R1、R2分分压,在在RESET端端产生生一一个个复复位高位高电平。平。单片片机机复复位位期期间不不产生生ALE和和信信号号,即即ALE=1和和=1。这表表明明单片片机机复复位位期期间不不会会有有任任何取指操作。复位后,内部各何取指操作。复位后,内部各专用寄存器状用寄存器状态如下所示:如下所示:PC:0000HTMOD:00HACC:00H TCON:00HB:00HTH0:00HPSW:00H TL0:00HSP:07HTH1:00HDPTR:0000HTL1:00HP0P3:FFH SCON:00HIP:*00000B SBUF:不定不定IE:0*00000BPCON:0*0000其中,其中,*表示无关位。表示无关位。请注意:注意:(1)复位后PC值为0000H,表明复位后程序从0000H开始执行。(2)SP值为07H,表明堆栈底部在07H。一般需重新设置SP值。(3)P0P3口值为FFH。P0P3口用作输入口时,必须先写入“1”。单片机在复位后,已使P0P3口每一端线为“1”,为这些端线用作输入口做好了准备。本章小本章小结1、单片机的特点和应用2、单片机系统的组成3、ROM中六个特殊的单元4、并行I/O口的功能5、单片机的复位电路作作业P42:1、2、6、8、11、13