版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章单片微型计算机基础知识1.1单片机的发展概况1.2计算机中数的表示方法1.3计算机语言1.1单片机的发展情况1.1.1什么是单片机随着大规模、超大规模集成电路技术的发展和计算机微型化的需要,把微型计算机的基本功能部件:中央处理器(CPU)、存储器、输入/输出接口、定时器/计数器、中断系统等多种资源集成在一个半导体芯片上,使得一块集成电路芯片就能构成一个完整的微型计算机,这种集成电路芯片被称为单片微型计算机(SingleChipMicrocomputer),简称单片机。由于它的结构及功能均是按照工业控制要求设计的,所以其确切的名称应是单片微控制器。返回下一页1.1单片机的发展情况在单片机的结构设计上,它的硬、软件系统及I/O接口控制能力等方面都有独到之处,具有较强而有效的功能。从其组成、逻辑功能上来看,单片机都具备了微机系统的基本部件。但是需要指出的是,单片机毕竟还只是一个芯片,只有在配置了应用系统所需的接口芯片、输入/输出设备等,才可以构成实用的单片机应用系统。返回下一页上一页1.1单片机的发展情况1.1.2单片机发展历程及产品近况自从1975年美国德克萨斯仪器公司(TI公司)的第一个单片机TMS-1000问世以来,迄今为止单片机技术已成为计算机技术的一个独特分支,在众多领域尤其是在智能化仪器仪表、检测和控制系统中有着广泛的应用。单片机技术发展十分迅速,产品种类也非常多。纵观整个单片机技术的发展过程,可以分为以下3个主要阶段。返回下一页上一页1.1单片机的发展情况1.单芯片微机形成阶段1976年,Intel公司推出了MCS-48系列单片机。该系列单片机早期产品在芯片内集成有:8位CPU,1KB程序存储器(ROM)、64B数据存储器(RAM),27根I/O线和1个8位定时/计数器。此阶段单片机的主要特点是:在单个芯片内完成了CPU、存储器、I/O接口、定时/计数器、中断系统、时钟等部件的集成。但存储器容量较小,寻址范围小(不大于4K),无串行接口,指令系统功能不强。返回下一页上一页1.1单片机的发展情况2.性能完善提高阶段1980年,Intel公司推出MCS-51系列单片机。该系列单片机在芯片内集成有:8位CPU,4KB程序存储器(ROM)、128B数据存储器(RAM)、4个8位并行接口、1个全双工串行接口、2个16位定时/计数器,寻址范围为64K,并集成有控制功能较强的布尔处理器(完成位处理功能)。此阶段单片机的主要特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,MCS-51已成为公认的单片机经典机种。返回下一页上一页1.1单片机的发展情况3.微控制器化阶段1982年,Intel公司推出MCS-96系列单片机。该系列单片机在芯片内集成有:16位CPU,8KB程序存储器(ROM)、232B数据存储器(RAM)、5个8位并行接口、1个全双工串行接口、2个16位定时/计数器。寻址范围最大为64K,片上还有8路10位ADC,1路PWM(D/A)输出及高速I/)部件等。此阶段单片机的主要特点是:片内面向测控系统外围电路增强,使单片机可以方便灵活地用于复杂的自动测控系统及设备。至此,“微控制器”的称谓更能反应单片机的本质。返回下一页上一页1.1单片机的发展情况近年来,许多半导体了商以MCS-51系列单片机的8051为内核,将许多测控系统中的接口技术、可靠性技术及先进的存储器技术及工艺技术集成至单片机中,生产出了多种功能强大、使用灵活的新一代8051系列单片机。随着微电子设计技术及计算机技术的不断发展,单片机产品和技术日新月异。单片机产品近况可以归纳为以下两个方面。返回下一页上一页1.1单片机的发展情况1)8051系列单片机产品繁多,主流地位已经形成通用微型计算机计算速度的提高主要体现在CPU位数的提高(16位、32位、64位),而单片机更注重的是产品的可靠性、经济性和嵌入性。所以,单片机CPU位数的提高需求并不十分迫切。而多年来的应用实践已经证明,8051的系统结构合理、技术成熟。因此,许多单片生产了商倾力于提高8051单片机产品的综合功能,从而形成了8051的主流产品地位。近年来推出与8051兼容的主要产品有:返回下一页上一页1.1单片机的发展情况(1)ATMEL公司融入Flash存储器技术推出的AT89系列单片机。(2)Philips公司推出的80C51,80C552系列高性能单片机。(3)华邦公司推出的W78C51,W77C51系列高速低价单片机。(4)ADI公司推出的ADuC8xx系列高精度ADC单片机。(5)LG公司推出的DMS90/97系列低压高速单片机。(6)MAXIM公司推出的D589C420高速(50MIPS)单片机。(7)Cygnal公司推出的C8051F系列高速SOC单片机等。返回下一页上一页1.1单片机的发展情况2)非8051结构单片机不断推出,给用户提供了更为广泛的选择空间在8051及其兼容产品流行的同时,一些单片机芯片生产了商也推出了一些非8051结构的产品,影响较大的有:(1)Intel公司推出MCS-96系列16位单片机。(2)Microchip公司推出PIC系列RISC单片机。(3)TI公司推出MSP430F系列16位低电压、低功耗单片机。(4)ATMEL公司推出AVR系列RISC单片机。返回下一页上一页1.1单片机的发展情况目前,单片机正朝着高性能和多品种的方向发展,但由于MCS-51系列的8位单片机仍能满足绝大多数应用领域的需要,所以以MCS-51系列为主的8位单片机,现在及以后的相当一段时期内仍然将占据单片机应用市场的主导地位。返回下一页上一页1.1单片机的发展情况1.1.3单片机的应用及发展趋势1.单片机的应用领域单片机的应用极为广泛,已深入到国民经济的各个领域,对各行业的技术改造和产品的更新换代起着积极的推动作用。单片机的应用领域主要有以下几个方面。返回下一页上一页1.1单片机的发展情况1)生产自动化自动化生产不但能够降低劳动强度,而且可以提高经济效益、改善产品质量,广泛应用于机械、汽车、电子、石油、化工、食品等工农业生产领域。自动化生产线、机械手、数控机床等自动化生产设备都能由单片机实现其智能化的自动控制功能。2)实时测控测控系统的工作环境往往比较恶劣,干扰繁杂,并且要求实时测量控制,如工业窑炉的温度、酸度、化学成分的测量和控制等。单片机工作稳定、可靠,抗干扰能力强,体积小,使用灵活,适用于各种恶劣环境,最宜承担测控工作。返回下一页上一页1.1单片机的发展情况3)智能化产品现代工业产品的一个重要发展趋势是不断提高其智能化程度,而智能化的提高离不开单片机。传统的机电产品与单片机结合后,可简化产品结构、升级产品功能、并实现控制智能化。单片机与机械技术相结合,称为机电一体化,是机械工业的发展方向。单片机在家电产品上更是得到了普遍应用,出现了程控洗衣机、电脑空调机等。为提高汽车的动力性、经济性、舒适性、稳定性以及减少污染排放,汽车上都大量使用了单片机。返回下一页上一页1.1单片机的发展情况4)智能化仪表用单片机改造、设计制造仪器仪表,大大促进了仪表向数字化、智能化、多功能化、综合化和柔性化方向发展,并能同时提高仪器仪表的精度和准确度,简化结构,减小体积。5)信息通信技术网络中各计算机之间的通信联系,计算机与其外围设备(键盘、打印机、传真机、复印机等)之间的协作都有单片机的参与。返回下一页上一页1.1单片机的发展情况6)科学研究小到实验测控台,大到卫星、运载火箭,单片机都在其中发挥着极其重要的作用。7)国防现代化在各种军事装备、管理通信系统中,单片机得到了广泛的应用。例如,数字化部队的武器、通信等装备都大量应用了单片机。返回下一页上一页1.1单片机的发展情况2.单片机的应用特点1)面向控制的应用由于单片机内部采用了微控制技术,其结构及功能均按自动控制的要求设计,因而主要应用于控制领域。微控制技术从根本上改变了传统的控制系统设计思想,它通过对单片机编程的方法代替由模拟电路或数字电路实现的大部分控制功能,是对传统控制方式的一次革命。返回下一页上一页1.1单片机的发展情况2)在线应用在线应用就是以单片机代替常规模拟或数字控制电路,使其成为测控系统的一部分,在被控对象工作过程中实行实时检测,并实时控制。在线应用为实时测控提供了可能和方便。3)嵌入式应用单片机在应用时通常装入到各种智能化产品之中,所以又称嵌入式微控制器(EmbeddedMicroControllerUnitEMCU。单片机应用系统就是典型的嵌入式系统。返回下一页上一页1.1单片机的发展情况嵌入式计算机系统,是作为其他系统的组成部分使用的。由于通用计算机系统有限的可靠性、较高的价位及庞大的身躯,限制了其在嵌入式系统的广泛应用,尤其限制了以嵌入式计算机系统作为核心控制产品的发展。单片机以较小的体积、现场运行环境的高可靠性满足了许多对象的嵌入式应用要求。在嵌入式系统中,单片机是最重要也是应用最多的智能核心器件。返回下一页上一页1.1单片机的发展情况3.单片机应用系统由单片机及其外围接口部件组成的单片机系统称为单片机应用系统,其可以应用于不同的场合。具备工业测控功能的单片机应用系统,如图1-1所示。以下简要说明图中主要部分的作用。返回下一页上一页1.1单片机的发展情况通过传感器把被控对象的物理量转换成标准的模拟电量。如把温度转换成标准直流电流输出。该输出经滤波器滤除掉输入通道的干扰信号,然后将送入多路采样器。多路采样开关分时地对多个模拟量进行采样、保持,使A/D转换器能将某时刻的模拟量转换成相应的数字量,然后将该数字量输入单片机。单片机对输入的数据进行运算处理后,输出相应的数字量,经D/A转换器转换为模拟量,该模拟量经保持器控制相应的执行机构,对被控对象的相关参数进行调节,从而控制被调参数的物理量,使之按给定规律变化。返回下一页上一页1.1单片机的发展情况4.单片机的发展趋势1)微型化芯片集成度的提高为单片机的微型化提供了可能。早期单片机大量使用双列直插式封装,随着贴片工艺的出现,单片机也大量采用了各种符合贴片工艺的封装方式,大大减小芯片的体积,为嵌入式系统提供了可能。返回下一页上一页1.1单片机的发展情况2)低功耗现在新的单片机功耗越来越小,特别是很多单片机都提出了多种工作设置方式,包括等待、暂停、睡眠、空闲、节电等工作方式。扩大电源电压范围以及在较低电压下仍然能工作是当今单片机发展的目标之一。目前,一般单片机都可在3.3~5.5V的条件下工作,一些厂家甚至生产出可以在2.2~6V条件下工作的单片机。返回下一页上一页1.1单片机的发展情况3)高速化早期MCS-51单片机的典型时钟频率为12MHz,目前西门子公司的C500系列单片机的(与MCS-51兼容)时钟频率为36MHz;EMC公司的EM78系列单片机的时钟频率高达40MHz;现在已有更快的32位、100MHz的单片机产品出现。4)集成更多资源当前在单片机内部已集成了越来越多的部件,这些部件包括一些常用的电路,例如,定时器、比较器、A/D转换器、D/A转换器、串行通信接口、Watchdog看门狗电路、LCD控制器、局部网络控制模块。返回下一页上一页1.1单片机的发展情况5)通信及网络功能加强在某些单片机内部由于封装了局部网络控制模块,甚至将网络协议固化在其内部,因此可以容易地构成网络系统。特别是在控制系统较为复杂时,构成一个控制网络十分有用。目前,将单片机嵌入式系统和Internet连接起来已是一种趋势。6)专用型单片机发展加快专用型单片机具有最大程度简化的系统结构,资源利用率最高,大批量使用有着可观的经济效益。返回下一页上一页1.1单片机的发展情况1.1.4MCS-51系列单片机的分类1.MCS-51系列MCS-51是Intel公司生产的一个单片机系列名称,这一系列的单片机有多种型号。MCS-51系列单片机性能表,如表1-1所列。返回下一页上一页1.1单片机的发展情况该系列单片机的生产工艺有两种:一是HMOS工艺(高密度短沟道MOS工艺),二是CHMOS工艺(互补金属氧化物的HMOS工艺)。CHMOS具有高速度、高密度以及低功耗的特点。在产品型号中凡带有字母“C”的为CHMOS芯片,不带有字母“C”的为HMOS芯片。HMOS芯片的电平与TTL电平兼容,而CHMOS芯片的电平既与TTL电平兼容,又与CMOS电平兼容。所以在单片机应用系统中应尽量采用CHMOS工艺的芯片。返回下一页上一页1.1单片机的发展情况在功能上,该系列单片机有基本型和增强型两大类,通常以芯片型号的末位数字来区分。末位数字为“1”的型号为基本型,如8051/8751/8031,80C51/87C51/80C31等。末位数字为“2”的型号为增强型,如8052/8752/8032、80C52/87C52/80C32等。在片内程序存储器的配置上,该系列单片机有3种形式,ROMLess(无片内程序存储器)、掩模ROM和EPROM。返回下一页上一页1.1单片机的发展情况2.80C51系列80C51是MCS-51系列单片机中CHMOS工艺的一个典型品种。其他了商以8051为基核开发出的CHMOS工艺单片机产品也统称为80C51系列。当前单片机开发常用的80C51系列产品有Intel公司的80C31、80C51、87C51、80C32、80C52、87C52等,还有ATMEL公司的AT89C51、AT89C52、AT89C2051、AT8904051等融入了FLASH存储器技术的AT89系列。除此之外,还有Philips,华邦、Dallas,Siemens等公司的许多产品。虽然这些产品在某些方面有一些差异,但基本结构是相同的,从而形成了80C51的主流产品地位。返回上一页1.2计算机中数的表示方法1.2.1进位计数制及其转换凡采用数字符号排列,按照由低位向高位进位计数的方法称为进位计数制,简称为计数制或进位制。在人们的日常生活中,会碰到各种不同的进位计数制,不仅有最常使用的十进制,还有二进制、八进制、十二进制、十六进制、二十四进制等。返回下一页1.2计算机中数的表示方法(1)二进制:由数字符号0、1构成,逢2进1。(2)八进制:由数字符号0一7构成,逢8进1。(3)十进制:由数字符号0一9构成,逢10进1。(4)十六进制:由数字符号0一9和字母A一F构成,逢16进1。在计算机内部,数的表示仅采用二进位计数制,即计算机内部处理的数据(数值数据、字符、图形、声音等)必须用0、1的代码表示,计算机能够理解的语言也只能是由0、1构成的语言。而用户在书写时则可以采用任何进制形式的数来表示的。下面讨论各种数制之间的转换。返回下一页上一页1.2计算机中数的表示方法1.十进制数转换为二进制数需对其整数和小数部分分别处理进行转换。(1)十进制整数转换为二进制整数的方法是:用2不断地去除要转换的十进制数,直至商为0。每次所得的余数即为二进制数位,最初得到的余数是二进制整数的最低位。这就是所谓的“除2取余”法。(2)十进制小数转换为二进制小数的方法是:用2不断地去乘要转换的十进制小数,直至乘积的小数部分为0。每次所得的整数部分即为二进制数位,最初得到的整数是二进制小数的最高位。这就是所谓的“乘2取整”法。返回下一页上一页1.2计算机中数的表示方法2.二进制数转换为十进制数将二进制数转换为十进制数,只需按位权展开求累加和即可。3.二进制数与十六进制数的相互转换二进制数转换成十六进制数比较容易,具体方法如下:(1)把二进制数以小数点为界向左向右每4位分成一组,不足4位的以0补齐。(2)把每组4位的二进制数转换成1位的十六进制数。(3)按从左到右的次序写出转换结果。返回下一页上一页1.2计算机中数的表示方法十六进制数转换成二进制数的方法更简单,只需从左到右把每位十六进制数写成相应的4位二进制数,并把结果写在一起即可。表1-2中列出了0~15之间的十进制数在二进制、八进制和十六进制下的对应值。为了加快数制转换的速度,这张表中的内容应该熟记于心。返回下一页上一页1.2计算机中数的表示方法4.数的书写方法人们喜欢用十进制,而计算机仅认识二进制。十六进制、八进制则是二进制的缩写,看到了十六进制、八进制,就等于看到了二进制。计算机中经常使用的数的书写方法有二进制(后缀B,Binary、八进制(后缀0,Octal或Q,因。与0容易混淆,所以一般用Q)、十进制(后缀D,Decimal,或者不要后缀)和十六进制(后缀H,Hex)。例如,1010B表示二进制数;5703Q表示八进制数;2048D表示十进制数;OA30BH表示十六进制数(在汇编语言程序中由字母A}F开头的十六进制数前需要添加0)。返回下一页上一页1.2计算机中数的表示方法1.2.2机器数计算机中的数据简称为机器数,一个完整的机器数应能表示无符号数和符号数。对于一个字长为n位的机器数而言,若表示无符号数时,其n位应全部用于表示数值。如:返回下一页上一页1.2计算机中数的表示方法若表示符号数时,其最高位用于表示数的符号(用0表示正数,用1表示负数,这样的处理称为数字符号的数字化表示),其余的n-1位用于表示数值。如:
无论是无符号数,还是符号数,都是计算机能够直接处理的两种数据。返回下一页上一页1.2计算机中数的表示方法在计算机中对于符号数有不同的编码方式,通常采用两种编码表示:原码、补码。1.原码最高位为符号位(正数用0,负数用1),其他位为数值位,称为符号数的原码表示。2.补码正数的补码与原码相同,即符号位用0表示,数值位不变;负数的补码则是符号位取1,数值位逐位取反,末位加1。返回下一页上一页1.2计算机中数的表示方法3.补码数的表示范围一个n位二进制补码数的表示范围是:-2n-1
≤N≤2n-1-1当n=8时数的表示范围是:-128≤N≤+127当n=16时数的表示范围是:一32768≤N≤+32767如果两个8位二进制补码数的运算结果超过一128≤N≤+127的范围,或者两个16位二制补码数的运算结果超过一32768≤N≤+32767的范围,则称为运算结果溢出。返回下一页上一页1.2计算机中数的表示方法1.2.3常用名词术语及字符的表示1.常用的名词术语位、字节、字以及字长都是计算机中常用的名词术语。1)位(Bit)位是指一个二进制位,它是计算机中信息存储的最小单位。位用b表示。返回下一页上一页1.2计算机中数的表示方法2)字节(Byte)字节指相邻的8个二进制位,通常存储器是以字节为单位存储信息的。字节用B表示。3)字(Word)及字长字是计算机内部进行数据传递、数据处理的基本单元。一个字所包含的二进制位数称为字长。字用W表示。在一般的微机中定义一个字长为2个字节。返回下一页上一页1.2计算机中数的表示方法2.ASCII码计算机在处理信息时,有时需要处理字符或字符串,例如从键盘输入的信息或打印的信息都是以字符方式处理的,因此,计算机必须能用二进制数表示字符。计算机中最常用的字符编码是美国信息交换标准代码ASCII(AmericanStandardCodeforInformationInterchange)。ASCII码用7位二进制数表示字符编码。附录A给出了字符的ASCII码表。返回下一页上一页1.2计算机中数的表示方法3.BCD码虽然二进制数实现容易,但不符合人们的使用习惯,且书写阅读不方便,所以在计算机输入输出时通常还是采用十进制来表示数,这就需要实现十进制与二进制间的转换。为了转换方便,常采用二进制编码的十进制数,简称为BCD(BinaryCodedDecimal)。BCD码是用4位二进制数表示1位十进制整数。表示的方法有多种,常用的是8421BCD码,它的表示规律如表1-3所列。返回上一页1.3计算机语言计算机是一种能够按照人们预先存放在存储器中的一系列命令连续高速地进行数据处理的电子机器。能够把人的命令告诉计算机的一套符号系统及其使用规则称为“计算机语言”。返回下一页1.3计算机语言1.3.1计算机程序设计语言在计算机程序设计时使用到得到计算机语言,目前为止已经由低级到高级经历了机器语言、汇编语言、高级语言的发展过程。返回下一页上一页1.3计算机语言1.机器语言微机内部所有的信息都是采用二进制0和1的位串表示的,机器指令就是计算机能够直接识别和执行的一组二进制代码。对某种特定的计算机而言,其所有机器指令的集合,称为该计算机的机器指令系统。它既是提供给用户编制程序的基本依据,也是进行计算机逻辑设计的基本依据。指令系统的性能如何,决定了计算机系统的基本功能。机器指令系统及其使用规则构成这种计算机的机器语言。完成特定功能的一系列机器指令的有序集合,称为机器语言程序。返回下一页上一页1.3计算机语言机器语言具有以下特征:(1)它是唯一能够被计算机直接识别并执行的语言。(2)它是由0、1代码构成的语言,和自然语言相差甚远,不便于阅读和理解。(3)它是面向机器的语言(低级语言)。返回下一页上一页1.3计算机语言2.汇编语言采用容易记忆的英文符号名(称为助记符)来表示的机器指令,称为汇编指令。例如用ADD、SUB、JMP等英文文字或其缩写形式来表示加、减、转移等指令操作。计算机中每一条机器指令都对应一条汇编指令,所有汇编指令的集合构成了计算机的汇编指令系统。此处重点强调以下几点。返回下一页上一页1.3计算机语言(1)汇编语言指令:又称为符号指令,是机器指令符号化的表示。(2)汇编语言:是由汇编语言指令、汇编语言伪指令及汇编语言的语法规则组成。(3)汇编语言源程序:按照严格的语法规则用汇编语言编写的程序,称为汇编语言源程序或源程序。返回下一页上一页1.3计算机语言(4)汇编程序:把汇编语言源程序翻译成目标程序的语言加工程序称为汇编程序。汇编程序进行翻译的过程叫做汇编。将汇编程序翻译为机器语言后,才能交付计算机硬件系统加以识别和执行。汇编程序是为计算机配置的实现把汇编语言源程序翻译成目标程序的一种系统软件。返回下一页上一页1.3计算机语言汇编语言具有以下特征:(1)以机器指令的助记符表示,较接近自然语言,较容易编程、阅读和记忆。(2)翻译程序是一对一的转换,生成的目标代码效率高(时空性能好)。(3)适合于在硬件层次上开发程序。返回下一页上一页1.3计算机语言3.高级语言高级程序设计语言接近人类自然语言的语法习惯,与计算机硬件无关,用户易于掌握和使用。目前广泛应用的高级语言有多种,如BASIC、FORTRAN、PASCAL、C、C++等。同样道理,用高级语言书写的源程序也必须翻译成机器指令目标程序。完成此翻译任务的程序称为编译程序。返回下一页上一页1.3计算机语言高级语言具有以下特征:(1)更接近于自然语言,编程、阅读更容易。(2)与计算机硬件系统无关,一个计算机系统是否支持该高级语言只取决于有无相应的编译软件。(3)生成的目标代码效率较低(时空性能差)。返回下一页上一页1.3计算机语言1.3.2单片机系统中用到的计算机语言由于汇编语言与计算机硬件密切相关,所以使用汇编语言编写的源程序汇编后的目标程序简捷易懂,占用存储容量较小;程序执行所需时间短,目标程序效率高,运行速度快。特别适用于单片机实时控制系统、智能化仪器仪表控制程序的编写。返回下一页上一页1.3计算机语言汇编语句指令的有限功能使得编写汇编语言源程序比编写高级语言源程序烦琐,调试汇编语言程序也比调试高级语言程序困难。而使用高级语言时,程序员不用考虑这些细节问题,编写程序和调试程序也就容易多了。所以随着单片机技术的发展、机器运行速度的提高、存储容量的增大,程序员在进行单片机的开发时也逐步使用高级语言了。返回上一页图1-1单片机应用系统返回表1-1MCS-51系列单片机性能表返回表1-20~15在各种数制下的表示返回表1-3BCD码值表返回第2章MCS-51系列单片机的结构2.1MCS-51单片机的内部结构2.2MCS-51单片机的存储器结构2.3MCS-51单片机的并行输入/输出(I/O)接口2.4MCS-51单片机应用系统的构成2.1MCS-51单片机的内部结构2.1.1MCS-51的结构框图前面已经提到单片机是在一块芯片集成了CPU、RAM、ROM、定时器/计数器、I/O接口以及串行通信接口等基本功能部件的一个完整的单片微型计算机。如图2-1所示为8051单片机功能结构图。如图2-2所示为8051单片机内部结构图。下一页返回2.1MCS-51单片机的内部结构MCS-51单片机内部包括以下部件:(1)一个8位CPU。(2)一个片内时钟振荡器,最高时钟频率为12MHzo(3)4KB程序存储器ROM/EPROM(8031片内无ROM)。(4)128B数据存储器RAM。(5)可寻址的外部程序存储器和数据存储器空间64KB的机构。(6)21个特殊功能寄存器SFR。(7)4个8位并行I/O口,共32根I/O线。下一页返回上一页2.1MCS-51单片机的内部结构(8)1个全双工串行口。(9)2个16位定时器/计数器。(10)具有5个中断源,2个优先级的中断结构。(11)具有位寻址功能的位处理器,适用于位(布尔)处理。MCS-51系列单片机典型芯片是8051。与8051结构相同的产品有8031和875108031是一个无ROM的8051,它从外部ROM获取所用的指令,8751是一个用EPROM代替ROM的8051,除此之外,三者的内部结构及引脚完全相同。今后,除特另11说明外,用8051这个名称来代表8031、8051和87510下一页返回上一页2.1MCS-51单片机的内部结构2.1.2CPU结构CPU从功能上可分为控制器和运算器两部分,下面分别介绍这两部分的组成及功能。1.控制器控制器由程序计数器PC、指令寄存器、指令译码电路、定时控制与条件转移逻辑电路、数据地址指针DPTR等组成。其功能是对来自程序存储器中的指令进行译码,通过定时控制电路,在规定的时刻发出各种操作所需的内部和外部的控制信号,使各部分协调工作,完成指令所规定的功能。控制器各功能部件简述如下。下一页返回上一页2.1MCS-51单片机的内部结构1)程序计数器PC(ProgramCounter)PC是一个16位的地址寄存器,用于存放将要从ROM中读出的下一字节指令码的地址,并具有自动加1的功能,因此也称为地址指针。当CPU要取指令时,将PC的内容送到地址总线上,从而指向程序存储器中存放当前指令的单元地址,以便从存储器中取出指令加以分析、执行,同时PC内容自动加1,指向下一条指令,以保证程序按顺序执行。也可以通过控制转移指令改变PC值,实现程序的转移。PC不可访问,在物理结构上是独立的,因此不属于特殊功能寄存器。下一页返回上一页2.1MCS-51单片机的内部结构2)指令寄存器IR(InstructionRegister)指令寄存器是一个8位寄存器,用于暂存待执行的指令,等待译码。指令译码电路是对指令寄存器中的指令进行译码,将指令转变为执行此指令所需要的电信号,再经定时控制电路定时产生执行该指令所需要的各种控制信号。在MSC-51单片机中这部分电路对用户是透明的。下一页返回上一页2.1MCS-51单片机的内部结构3)数据地址指针DPTR数据地址指针DPTR是一个16位的专用地址指针寄存器,它由DPH和DPL这两个特殊功能寄存器组成。DPH是DPTR的高8位,DPL是DPTR的低8位,其组成如下:DPTR用于存放16位地址,可对外部数据存储器RAM64KB(0000H~0FFFFH)地址空间寻址。下一页返回上一页2.1MCS-51单片机的内部结构2.运算器运算器由算术逻辑运算部件ALU、累加器ACC、寄存器B、暂存寄存器、程序状态字寄存器PSW、堆栈指针SP等组成,另外为提高数据处理和位操作功能,还增加了一些专用寄存器。运算器各功能部件简述如下。1)算术逻辑运算部件ALU算术逻辑运算部件ALU在定时控制逻辑电路发出的内部控制信号的控制下,可以进行如下的算术/逻辑操作:下一页返回上一页2.1MCS-51单片机的内部结构(1)带进位和不带进位的加法。(2)带借位减法。(3)8位无符号数乘法和除法。(4)逻辑与、或、异或操作。(5)加1、减1操作。(6)按位求反操作。(7)循环左、右移位操作。(8)半字节交换。(9)二一十进制调整。(10)比较和条件转移的判断等操作。下一页返回上一页2.1MCS-51单片机的内部结构2)累加器ACC累加器ACC是一个8位寄存器,它通过暂存器和ALU相连,它是CPU中工作最繁忙、最常用的专用寄存器,许多指令的操作数取自于ACC,许多运算结果也存放在ACC中。在指令系统中,累加器ACC的助记符也记作A。下一页返回上一页2.1MCS-51单片机的内部结构3)程序状态字寄存器PSW程序状态字寄存器也是一个8位寄存器,相当于标志寄存器,用于存放指令执行结果的一些特征,供程序查询和判别之用。其格式如下:
下一页返回上一页2.1MCS-51单片机的内部结构其中每一位的具体含义如下:(1)CY:进/借位标志。在进行加、减法运算时,如果执行结果最高位D7有进、借位,CY置1,否则CY清0。在进行位操作时,CY又是位操作累加器,指令助记符用C表示。(2)AC:辅助进位。在进行加、减法运算时,如果低半字节D3向高半字节有进、借位,AC置1,否则AC清。。(3)F0:用户标志。由用户根据需要对其置位或复位,可作为用户自行定义的一个状态标志。下一页返回上一页2.1MCS-51单片机的内部结构(4)RS1和RS0:工作寄存器组选择位。由用户程序改变RS1和RS0组合中的内容,以选择片内RAM中的4个工作寄存器组之一作为当前的工作寄存器组。当前工作寄存器组的选择,如表2-1所示。单片机在复位后,RS1和RS0都为0,CPU自然选择工作寄存器组0作为当前工作寄存器组。根据需要,用户可以利用传送指令或位操作指令来改变RS1,RS0的内容,选择其他的工作寄存器组,这种设置对程序中保护现场提供了方便。下一页返回上一页2.1MCS-51单片机的内部结构(5)OV:溢出标志。在补码运算时,当运算结果超出-128~+127范围时,将产生溢出,OV置1。否则无溢出,OV清0。(6)Fl:用户标志。作用同F0,但要用位地址D1H或符号PSW.1来表示这一位。下一页返回上一页2.1MCS-51单片机的内部结构(7)P:奇偶标志。该标志位始终跟踪累加器A中1的数目的奇偶性。如果A中1的数目为奇数,则P置1,若A中1的数目为偶数或A=00H(没有1),则P清0。无论执行什么指令,只要A中1的数目改变,P就随之而变。以后在指令系统中,凡是累加器A的内容对P标志位的影响都不再赘述。
图2-2中的暂存器是用于暂存进入运算器之前的数据。下一页返回上一页2.1MCS-51单片机的内部结构2.1.3位(布尔)处理器MCS-51片内的CPU还是一个性能优异的位处理器,也就是说MCS-51实际上又含有一个完整的一位微型计算机。这个一位机有自己的CPU、位寄存器、位累加器、I/O接口和指令系统。它们组成了一个完整的、独立的而且功能很强的位处理单片机。可以完成位变量操作(布尔处理)、传送、测试转移、逻辑运算等。下一页返回上一页2.1MCS-51单片机的内部结构把8位微型计算机和1位微型计算机相互结合在一起是微型计算机技术上的一个突破。一位机在开关量决策、逻辑电路仿真和实时控制方面非常有效。而8位机在数据采集及处理、数值运算等方面有明显的长处。在MCS-51单片机中,8位微处理器和位处理器的硬件资源是复合在一起的,二者相辅相成。例如,8位CPU中程序状态字寄存器PSW的进/借位标志位CY,在位处理器中用作位累加器C使用;又如内部数据存储器的某些存储区既可以按字节寻址,也可以按位寻址。这正是MCS-51在设计上的精美之处,也是一般计算机所不具备的。下一页返回上一页2.1MCS-51单片机的内部结构2.1.4MCS-51的引脚定义及功能8051单片机芯片采用40引脚双列直插封装DIP(DoubleInlinePackage)方式,CHMOS的80C31/80C51除采用DIP封装方式外,还采用方型封装PLCC(PlasticLeadedChipCarrier)方式。如图2-3(a)所示为PLCC封装引脚排列图,如图2-3(b)所示为DIP封装引脚排列图,如图2-3(c)所示为逻辑符号图。MCS-51是高性能单片机,因为受到集成电路芯片引脚数目的限制,所以有许多引脚具有双功能。它们的功能简要说明如下。下一页返回上一页2.1MCS-51单片机的内部结构1.主电源引脚(1)Vcc:芯片电源端。工作电源和编程校验为+5V。(2)Vss:接地端。2.时钟振荡电路引脚XTAL1和XTAL2XTAL1、XTAL2:这两个引脚用来外接石英晶体振荡器,石英晶体振荡器产生的振荡信号送至内部时钟电路产生时钟脉冲信号。下一页返回上一页2.1MCS-51单片机的内部结构3.控制总线(1):ALE为地址锁存允许信号。在访问外部存储器时,ALE用来把扩展地址低8位锁存到外部锁存器。在不访问外部存储器时,ALE引脚以不变的频率(时钟振荡器频率的1/6)周期性地发出正脉冲信号,因而它又可用作外部定时或其他需要。但要注意,在遇到访问外部数据存储器时,会丢失一个ALE脉冲,ALE能驱动8个LSTTL负载。在8751单片机内部EPROM编程期间,此引脚接编程脉冲(功能)。下一页返回上一页2.1MCS-51单片机的内部结构(2)RST/VPD:RST为复位信号输入端。当RST引脚持续接人两个机器周期(24个时钟周期)以上的高电平时,使单片机完成复位操作。此引脚还可以接人备用电源。当主电源Vcc一旦发生断电(称掉电或失电),降到一定低电压值时,可由VPD向内部RAM提供电源,以保护片内RAM中的信息不丢失,使上电后能继续正常运行。(3):外部程序存储器ROM的选通信号。当从外部程序存储器取指令(或数据)期间,产生负脉冲作为外部ROM的选通信号。而在访问外部数据RAM或片内ROM时,不会产生有效的信号。可驱动8个LST-TL负载。下一页返回上一页2.1MCS-51单片机的内部结构(4):访问外部程序存储器控制信号。对8051和8071,当为高电平时,若访问的地址空间在0~4KB(0000H~0FFFH)范围内,CPU访问片内程序存储器;若访问的地址超出4KB时,CPU将自动执行外部程序存储器的程序,即访问片外程序存储器;当为低电平时,只能访问片外程序存储器。对于8031,必须接地,只能访问片外程序存储器。第二功能为对8751的EPROM编程期间,接+21V编程电源。下一页返回上一页2.1MCS-51单片机的内部结构4.输入/输出引脚(I/O)引脚)P0、P1、P2和P3口(1)P0口(P0.0~P0.7)是一个8位漏极开路的双向I/O口。第二功能是在访问外部存储器时,它分时作为低8位地址线和8位双向数据线。当P0口作为普通输入口使用时,应先向口锁存器写“1”。(2)P1口(P1.0~P1.7)是一个内部带上拉电阻的准双向I/O口。当P1口作为普通输入口使用时,应先向口锁存器写“1”。下一页返回上一页2.1MCS-51单片机的内部结构(3)P2口(P2.0~P2.7)也是一个内部带上拉电阻的8位准双向I/O口。第二功能是在访问外部存储器时,作为高8位地址线。(4)P3口(P3.0~P3.7)也是一个内部带上拉电阻的8位准双向I/0口。P3口除了作为一般准双向口使用外,每个引脚还有其第二功能,如表2-2所列。返回上一页2.2MCS-51单片机的存储器结构MCS-51单片机的存储器组织结构与一般微型计算机不同。一般微型计算机通常是程序和数据共用一个存储空间;而MCS-51单片机的存储器结构是,程序存储器和数据存储器的存储空间是分开的,有4个物理上相互独立的存储器空间,即片内、外程序存储器和片内、外数据存储器。下一页返回2.2MCS-51单片机的存储器结构但从用户的角度即逻辑上看,有三个存储空间:片内外统一编址的64KB的程序存储器地址空间(包括片内ROM和外部ROM);64KB的外部数据存储器地址空间;256B的片内数据存储地址空间(包括128B的内部RAM和特殊功能寄存器的地址空间)。在对这三个不同的存储空间进行数据传送时,必须分别采用三种不同形式的指令。图2-4表示了8051的存储地址空间结构。下一页返回上一页2.2MCS-51单片机的存储器结构2.2.1程序存储器程序存储器是用于存放程序及表格常数的。8051(或8751)片内驻留有4KB的ROM(或EPROM,外部可用16位地址线扩展到最大64KB的ROM空间。片内ROM和外部扩展ROM是统一编址的。当芯片引脚为高电平时,8051的程序计数器PC在0000H~0FFFH范围内(即前4KB地址),执行片内ROM中的程序。下一页返回上一页2.2MCS-51单片机的存储器结构当PC的内容在1000H~FFFFH范围(超过4KB地址)时,CPU自动转向外部ROM执行程序。如果EA为低电平(接地),则所有取指令操作均在外部程序存储器中进行,这时外部扩展的ROM可从0000H开始编址。对8031单片机,因片内无ROM,只能外部扩展程序存储器,并且从0000H开始编址,必须为低电平。读取程序存储器中的信息使用“MOVC”指令。在程序存储器中,有六个单元是分配给系统使用的,具有特定的含义。如表2-3所示。)下一页返回上一页2.2MCS-51单片机的存储器结构2.2.2数据存储器数据存储器是用于存放运算中间结果、数据暂存和数据缓冲,以及设置特征标志等。它由随机读写存储器RAM组成,8051数据存储器地址空间分为内部和外部两个独立部分。对于8051单片机,其片内有256B的数据存储器地址空间,可把它们的物理地址空间划分成四个用途不同的区域。低128B地址空间(OOH~7FH)为片内数据存储器区,高128B地址空间(80H~FFH)为特殊功能寄存器区SFR。下一页返回上一页2.2MCS-51单片机的存储器结构1.片内数据存储器低128单元片内RAM低128单元按用途可分为3个区域。1)工作寄存器区片内RAM中的OOH~1FH共32B单元为工作寄存器区,共分4组,每组有8个8位工作寄存器RO~R7。通过对特殊功能寄存器程序状态字PSW的位3和位4(RS0、RS1)的设置,可决定当前程序使用哪一组工作寄存器。CPU复位后,总是选中0组工作寄存器。如果实际应用中并不需要4组工作寄存器,那么剩下的工作寄存器组所对应的单元可作为一般的数据缓冲器使用。下一页返回上一页2.2MCS-51单片机的存储器结构2)位寻址区片内RAM的20H~2FH为可位寻址区域,这16B的每一位都有一个位地址,共有128位,其位地址为00H~7FH,可由程序对它们直接进行清零、置位、取反和测试等操作。同样,位寻址区的RAM单元也可按字节寻址,作为一般的数据缓冲器使用。下一页返回上一页2.2MCS-51单片机的存储器结构3)数据缓冲区和堆栈区片内RAM的30H~7FH共有80B,作为数据缓冲区和堆栈区使用。在程序中往往需要一个后进先出(LIFO)的RAM区域,用于调用子程序响应中断时的现场保护,这种LIFO的缓冲区称为堆栈。堆栈原则上可以设在内部RAM的任意区域,但由于00H~1FH为工作寄存器区,20H~2FH为位寻址区,所以堆栈一般设在30H~7FH的范围之内,这个区域只能字节寻址。如图2-5所示为内部RAM地址空间分布图。下一页返回上一页2.2MCS-51单片机的存储器结构片内RAM的各个单元,都可以通过直接给出的字节地址来寻找。如果要寻找内部RAM中的可位寻址区的各个位(bit),必须在位操作指令中用位地址来寻找。对于工作寄存器中的当前工作寄存器,一般都直接用符号名R0~R7。下一页返回上一页2.2MCS-51单片机的存储器结构2.特殊功能寄存器(SFR)MCS-51单片机内部的I/O口锁存器、串行口数据缓冲器、定时器/计数器以及各种控制寄存器和状态寄存器统称为特殊功能寄存器,简记为SFR(SpecialFunctionRegisters),8051片内能够被用户使用的SFR实际上仅有21B,离散地分布在内部数据存储区高128B中80H~FFH地址空间内,特殊功能寄存器地址分配表,如表2-3所列。下一页返回上一页2.2MCS-51单片机的存储器结构80H~FFH地址空间的很多单元是没有定义的,用户不能使用它。如果对这些未定义的单元进行读/写操作,将会发现读出的数据不定,欲写入的数据会被丢失。每一个SFR都会有字节地址,并定义了符号名。其中有11个SFR具有位地址(可位寻址),对应的位也定义了位名。由表2-4可知,凡是字节地址能被8整除的SFR都具有位地址,在SFR中共有83位可以位寻址。用户在使用特殊功能寄存器时,可以用直接地址,例如,累加器A的地址E0H,也可以用其符号名ACC,而在指令助记符中常用A表示。显然,后者明了、方便。下一页返回上一页2.2MCS-51单片机的存储器结构对于具有位地址的SFR,在表示其某一位时,可以用位地址,也可以用位定义名,或者用“寄存器名.位”的形式表示。例如:D3H(位地址)RSO(位定义名)PSW.3(寄存器.位)都表示程序状态寄存器PSW中的D3位。下一页返回上一页2.2MCS-51单片机的存储器结构除了前面介绍过的特殊功能寄存器累加器ACC、数据地址指针DPTR和程序状态寄存器PSW外,下面再介绍部分SFR,其余将在后续帝节中叙述。1)B寄存器B寄存器主要用于乘法和除法操作。对于其他指令,B寄存器可作为一个通用寄存器,用于暂存数据。下一页返回上一页2.2MCS-51单片机的存储器结构2)堆栈指针SP堆栈指针SP是一个8位的SFR。它总是指向栈顶,单片机复位后SP初始值自动设为07H051单片机的堆栈通常设在片内RAM的30H~7FH这一地址空间内。堆栈操作遵循先进后出(FILO)的原则,人栈操作时,SP先加1,数据再压入SP指向的单元。出栈操作时,先将SP指向单元的数据弹出,然后SP再减1,这时SP指向的单元是新的栈顶。由此可见,51单片机的堆栈区是向地址增大的方向生长的。下一页返回上一页2.2MCS-51单片机的存储器结构3)I/O端口锁存器PO~P34个特殊功能寄存器PO、P1、P2、和P3,分别是4个I/O端口P0、Pl、P2、和P3口对应的锁存器。下一页返回上一页2.2MCS-51单片机的存储器结构3.片外数据存储器片外数据存储器地址空间为64KB(0000H~FFFFH),在应用系统中,如果数据缓冲器需要量比较大,内部RAM不能满足要求,那么就可以外接RAM芯片来扩展数据存储器的容量,最大可达64KB。另外当系统需要扩展I/O接口时,I/0接口地址空间就要占用一部分外部数据存储器地址空间。内部RAM及特殊功能寄存器各存储单元之间的数据传送用“MOV”指令,访问外部RAM或扩展I/O接口用“MOVX”指令。返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口MCS-51单片机有四个八位双向输入/输出接口(也可称为I/O端口或I/0口)P0、Pl、P2、P3,共犯根I/O线,其每个接口的每一位都有着相同的结构,包括输出锁存器、输入缓冲器和输出驱动器。为方便起见,我们把4个接口和其中的锁存器(即专用寄存器)都笼统地表示为P0~P3。下一页返回2.3MCS-51单片机的并行输入/输出(I/O)接口在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高8位地址由P2口传送。在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的I/O口使用。MCS-51单片机4个I/O口线路设计得非常巧妙,学习I/O口的逻辑电路,不但有利于正确合理地使用端口,而且对设计单片机外围逻辑电路也有很大的帮助。下一页返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口2.3.1P0口P0口某位结构,如图2-6所示。P0口由一个输出锁存器、两个三态输入缓冲器、一个输出驱动电路和一个输出控制电路组成。输出驱动电路由一对场效应管组成,其工作状态受输出控制电路的控制,后者包括:一个与门,一个反相器和一路模拟转换开关(MUX)。下一页返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口模拟转换开关的位置由来自CPU的控制信号决定,当控制信号为0(低电平)时,开关处于图示位置,它把输出驱动电路的下拉场效应管V2与锁存器的反相端Q接通,同时,因与门输出为0,输出驱动电路中的上拉场效应管V1处于截止状态,因此输出级是漏极开路的开漏电路。此时PO可作一般的I/O口用。CPU向端口输出数据时,写脉冲加在锁存器时钟端CP上,这样与内部总线相连的D端的数据经锁存器取反后又经输出场效应管反相,在P0脚上出现的数据正好是内部总线的数据。下一页返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口端口中的两个三态输入缓冲器用于读操作,一个缓冲器用于直接读端口引脚处的数据,当执行由端口输入的指令时,读脉冲把图2-6中下面一个三态缓冲器打开,端口上的数据将经过缓冲器输送至内部总线。但上面一个缓冲器并不直接读取端口引脚上的数据,而是读取锁存器Q端的数据,Q端与引脚上的数据是一致的。下一页返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口从图2-6的结构看,引脚上的外端信号既加在三态缓冲器的输入端上,又加在输出场效应管的漏极上,若此场效应管是导通的,则引脚上的电位始终在0电平上,输入数据不可能正确地读入,所以,在作为一般I/O口使用时,P0口是一个准双向口,在输入数据时,应先把口置“1",使输出级的两个场效应管皆截止,引脚处于悬浮状态,呈现高阻抗,以便输入的数据在“读引脚”信号的控制下正确地输入。下一页返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口当PO口作为地址/数据总线使用时,可分为两种情况,一种是从PO输出地址或数据,此时控制信号应为高电平1,转换开关把地址/数据信号输入所用的反相器输出端与下拉场效应管V2接通,同时与门开锁。输出的地址或数据信号既通过与门去驱动上拉场应管,又通过反相器去驱动下拉场应管。另一种是从PO输入数据,此时信号仍从输入缓冲器进入内部总线。下一页返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口2.3.2P1口P1口是一个准双向口,作通用I/O口使用,在输出驱动器部分有别于P0口,接有内部上拉电阻。P1口某位结构图,如图2-7所示。在用作输入方式时,也必须首先将口锁存器置1,关断作输出驱动器的场效应管,使口内部的上拉电阻将相应引脚上拉成高电平,然后再进行输入操作。下一页返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口2.3.3P2口P2口的位结构图,如图2-8所示,它与P1口一样也接有内部上拉电阻,在内部结构上,P2比P1口多了一个输出转换控制部分,当转换开关(MUX)倒向左面时,P2口作为通用的I/O口使用,是一个标准双向口。当系统中接有外部存储器时,P2口可用于输出高8位的地址,转换开关在CPU的控制下倒向右边。由于访问外部存储器的操作连续不断,P2口不断输出高8位地址,此时P2口不可能再作为通用I/O口使用了。下一页返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口2.3.4P3口P3口是一个多用途的端口,P3口某位结构如图2-9所示,当它作为通用I/0口使用时,工作原理与P1和P2口类似,但第二输出功能端应保持高电平,使与非门对锁存器输出端Q是畅通的。除了作为通用I/O口使用外,P3口的各位还具有第二个专用功能,当某一位实现第二专用功能时,该端口的锁存器应置1,使与非门第二输出功能是畅通的,或使此端口允许输入专用信号。不管是作为通用输入口还是作为专用输入口,相应的输出锁存器和第二输出功能端都应置1。下一页返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口2.3.5并行I/O接口的应用要求由于MCS-51单片机并行I/O接口PO~P3在结构上的不同,因此在使用时应注意它们的应用要求。(1)P0口的每一位输出可驱动8个LSTTL负载,P1~P3口的每一位输出可以马驱动3个LSTTL负载。下一页返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口(2)P0口既可作通用I/O口使用,也可作为地址/数据总线使用。当把它作为通用I/O口使用时,由于输出级是开漏电路,所以需要外接上拉电阻才能保证有高电平输出。当作为地址/数据总线使用时,无需外接上拉电阻,但此时不能再作为通用I/O口使用。P1~P3口可作通用I/O口使用。在作为输入口使用时,它们的输入端都可以被集电极开路或漏极开路电路所驱动,而无需再外接上拉电阻。在作为输出口使用时由于CHMOS端口只能提供几毫安的输出电流,因此去驱动一个普通晶体管基极时,应在端口与晶体管基极间串接一个电阻,以限制高电平输出的电流。下一页返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口(3)P0~P3口都是准双向I/O口,在作为输入口使用时,必须先向相应端口的锁存器写入“1",使下拉场效应管截止,以保证数据输入的正确性。最后还要强调的是:(1)P0口:在扩展外部程序存储器和数据存储器的情况下,P0口不能作I/0口使用。此时P0口要作为低8位地址总线和8位数据总线使用,它先作为地址总线对外传送8位地址信息,然后再作为数据总线对外交换数据。下一页返回上一页2.3MCS-51单片机的并行输入/输出(I/O)接口(2)P1口:只有I/O口功能,在任何情况下,P1口都可作为I/O口使用。(3)P2口:在扩展外部存储器时,要作为高8位地址总线使用。(4)P3口:它的每个引脚都有不同的第二功能,当其某引脚按第二功能使用时,P3口就不能再作为8位I/O口使用了。返回上一页2.4MCS-51单片机应用系统的构成2.4.1振荡电路和时钟电路MCS-51片内有一个高增益反相放大器,其输入端(XTAL1)和输出端(XTAL2)用于外接石英晶体振荡器和微调电容,构成振荡器,如图2-10(a)所示。电容C1和C2对频率有微调作用,电容容量的选择范围为5PF~30PF。在设计印刷电路时,晶振和电容应尽量安装在单片机附近,以减少寄生电容。为提高温度稳定性,应采用NPO电容。振荡频率的选择范围为1.2MHz~12MHz。下一页返回2.4MCS-51单片机应用系统的构成在使用外部时钟时,8051的XTAL2用来输入外时钟信号,而XTAL1则接地,如图2-10(b)所示;对于CHMOS型8051单片机,外部时钟信号必须从XTAL1输入,而XTAL2悬空,如图2-10(c)所示。下一页返回上一页2.4MCS-51单片机应用系统的构成2.4.2CPU时序1.振荡周期、时钟周期、机器周期、指令周期为了便于分析CPU的时序,下面介绍几种周期信号。(1)振荡周期。振荡周期指为单片机提供定时信号的振荡源的周期。(2)时钟周期。时钟周期又称为状态周期或状态时间S,是振荡周期的两倍,它分成P1节拍和P2节拍,P1节拍通常完成算术逻辑操作,而内部寄存器间传送通常在P2节拍完成。下一页返回上一页2.4MCS-51单片机应用系统的构成(3)机器周期。若把一条指令的执行过程划分为几个基本操作,则完成一个基本操作所需的时间称为机器周期。一个机器周期由6个状态周期(12个振荡脉冲)组成,分为6个状态:S1~S6。每个状态又分为2拍:P1和P2。因此,一个机器周期中的12个振荡周期表示为S1P1、S1P2、……、S6P1、S6P2。(4)指令周期。指令周期指执行一条指令所占用的全部时间,通常由1~4个机器周期组成。下一页返回上一页2.4MCS-51单片机应用系统的构成若外接晶振为6MHz振荡周期=1/6μs时钟周期=1/3μs机器周期=2μs指令周期=2~8μs若外接晶振为12MHz:振荡周期=1/12μs时钟周期=1/6μs机器周期=1μs指令周期=1~4μs各种周期之间的关系如图2-11所示。下一页返回上一页2.4MCS-51单片机应用系统的构成2.CPU时序在MCS-51指令系统中,有单字节指令、双字节指令和三字节指令。每条指令的执行时间分别占用1个或几个机器周期。单字节指令和双字节指令都可能是单周期和双周期,而三字节指令都是双周期,只有乘除法指令占用四个机器周期。下一页返回上一页2.4MCS-51单片机应用系统的构成每一条指令的执行都可以包括取指和执行两个阶段。图2-12列举了几种典型指令的取指和执行时序。在取指阶段,CPU从程序存储器ROM中取出指令操作码及操作数,然后才是执行这条指令的逻辑功能。对于绝大部分指令,在整个指令执行过程中,ALE是周期性的信号。在每个机器周期中,ALE信号出现两次:第一次在S1P2和S2P1期间,第二次在S4P2和S5P1期间。ALE信号的有效宽度为1个S状态。每出现一次ALE信号,CPU就进行一次取指操作。下一页返回上一页2.4MCS-51单片机应用系统的构成对于单周期指令,从S1P2开始把指令操作码读到指令寄存器。如果是双字节指令,则在同一个机器周期的S4读入第二字节。对单字节指令,在S4仍有一次读指令码的操作,但读入的内容(它应是下一个指令码)被忽略(不作处理),并且程序计数器PC不加1,这种无效的读取称为假读。在下一个机器周期的S1才真正读取此指令码。图2-12(a)和图2-12(b)给出了这两种指令的时序。它们都能在S6P2结束时完成。下一页返回上一页2.4MCS-51单片机应用系统的构成对于单字节双周期指令,2个机器周期内进行4次读取操作码操作,但后3次都是假读。如图2-12(c)所示。访问外部RAM的指令(MOVX),也是单字节双周期指令。在第一机器周期S5开始送出外部RAM地址后,进行读/写RAM操作。在此期间无ALE信号,所以第二周期不产生取指操作。如图2-12(d)所示。这种情况下,ALE信号不是周期性的。下一页返回上一页2.4MCS-51单片机应用系统的构成2.4.3复位电路在MCS-51的引脚定义及功能一节中讲到:RST为复位信号输入端,当RST引脚持续两个机器周期(24个时钟周期)以上的高电平时,使单片机完成复位操作。复位后,片内各寄存器的状态,如表2-5所列。下一页返回上一页2.4MCS-51单片机应用系统的构成1.复位电路MCS-51系统刚通电(上电)后,必须复位。由于复位后,PC=0000H,指向了程序存储器00000H地址单元,使CPU从首地址0000H单元开始执行程序。复位不影响内部RAM中的数据。此外,在系统工作异常等特殊情况下,也可以人工使系统复位。复位是由外部复位电路来实现的,按功能可以分为上电自动复位方式和人工复位两种方式。复位电路如图2-13所示。下一页返回上一页2.4MCS-51单片机应用系统的构成在图2-13(a)中,当振荡频率=12MHz时,典型值C=10μF,R=8.2;当振荡频率=6MHz时,典型值C=20μF,R=1。在图2-13(b)中,当振荡频率=6MHz时,典型值C=20μF,R1=1,R2=0.2。下一页返回上一页2.4MCS-51单片机应用系统的构成2.系统复位在实际的单片机应用系统设计中,若有外部扩展的I/O接口电路与CPU一样需要复位。这时就需要一个系统的同步复位信号。系统复位的方式有多种,可以采用如图2-14所示的两种较为简单易行的系统复位方式。图2-14(a)是采用施密特触发器整形后加在单片机复位端的复位电路;图2-14(b)是采用分离器件的复位电路,此电路需要分别调整RC参数保证CPU与外部电路的同步复位。下一页返回上一页2.4MCS-51单片机应用系统的构成2.4.4CHMOS型单片机低功耗工作方式CHMOS型的MCS-51单片机具有低功耗和节电的特点,该类型的单片机提供了两种节电工作方式:待机方式和掉电保护方式。这两种工作方式特别适合以电池为工作电源和停电时使用备用电源供电的应用场合。下一页返回上一页2.4MCS-51单片机应用系统的构成1.待机方式待机方式的进入方法非常简单,只需使用指令将PCON寄存器的IDL位置1即可。单片机进入待机方式时振荡器仍然运行,而且时钟被送往中断逻辑、串行口和定时器/计数器,但不向CPU提供时钟,因此在此方式下CPU是不工作的。CPU的现场(堆栈指针SP、程序计数器PC、PSW、ACC)以及除与上述三部件有关寄存器外,其余通用寄存器都保持原有状态不变,各引脚保持进入待机方式时的状态,ALE和保持高电平,中断的功能还继续存在。下一页返回上一页2.4MCS-51单片机应用系统的构成退出待机方式的方法有两种:中断和硬件复位。待机方式下,产生任何一个中断请求信号后,在单片机响应中断的同时,PCON.0位(即IDL位)被硬件自动清0,单片机退出待机方式进入到正常的工作状态。另一种退出待机方式的方法是硬件复位,在RST引脚引入两个机器周期的高电平即可,复位后的状态如前述。下一页返回上一页2.4MCS-51单片机应用系统的构成2.掉电保护方式掉电保护方式的进入类似于待机方式的进入,只需使用指令将PCON寄存器的PD位置1即可。进入掉电保护方式,单片机的一切工作全部停止,只有内部的RAM单元的内容被保存。I/O引脚状态和相关的特殊功能寄存器的内容相对应,ALE和为逻辑低电平。退出掉电保护方式的方法只有一个:硬件复位。复位后特殊功能寄存器的内容被初始化,但RAM的内容仍然保持不变。下一页返
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无人机资格证综合提升测试卷必考题附答案详解
- A类岗位综合能力测试试题及详细答案解析
- Android高级工程师面试题(含详细实战答案)
- 田径运动概述上海体育学院
- 2026年四川省公务员考试行测真题及答案解析
- 2026年特种设备安全管理员试题及答案
- 2026年烟草栽培学试题及答案
- 2026年中级通信工程师真题及答案
- 2026秋季中国工商银行软件开发中心校园招聘备考题库含答案详解
- 班组岗位安全培训考试题及答案
- 4输变电工程施工质量验收统一表式(电缆工程电气专业)-2024年版
- DB14-T 3457-2025 煤炭洗选企业智能浓缩建设技术规范
- 华为云计算面试题及答案
- 养老院消防安全管理职责
- 授权运营的协议书(2篇)
- 2024年新人教版英语3年级上册 U3 B learn 教学课件
- 梁启超中学以上作文教学法
- 海口110kV沙坡输变电新建工程 环评报告
- 疼痛科护士镇痛模式的个体化选择与应用
- 人卫慕课《走进肺功能》试题答案
- 执业兽医机构聘用证明或服务协议
评论
0/150
提交评论