版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目1认识单片机单片机在哪里?2项目1认识单片机3输入设备(箭头指向单片机):加、减按钮输出设备(箭头指向设备):4个指示灯、电磁线圈的驱动电路项目1认识单片机4单片机就好像核心控制者,统管着液晶屏、USB口、存储器、DAC及驱动电路、按钮等外部设备,并有序地在这些设备中传递、交换数据或信号。项目1认识单片机5单片机还隐藏在我们日常生活的许多电子产品中,如鼠标、遥控器、洗衣机、机器人等。综观这些电子产品都有一个特点,它们都有输入或输出设备。比如鼠标的按键、遥控器的按键等是输入设备;洗衣机的电机、机器人的执行机构是输出设备。形形色色的输入设备和输出设备都在单片机的控制下协调工作。项目1认识单片机1.1单片机基本概念
单片机的全称是“单片微型计算机”(SingleChipMicrocomputer),又称为单芯片微控制器(MicroControllerUint,MCU)。它将CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)、定时/计数器等最基本的部件集中在一片芯片上,构成一个最小的计算机系统。项目1认识单片机1.1.2单片机的发展
单片机发展十分迅速,它的产生和发展和微处理器的产生与发展大体同步,大致可以发分为4个阶段和3个发展历程(单片微型计算机SCM、微控制器MCU、片上系统SOC)。1.第一阶段(1971-1976):单片机的探索阶段。2.第二阶段(1976-1980):单片机的诞生阶段。3.第三阶段(1980-1990):单片机的完善阶段。4.第四阶段(1990-至今):单片机的巩固和发展阶段。尽管单片机的技术进步很快,但是8位单片机并没有消失,尤其是以8051为内核的8位机,现在应用还是最多的,世界上8位机的产量差不多占整个单片机产量的60%以上。
项目1认识单片机1.1.3单片机的种类1.Intel单片机1980年由Intel(英特尔)公司首先研制出来Intel8051单片机,并应用于嵌入式系统中。在20世纪80年代和90年代早期,Intel公司的Intel8051单片机风靡一时.AT89S51型单片机(8051兼容型单片机),呈现出集成电路特有的外观,两侧有整齐排列的金属管脚,尺寸为52mm(长)×15mm(宽)。项目1认识单片机2.PIC单片机PIC单片机的低功耗、广泛用途使其成为产品设计和爱好者首选的控制器,PIC单片机家族的单片机在汽车电子、以太网、家电、机电一体化、USB、仪器仪表等产品中有着非常广泛的应用。项目1认识单片机3.AVR单片机AVR是单片机设计及体系结构中的新生儿,它由Atmel公司于1996研制出来。目前AVR有UC3、XMEGA、megaAVR、tinyAVR等几大系列过百种型号的单片机可供设计时选择。项目1认识单片机其他单片机:4.Motorola单片机5.Philips单片机6.STC单片机项目1认识单片机公司系列型号片内ROM片内RAMI/O口定时/计数器IntelMCS-518031无128B8位16位80514KB/ROM87514KB/EPROM8032无256B16位80538KB/ROM87538KB/EPROMIntel80C5180C51GB无256B8位16位83C51GB8KB/ROM87C51GB8KB/EPROMPhilips89C5280C552无256B8位16位83C5528KB/ROM87C5528KB/EPROMAtmel89C514KB/E2PROM128B8位16位256BMotorola68HC68HC05C4-16KB/ROM176B/352B31位16位68HC705C88KB/EPROM304B31位16位68HC11A88KB/ROM256B38位16位STC89C51RC89C51RC4KB/E2PROM512B8位16位89C52RC512B表1-1常用的8位单片机项目1认识单片机1.2.1单片机的应用系统1.前向通道接口电路2.后向通道接口电路3.人机交互通道接口电路4.串行通信通道接口电路项目1认识单片机1.2.2单片机的应用领域1.智能化家用电。2.办公自动化设备。3.商业营销设备。4.工业自动化控制。5.智能化仪器仪表。6.汽车电子产品。7.武器装备。项目1认识单片机1.3单片机应用开发工具图1-4编程器TOP2007编程器是用来将用户编好的程序烧写(固化、烧入)到单片机ROM内的一个设备。用集成开发系统软件(如KeilC51)编写并生成单片机目标代码(HEX文件)后,需要用编程器将目标代码烧写到单片机中。编程器是一个硬件设备,上面有单片机插座及与计算机的连线等。如图1-4所示为TOP2007编程器的实物图。1.编程器项目1认识单片机2.仿真器图1-5Star51仿真器单片机仿真器又称为单片机硬件仿真器,型号很多。用户通过仿真器以及配套的计算机软件,可以对编写好的程序进行调试。一般仿真器都具有设置断点运行、单步运行、查看RAM数据、查看各特殊功能寄存器状态等功能,可方便用户查找程序中存在的问题,加快开发的速度。如图1-5所示为Star51实时仿真器的实物图。项目1认识单片机1.3.2单片机教学实验装置图1-6ME830实验仪项目1认识单片机单片机软件开发与仿真工具1.KeilµVision软件及其使用
KeilµVision是Keil公司开发的用于嵌入式系统程序设计与仿真的软件,它支持包括51在内的许多主流单片机程序的开发,简称Keil,它集成了工程管理、源程序编辑、MAKE工具(汇编/编译、链接)、程序调试和仿真等功能;支持汇编、C语言等程序设计语言,易学易用,是众多单片机应用开发软件中的优秀软件。2.Proteus软件及其简单使用
Proteus是英国Labcenterelectronics公司开发的EDA工具软件,除了能对模拟、数字电路进行设计、仿真外,还可以对嵌入式系统(如单片机系统)进行软硬件协同设计和仿真,集强大的功能和简易的操作于一体,是世界上最先进的单片机设计和仿真平台。项目1认识单片机实例:点亮一个发光二极管硬件电路设计项目1认识单片机所需元件清单元件名称元件标号元件标称值Protues中的名称单片机U1AT89C51AT89C51晶振X112MHzCRYSTAL电容C1、C230pFCAP电解电容C322uFCAP-ELEC电阻R11KΩRES电阻R2200ΩRES开关KBUTTON电阻R300ΩRES发光二极管D1LED-RED项目1认识单片机一个普通二极管被点亮的条件电源VCC、地GND、电阻R,发光二极管D1,构成一个回路。要想让图中发光二极管正常,则电路中电流不得小于3mA,最大不能超过20mA,发光管导通压降1.5V左右(具体发光二极管的导通电压要看发光二极管的产品资料),计算电阻值R1为:,在本电路中R1取值300。项目1认识单片机
加载源程序。
采用KeilµVision软件建立工程文件、保存文件、添加文件。保存文件时,注意后缀是.ASM。源程序分号后面的位程序注释,输入时可以省略。源程序:
ORG0000HAJMP0030HORG0030HMAIN:CLRP2.0;将P2.0清零
END练习:通过P2口连接8各二极管并点亮。项目1认识单片机演讲完毕项目2单片机硬件系统教学目标通过学习单片机硬件系统的学习,要求学生从应用的角度熟练掌握MCS-51系列单片机的硬件结构,为后面的设计打下基础。主要包括MCS-51单片机的的基本结构、存储器的结构、4个并行I/O端口、时钟电路、复位电路以及最小系统等。项目2单片机硬件系统2.1单片机的基本结构2.1.18051单片机的基本结构
MCS-51单片机的内部包括:CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线和中断系统等。其基本结构框图如图2-3所示。MCS-51系列单片机内部各个部件都是通过内部总线连接,其基本结构采用CPU加外围芯片的结构模式,但在功能单元控制上采用特殊功能寄存器集中控制的算法,便于用户编程。项目2单片机硬件系统图2-38051单片机的内部结构项目2单片机硬件系统2.1.28051单片机的引脚及其功能图2-4MCS-51芯片40引脚(DIP型)图2-5MCS-51芯片44引脚(PLCC型)项目2单片机硬件系统2.2单片机的内部结构2.2.1单片机的内部结构项目2单片机硬件系统1.指令的执行过程1)取指令2)指令译码3)指令执行项目2单片机硬件系统2.8051的微处理器
作为8051单片机核心部分是微处理器,是一个8位的高性能中央处理器(CPU),它的性能好坏直接影响到单片机的整体性能。在单片机中,CPU的作用就相当于人的大脑,主要由运算器、控制器(时序控制逻辑电路)、布尔处理器等组成。
1)运算器运算器用于进行算术运算和逻辑运算。它包括一个8位算术逻辑运算单元ALU、一个8位累加器A、一个8位寄存器B、一个程序状态字寄存器PSW、一个布尔处理器、两个8位暂存寄存器TMP1和TMP2等。累加器ACC(Accumulator)又记作A,是一个8位的寄存器程序状态字PSW(ProgramStatusWord)是一个8位的寄存器,用于存放程序运行的状态信息以及运算结果的标志,所以又称标志寄存器。项目2单片机硬件系统2)控制器
控制器是单片机的指挥控制部件,是由程序计数器PC、数据指针DPTR、堆栈指针SP、指令寄存器IR、指令译码器ID、中断控制、串行口控制及定时与控制电路等组成的。下面介绍控制器的各个组成部分。程序计数器(PC——ProgramCounter)PC是一个16位的寄存器,PC中的内容是下一条将要执行的指令代码的起始存放地址,寻址范围为64KB。数据指针(DPTR)为16位特殊功能寄存器,它是MCS-51单片机中惟一的16位寄存器。编程时,DPTR既可以按16位寄存器使用,也可以按两个8位寄存器分开使用。项目2单片机硬件系统
堆栈指针SP(StackPointer)是一个8位的寄存器,能都自动加1减1,用来存放堆栈的栈顶地址。它指示堆栈顶部在内部RAM中的位置。系统复位后,SP的初始值为07H,使得堆栈实际上是从08H开始的。当执行子程序调用或中断服务程序时,需要将下一条要执行的指令地址即PC值压入堆栈保存起来,当子程序或中断返回时,再将SP指向单元的内容回送到程序计数器PC中。指令寄存器IR(InstructionRegister)的功能是存放指令代码,CPU执行指令时,由程序存储器中读取指令代码送入指令寄存器,经译码器译码后,由定时与控制部分发出相应的控制信号,以完成指令功能。中断控制电路主要包括用于中断控制的四个寄存器:定时器控制寄存器(TCON),串行口控制寄存器(SCON),中断允许控制器(IE),中断优先级控制寄存器(IP)等。中断是指CPU暂停执行原来的程序,转而为外部设备服务(即执行中断服务程序),并在完成中断服务程序后回到原来程序处继续执行的过程,是单片机应用系统的一个重要功能。串行口控制电路主要包括串行控制寄存器SCON、串行缓冲寄存器SBUF等,定时器在8051单片机中有着非常重要的作用,在定时器控制寄存器TCON和定时器方式选择寄存器TMOD等的控制下,即可以作为定时器用于对被控系统进行定时控制,也可以作为计数器用于产生各种不同频率的方波及用于事故记录、测量脉宽等。项目2单片机硬件系统2.2.2单片机时钟与时序
单片机的工作过程是:取一条指令、译码、进行微操作,再取一条指令、译码、进行微操作,这样自动地、一步一步地由微操作依序完成相应指令规定的功能。各指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序。单片机的时钟信号用来为单片机芯片内部的各种微操作提供时间基准。1.时钟产生方式时钟信号的产生有两种方式:一个内部时钟方式,二是外部时钟方式。项目2单片机硬件系统1)内部时钟方式
8051片内设有一个由反相放大器所构成的振荡电路,只要在单片机的XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路,为了减小寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容安装时应尽可能靠近单片机引脚XTALl和XTAL2,电路如图2-7所示。其石英晶体频率范围是1.2~12MHz,典型值为6MHZ和12MHz,如选择12MHz晶振,则fsoc=12MHz。电容C1和C2取值在5-30pF之间选择,常用30pF,电容的大小可起频率微调作用。图2-7内部时钟方式项目2单片机硬件系统2)外部时钟方式外部时钟方式是把外部已有的时钟信号引入到单片机内,常用于多单片机组成的系统中,以便于各个单片机时钟信号之间的同步。这种方式对外部振荡信号无特殊要求:外部脉冲信号高低电平的持续时间大于20ns,频率低于12MHz的方波信号。对于8051单片机,使用时需将XTAL1接地,XTAL2接外部振荡器即可。因为XTAL2的逻辑电平与TTL电平不兼容,所以应接一个上拉电阻(5.1KΩ),见图2-8(a)。对于采用的CHMOS工艺的单片机,如80C51等,外部引脚必须从XTAL1端引入,而XTAL2端应悬空,见图2-8(b)。
(a)8051外时钟接法(b)80C51外时钟接法项目2单片机硬件系统2.单片机的时钟信号通常可以把CPU发出的时序信号分为两种,一种是用于片内各部件的控制;另一种是用于对片外存储器或I/O口的控制。CPU在执行指令时所需控制信号的时间顺序称为时序。晶振周期是单片机中最基本的、最小的时间单位。如图2-9所示。图2-9单片机的时钟信号项目2单片机硬件系统
晶振信号12分频后形成机器周期,也是单片机完成一个最基本操作所用的时间。一个机器周期包含12个晶振周期或6个时钟周期,即有6个状态,分别表示为S1~S6。因此,一个机器周期的12个振荡脉冲可以依次表示为S1P1,S1P2……,S6P1,S6P2。通常算术逻辑操作在P1时相进行,而内部寄存器传送在P2时相进行。执行一条指令所需要的时间称为指令周期。它是时序中的最大单位。一个指令周期通常含有1~4个机器周期。指令所包含的机器周期数决定了指令的运算速度,机器周期数越少的指令,其执行速度越快。以机器周期为单位,指令可分为单周期、双周期和四周期指令,只有乘、除运算为四周期指令。综上,晶振周期、时钟周期、机器周期和指令周期均是单片机时序单位,一个机器周期=6个时钟周期=12晶振周期。晶振周期和机器周期是单片机内计算波特率及定时器定时时间的基本时序单位,若晶振为6MHz,则一个机器周期为2μs,若晶振为12MHz,则一个机器周期为1μs。项目2单片机硬件系统3.指令执行时序
CPU在执行指令时,都是按照一定顺序进行的,由于指令的字节数不同,取指所需时间也就不同,即使是字节数相同的指令,执行操作也会有很大差别,任何一条指令的执行都可以分为取指和执行两个阶段。在取指阶段,CPU从程序存储器ROM中取出指令操作码,送指令寄存器,再经指令译码器进行译码,产生一系列控制信号来执行本条指令规定的操作。从指令的字长来分类,可分为单字节指令、双字节指令和三字节指令。从指令执行所需机器周期来分类,可分为单周期指令、双周期指令、四周期指令。项目2单片机硬件系统2.2.3单片机的复位系统开始运行和重新启动靠复位电路来实现,这种工作方式为复位方式。单片机在开机时都需要复位,以便CPU及其他功能部件都处于一种确定的初始状态,并从这个状态开始工作。1.复位电路
8051单片机在RST引脚产生两个机器周期(即24个时钟周期)以上的高电平即可实现复位(如果RST引脚持续保持高电平,单片机就处于循环复位的状态)。在实际应用中,单片机的复位操作有两种基本形式:一种是上电复位;另外一种是按键与上电复位均有效的复位电路。项目2单片机硬件系统1)上电复位电路。最简单的上电复位电路由电容和电阻串联构成,如图2-11所示。
上电瞬间,由于电容两端电压不能突变,RST引脚电压端为VR1为VCC,随着对电容的充电,RST引脚的电压呈指数规律下降,到t1时刻,VR1降为3.6V,随着对电容充电的进行,VR1最后将接近0V。RST引脚的电压变化如图2-12所示。为了确保单片机复位,t1必须大于两个机器周期的时间,机器周期取决于单片机系统采用的晶振频率,图2-11中,R1不能取得太小,t1与RC电路的时间常数有关,由晶振频率和R1可以算出C3的取值。一般情况下,在晶振为6MHz时,R1取值1kΩ,C3取值22F;晶振为12MHz时,R1取值8.2kΩ,C3取值10F。图2-11上电复位电路图2-12复位端电压-时间关系图2-13按键复位电路项目2单片机硬件系统2.复位后的状态单片机的复位操作使单片机进入初始化状态。初始化后,PC=0000H,CPU从程序存储器的0000H开始取指执行。并且单片机启动后,RAM为随机值,并且运行中的复位操作也不改变编内RAM的内容。复位后,单片机特殊功能寄存器的状态是确定的,内部各特殊功能寄存器(SFR)的值如表2-4所示。表2-4复位后特殊功能寄存器SFR的初始状态SFR名称初始状态SFR名称初始状态ACC00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0~P3FFHSBUF不确定IP***00000BSCON00HIE0**00000BPCON0***0000B项目2单片机硬件系统2.2.4单片机的最小系统如果仅仅给单片机的VCC和GND之间供+5V的工作电源它是不会工作的,因为它还需要几个元器件共同构成一个最小系统。单片机的最小系统让单片机具备运行的条件,在这个基础上单片机才能控制各种外部设备,实现各种各样的功能。所以单片机最小系统就是指用最少的元件组成的单片机可以工作的系统。下面简单介绍两种类型芯片构成的最小系统。
1.8051/8751最小系统对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。8051/8751是片内有ROM/EPROM的单片机,因此,用这种芯片构成的最小应用系统结构简单,工作可靠,如图2-14所示。图2-148051单片机最小系统项目2单片机硬件系统2.3存储器结构
计算机的存储器结构有两种:一种称为哈佛结构,即程序存储器和数据存储器分开,相互独立;另一种结构称为普林斯顿结构,即程序存储器和数据存储器是统一的,地址空间统一编址。在单片机系统中,存放程序的存储器称为程序存储器,类似与通用计算机系统中的ROM,只能进行读操作;而存放数据的存储器称为数据存储器,相当于通用计算机系统中的RAM。与通用计算机系统不同,单片机中的程序存储器和数据存储器都有各自的读信号。所以8051单片机属于哈佛结构,程序存储器和数据存储器分开配置。8051的存储器在物理结构上分为程序存储空间和数据存储空间,共有4个存储空间:片内程序存储器和片内数据存储器以及片外程序存储器和片外数据存储器。项目2单片机硬件系统2.3.1存储器的组成1.程序存储器(ROM)空间:1)片内4KB的程序存储器,其地址为0000H~0FFFH;2)片外64KB的程序存储器,其地址为0000H~FFFFH;2.数据存储器(RAM)空间:1)片内256B的数据存储器,00H~7FH为通用的数据存储区,80H~FFH为专用的特殊功能寄存器区;2)片外64KB的数据存储器,其地址为0000H~FFFFH;程序存储器和数据存储器的结构配置见图2-16。项目2单片机硬件系统
外部
ROM外部ROM(=0)内部ROM(=1)0FFFH…0000H0FFFH...1000H0FFFH…0000H
内部
RAM高128B外部RAM0FFFH...0000H内部
RAM低128B7FH…00HFFH…80H图2-168051的存储器结构项目2单片机硬件系统从用户使用的角度看,8051存储器地址空间分为3类:1.片内片外统一编址0000H~FFFFH的64KB的程序存储器地址空间(用16位地址);2.64KB片外数据存储器地址空间,地址0000H~FFFFH(用16位地址);3.256B片内数据存储器地址空间(用8位地址)。上述3个存储空间地址是重叠的,如何区别这3个不同的逻辑空间呢?8051的指令系统设计了不同的数据传送指令符号:当访问片内ROM、片外ROM时,用MOVC指令;当访问片外RAM时,用MOVX指令;当访问片内RAM时,用MOV指令;项目2单片机硬件系统2.3.2程序存储器ROM
一般将只读存储器(ROM)用做程序存储器。MCS-51可寻址空间为64KB,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64KB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则端需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。
8051片内有4KB的程序存储器,其地址为0000H—0FFFH,这就是我们所说的内部程序存储器(或简称“内部ROM”)。0000H~0002H是系统的启动单元,单片机启动复位后,程序计数器PC的内容为0000H,所以系统将从0000H单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。项目2单片机硬件系统
地址为0003H~002AH共40个单元被均匀地分为5段,每段8个单元,分别作为5个中断源的中断入口地址区。它们的定义如表2-5所示: 表格中的中断入口地址是专门用于存放中断处理程序的地址单元的。当中断源发出中断请求后,若CPU响应该中断,则程序将暂停正在执行的部分,而转入执行中断服务程序,因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序。但是通常情况下,每段只有8个地址单元是不能存下完整的中断服务程序的,因而一般也在中断程序的入口地址处放一条无条件转移指令,指向程序存储器的其它地址单元(中断服务程序的真正地址)。保留单元地址使用目的0000H~0002H复位后初始化引导程序0003H~000AH外部中断0中断程序入口地址000BH~00l2H定时器/计数器0中断程序入口地址0013H~00lAH外部中断1中断程序入口地址00lBH~0022H定时器/计数器1中断程序入口地址0023H~002AH串行口中断程序入口地址002BH定时器2中断入口地址(8052才有)项目2单片机硬件系统2.3.3数据存储器RAM
数据存储器也称为随机存取数据存储器,它们用于存放运算的中间结果或数据暂存和缓冲以及存放标志位等,其内容在程序运行过程中一般是变化的。一般将随机存取存储器(RAM)用做数据存储器,8051单片机的数据存储器可寻址空间为64KB。数据存储器在物理上和逻辑上都分为两个地址空间,内部数据存储区和外部数据存储区。
51单片机内部RAM有128或256个字节的用户数据存储单元(不同的型号有分别),其数据存储器均可读写,部分单元还可以位寻址。 片外RAM:最大寻址范围:0000H~FFFFH,最大容量为64KB;用指令MOVX访问。 片内RAM:最大寻址范围:00H~FFH,最大容量为256B;用指令MOV访问。 片内RAM又分为两部分:低128B(00~7FH)为真正的RAM区,高128B(80~FFH)为特殊功能寄存器(SFR)区。8051内部RAM配置图如图2-17所示。项目2单片机硬件系统图2-178051内部RAM配置图项目2单片机硬件系统2.4并行I/O端口 8051单片机有四个8位双向I/O端口(P0、P1、P2、P3),共32条并行I/O口线,每一条I/O线都能独立地用作输入或输出。其中P1、P2和P3为准双向口(在用作输入线时,口锁存器必须先写入“1”,故称为准双向口),能带8个LSTTL负载。P0口则为双向三态输入输出口,能带8个LSTTL负载。对I/O的读写不需要专门的指令,而是把它当做可编址且能进行读写操作的寄存器,使用和RAM一样的读写指令。此外,这4个I/O口即可以按字节寻址,也可以按位寻址,也就是说每个端口的8个口线即可以一起使用,也可以单个使用。下面我们分别介绍这几个口线。项目2单片机硬件系统2.4.1P0口
P0口有8位,每1位由一个锁存器、两个三态输入缓冲器、控制电路和驱动电路组成,见图2-17。P0口有两个作用:1.作为通用I/O口使用;2.作为地址/数据分时复用总线使用。2.4.2P1口
P1口只能做一般I/O口使用,是一个准双向I/O口,每1位都由一个锁存器、两个三态输入缓冲器和驱动电路组成,见图2-20。P1口的工作原理与P0口相同,只是不能复用(无第二功能),是一个准双向口。2.4.3P2口
P2口是一个8位的准双向口,每1位由一个锁存器、两个三态输入缓冲器、控制电路和驱动电路组成,见图2-21。2.4.4P3口
P3口也是一个8位准双向口,每1位都由一个锁存器、两个三态输入缓冲器和驱动电路组成,见图2-22。项目2单片机硬件系统2.4.5I/O端口小结
P0、P1、P2和P3口均可作一般I/O口,但是在实际应用中,P0口用来构建8位的数据总线和低8位的地址总线,P2口用来构建高8位的地址总线,P3口通常用于第二功能,P1口作为一般的I/O口。在这4个口中,P0口是一个真正的双向口,P1、P2和P3口是准双向口。因为只有P0口可用作系统数据总线,为保证正确的数据传送,要求在数据传送时,单片机内外才接通,不进行数据传送时,单片机内外处于隔离状态,因此要求P0口的输出电路是有两个场效应管组成的一个三态门,即高电平、低电平和高阻隔离三个状态,因此P0口是一个真正的双向口。P1、P2和P3口的输出电路由上拉电阻和场效应管组成,没有高阻隔离状态,所以称他们为准双向口。 此外,P0口的每一位可以以吸收电流的方式驱动8个LS型(L表示低功耗,S表示肖特基技术)TTL负载,P1口~P3口的每一位可以以吸收或提供电流的方式驱动4个LS型TTL负载。对于80C51单片机(CHMOS型),当它驱动普通晶体管的基极时,应在端口和晶体管之间串入一个电阻,来限制高电平的输出电流。 单片机输出低电平的时候,驱动能力尚可,每个单个的引脚,输出低电平的时候,可以吸收的最大电流为10mA,每个8位的接口(P1、P2以及P3),吸收的总电流最大为15mA,而P0的能力强一些,吸收的最大总电流为26mA;全部的四个接口所吸收的电流之和,最大为71mA。输出高电平的时候,51单片机的拉电流能力也就是输出电流的能力很差,只有几毫安。项目2单片机硬件系统【特别提示】 在用作输出口时,P0口需要外接上拉电阻,以产生高电平;在用作输入口时,4个口均要先向其端口锁存器写1。P3口在用作第二功能信号时,也应先把对应的端口写1。
练习:实训2:灯的闪烁项目2单片机硬件系统演讲完毕项目351单片机指令系统3.1指令系统概述
所谓指令,就是指挥计算机工作的基本操作命令。计算机所能执行的基本操作命令的集合就构成了计算机的指令系统。我们按照一定的目的编写的计算机程序,实际就是各种指令的组合。 机器语言、汇编语言、高级语言项目351单片机指令系统3.1.1指令的格式
格式:[标号:]<操作码>[操作数];[注释]1.标号:也称标识符,由用户自行定义,由1~8个字符组成,必须以字母开头,其余字符可以是字母或是数字等。2.操作码:也称指令助记符,它规定了指令的功能。3.操作数:指令的操作对象,规定了参与操作的数据的来源或操作结果存放的地点,大多为1~2个,个别指令有3个(如CJNE等)。4.注释:指令语句的说明性文字,必须以“;”开始,其目的便于编程人员的阅读和交流,它不是指令的功能部分,可以省略。例如:LOOP:MOVA,#05H;累加器A中送入数据05H项目351单片机指令系统3.1.2指令系统的符号说明Rn:表示当前选定寄存器组的工作寄存器R0~R7;Ri:表示作为间接寻址的地址指针R0~R1;#data:表示8位立即数,即00H~FFH;#data16:表示16位立即数,即0000H~FFFFH;addr16:表示16位地址,用于64K范围内寻址,通常也可以用字符串表示;addr11:表示11位地址,用于2K范围内寻址,通常也可以用字符串表示;direct:表示8位直接地址,可以是内部RAM区的某一单元或某一专用寄存器地址;Rel:表示带符号的8位偏移量(-128~+127),通常也可以用字符串表示;Bit:表示位寻址区的直接寻址位或者是可位寻址的特殊功能寄存器的位地址;项目351单片机指令系统3.1.3寻址方式
所谓寻址方式就是获得操作数的方式问题。由于指令给出操作数的方式不同,因此就形成不同的寻址方式。寻址方式越多,操作就越方便,控制就越灵活。寻址方式是看提供操作数中源操作数的性质来看的,与目的操作数无关。1.立即寻址 指令中给出的是操作数本身。在指令格式中有两种形式:即8位和16位立即数两种表示方法用“#”作为前缀。例如:MOVA,#100;将立即数100(64H)送入累加器AMOVR0,#32H;将立即数32H送入到R0中MOV30H,#40H;将立即数40H送入数据存储器30H单元中 上述三条指令执行完后,累加器A中数据为立即数据64H,R0寄存器中数据为32H,数据存储器30H单元数据为40H。项目351单片机指令系统2.直接寻址 指令中给出的是操作数所在的单元地址,通过单元地址找到这个操作数,这就是直接寻址。寻址范围只限内部RAM低128单元(即00H~7FH)和特殊功能寄存器。例如:MOVA,40H;将内部数据存储器40H单元中的数据传送到累加器A中MOVA,P1;将特殊功能寄存器P1的数据传送到累加器A中3.寄存器寻址 指令中给出的是操作数在一个寄存器中,以寄存器的内容作为操作数,找到了制定的寄存器,就等于找到了操作数,这就是寄存器寻址方式,通用寄存器指A、B、DPTR以及R0~R7,工作寄存器R0~R7常用于寄存器寻址。例如:MOVA,R0;将R0中的数据传送到累加器A中项目351单片机指令系统4.寄存器间接寻址 指令中给出的是操作数的单元地址,这个单元地址放在一个寄存器中,通过寄存器找到这个操作数,也就是说操作数是通过寄存器间接得到的,所以叫寄存器间接寻址方式。 例:假定寄存器R0中的内容是40H,而内部RAM中40H单元的内容是62H,则执行指 令‘MOVA,@R0’后,R0中内容不变,A中内容变为62H,其指令操作过程示意图如图3-1所示。62H62H40HR040HA图3-1寄存器间接寻址示意图项目351单片机指令系统5.变址寻址 指令中给出的是操作数的单元的复合地址。即基址寄存器加变址寄存器的间接寻址方式。通常是以数据指针寄存器DPTR或者程序计数器PC作为基本地址,累加器A作为变址,两者的内容相加形成16位程序存储器地址。简单的说,指令的立脚点DPTR中有一个数,A中有一个数,执行指令时,将A和DPTR中的数加起为,就成为要查找单元的地址。 变址寻址方式仅使用于程序存储器(ROM)。 例:假定累加器A中的内容是05H,而DPTR中的内容是2100H,程序存储器2105H处的内容是3FH,则执行指令‘MOVCA,@A+DPTR’后,DPTR中的内容不变,A中的内容变为3FH,其指令操作过程示意图如图3-2所示。05H00H21HDPTR+A图3-2变址寻址示意图3FH2105HROM3FH项目351单片机指令系统6.位寻址
MCS-51单片机具有位寻址功能,即指令给出的不再是单元地址,而是8位中的一位地址,这种寻址方式就是位寻址方式。通常位寻址方式中都出现布尔累加器C。寻址范围包括内部RAM20H~2FH位寻址区中的128位和特殊功能寄存器(SFR)中11个可以按位寻址特殊功能寄存器的83位。 位寻址有4种表示方式:
1)直接给出位地址。例如:
MOVC,2FH
其中C是累加位,2FH是位地址。
2)给出单元地址与位地址的组合。例如:
MOVC,22H.6
其中,22H.6表示22H单元地址中的第6位。
3)特殊功能寄存器符号与位的组合。例如:
MOVC,P1.3
其中,P1.3表示Pl口的第3位。
4)给出特殊功能寄存器中位的符号。例如:
MOVC,AC
其中AC即程序状态字PSW中的D6位的专用符号。项目351单片机指令系统7.相对寻址方式 相对寻址是在相对转移指令中使用的寻址方式。相对转移指令需要人为地改变程序计数器PC的值,以改变程序执行的顺序。相对寻址,就是给出相对于PC当前所指位置的偏移量,以使程序“跳转”到新的位置执行。 例如,在100OH处有这样一种“短转移”指令,rel=05H,则执行指令
1000H:SJMPrel
后,程序转移到1007H处继续执行。执行该指令前,PC本来指向该指令的起始地址1000H。该指令占两个字节,所以取出指令后,PC指向1002H。rel即相对于此地址的偏移量,其目标地址为PC+2+rel=1000+2+5=1007H。项目351单片机指令系统3.1.4单片机指令的分类
MCS-5l系列单片机指令系统由111条指令组成。其中,若按指令机器码的字节数来分,可以分为单字节指令(49条)、双字节指令(45条)、3字节指令(17条). 从指令的执行时间(机器周期)来看,单周期指令有64条,双周期指令有45条,还有2条指令(乘、除法运算)是4个周期。 根据操作功能的不同,整个指令系统分为以下五大类指令:1.数据传送类指令(28条),2.算术运算类指令(24条)。3.逻辑运算及移位类指令(25条)。4.控制转移类指令(17条)。5.布尔变量操作类指令(17条)。项目351单片机指令系统3.2数据传送类指令3.2.1内部RAM数据传送指令 内部RAM数据传送,是指单片机内部的各寄存器和存储器之间的数据传送。根据目的操作数的不同,又分为以下几种类型。
1.以累加器A为目的操作数的指令
MOVA,Rn;A←(Rn)
MOVA,direct;A←(direct)
MOVA,@Ri;A←((Ri)) MOVA,#data;A←data项目351单片机指令系统2.以寄存器Rn为目的操作的指令
MOVRn,A;Rn←(A)MOVRn,direct;Rn←(direct)MOVRn,#data;Rn←data这组指令功能是把源地址单元中的内容送入工作寄存器,源操作数不变。3.以直接地址为目的操作数的指令MOVdirect,A;direct←(A)MOVdirect1,direct2;direct1←(direct2)MOVdirect,@Ri;direct←((Ri))MOVdirect,#data;direct←data这组指令功能是把源地址单元中的内容送入直接地址所指定的内部RAM单元中,源操作数不变。项目351单片机指令系统4.以间接地址为目的操作数的指令MOV@Ri,A;((Ri))←(A)MOV@Ri,#data;((Ri))←dataMOV@Ri,direct;((Ri))←direct
这里不是将源操作数送给Ri,而是送到以Ri的内容为地址的内部RAM单元中。例如:
MOV@R1,#100;将立即数100送入,以R1内容作为地址的内存单元中。若R1=32H,执行完本指令后,R1值不变,32H单元的内容变为100。【特别提示】 若立即数以A、B、C、D、E或F开头,需要在前面加上0,例如FFH,在指令中应写成0FFH。项目351单片机指令系统5.以DPTR为目的操作数的指令 MOVDPTR,#data16;DPTR←data16 8051是一种8位机,这是唯一的一条16位立即数传递指令,其功能是将一个16位的立即数送入DPTR中去。其中高8位送入DPH,低8位送入DPL。例如:
MOVDPTR,#1234H
执行完了该指令之后,DPH中的值为12H,DPL中的值为34H。反之,如果我们分别向DPH,DPL送数,则结果也一样。如有下面两条指令:MOVDPH,#35HMOVDPL,#12H则就相当于执行了MOVDPTR,#3512H。项目351单片机指令系统3.2.2外部RAM的数据传递指令
这类指令是指对单片机外部扩展的RAM进行数据存取的指令,而访问外部RAM只能使用间接寻址的方式。【特别提示】 在51单片机中,与外部存储器RAM打交道的只可以是累加器A。所有需要送入外部RAM的数据必需要通过A送去,而所有要读入的外部RAM中的数据也必需通过A读入。 另外,在MOV指令后面增加了“X”,表示对外部RAM的数据传送。1.使用DPTR间接寻址MOVXA,@DPTR;A←((DPTR))MOVX@DPTR,A;((DPTR))←(A) 前一条指令的功能是,将DPTR所指的外部RAM地址单元内容送给A;第二条指令的功能则是将A的值送到外部RAM地址单元中去,由于DPTR是16位数据指针,所以它的可址范围是2^16=64KB(0000H~FFFH)。项目351单片机指令系统2.使用Ri间接寻址MOVXA,@Ri;A←((Ri))MOVX@Ri,A;((Ri))←A
这两条指令与上述使用的DPTR间接寻址的指令功能基本相同,不过因为由于Ri(即R0或R1)只是一个8位的寄存器,所以只提供低8位地址,可寻址的范围仅仅外部RAM中的低256个单元(00H~FFH)。 编程实现将外部RAM中01H单元的数据与02H单元数据互换。项目351单片机指令系统3.2.3ROM数据传送指令 这里的ROM(程序存储器),既包括外部ROM,也包括内部ROM,单片机ROM统一编址,指令不用加以区分。另外,ROM只能读不能写,所以数据传送是单向的,即从ROM中读取数据,并只能送入累加器A中。MOVCA,@A+DPTR;A←((A)+(DPTR))MOVCA,@A+PC;A←((A)+(PC))
这类指令属于变址寻址方式,使用DPTR或PC为基址寄存器,寻址范围64KB,是将ROM中的数送入A中,所以也被称为查表指令,常用此指令来查一个已做好在ROM中的表格。但是,这两条指令在使用上有些区别,当使用DPTR作为基址寄存器时,由于事先可以给DPTR赋64KB范围内的任意值,与A相加后的寻址范围可以是整个ROM的64KB空间,使用很方便;而当使用PC作为基址寄存器时,由于PC有严格的当前值,A是8位无符号数,只能在当前指令的256个单元范围内进行查表。项目351单片机指令系统3.2.4数据交换指令 数据交换指令是指单片机内部RAM单元与累加器A的内容进行交换,分为整个字节交换、半个字节交换以及累加器A半字节交换等几种。1.字节交换指令XCH
A,Rn ;(A)←→(Rn)XCH
A,direct;(A)←→(direct)XCH
A,@Ri ;(A)←→((Ri))以上指令结果影响程序状态字寄存器PSW的P标志。2.半字节交换指令指的是内部RAM单元与A之间进行低4位数据交换。XCHDA,@Ri ;(A)3-0←→((Ri))3-0项目351单片机指令系统3.2.5堆栈指令 堆栈是用户自己设定的内部RAM中的一块专用存储区,向栈里存取数据的操作成为堆栈操作。存放数据称为“入栈”,取出数据称为“出栈”。堆栈操作必须是字节操作,且只能直接寻址。PUSHdirect;SP←(SP)+1,(SP)←(direct)POPdirect;(direct)←((SP)),SP←(SP)-1
第一条指令称之为推入,就是将direct中的内容送入堆栈中。指令执行分为两步:第一步先将SP+1,第二部将direct中的数据传递到SP中的值为地址的RAM单元中,所以说,当入栈的数据增多时,SP永远指向已入栈数据的最高地址处,或是叫做“栈顶”的地方。项目351单片机指令系统3.3算术运算指令
MCS-5l指令系统有丰富的算术运算类指令,算术运算类指令一共有24条,可以分为不带进位加法、带进位加法、带借位减法、加1、减1、乘、除和十进制调整指令等。主要完成加、减、乘、除四则运算以及增量、减量和十进制调整等操作。同时执行过程中会影响到程序状态字PSW中的某些位,例如进位位Cy、辅助进位标志AC、溢出标志OV以及奇偶校验标志位等。项目351单片机指令系统3.3.1加法指令加法指令可以归纳为不带进位加法指令、带进位加法指令以及加1指令等三类。1.不带进位加法指令(4条)ADDA,#data;(A)+data→AADDA,Rn;(A)+(Rn)→AADDA,@Ri;(A)+((Ri))→AADDA,direct;(A)+(direct)→A
这些指令的基本功能是,将源操作数与累加器A中操作数相加,并将相加后的结果送到累加器A中。运算的结果会影响PSW标志位,情况如下:进位标志位CY:和的D7位有进位时,(CY)=l,否则(CY)=0;辅助进位标志位AC:和的D3位有进位时,(AC)=l,否则(AC)=0;溢出标志位OV:和的D7、D6位只有一个有进位时,(OV)=1;和的D7、D6位同时有进位或同时无进位时,(OV)=0,表示溢出。溢出说明运算的结果超出了数值所允许的范围,如两个正数相加结果为负数或两个负数相加结果为正数时属于错误结果,此时(OV)=1。奇偶标志位P:当累加器ACC中“l”的个数为奇数时,(P)=1,为偶数时,(P)=0。项目351单片机指令系统2.带进位加法指令(4条)ADDCA,#data;(A)+data+(Cy)→AADDCA,Rn;(A)+(Rn)+(Cy)→AADDCA,@Ri;(A)+((Ri))+(Cy)→AADDCA,direct;(A)+(direct)+(Cy)→A
这些指令的基本功能是,将源操作数、累加器A中操作数以及进位标志Cy的值相加相加,并将相加后的结果送到累加器A中。 带进位的加法法运算指令常用于多字节的加法运算中。例如两个字节数的相加运算,当高位字节相加时,就需要考虑低位字节相加后可能产生的进位。项目351单片机指令系统3.加1指令(5条)INCA;A←(A)+1INCRn;Rn←(Rn)+1INCdirect;direct←(direct)+1INC@Ri;(Ri)←((Ri))+1INCDPTR;DPTR←(DPTR)+1
这组指令的功能是使源操作数的值加1,并且将结果送回原来的单元。加1指令比较简单,执行比较快,只有INCA影响PSW的奇偶校验位,其余指令不影响标志位的状态。例如,(A)=0FFH,执行指令INCA后,变为00H,但是溢出标志位没有变化。项目351单片机指令系统3.3.2减法指令减法指令包括带借位减法指令和减1指令两类。1.带借位减法指令(4条)SUBBA,Rn;A←(A)–(Rn)–(CY)SUBBA,direct;A←(A)–(direct)–(CY)SUBBA,@Ri;A←(A)–((Ri))–(CY)SUBBA,#data;A←(A)–data–(CY) 这些指令的功能是将A中的值减去其后面的值,再减上Cy的值,最终结果送回到A中。 减法指令只有带借位的减法,没有不带借位的减法,如果进行不带借位的减法运算,可以先输入一条指令“CLRC”,将Cy清零。在使用SUBB指令时,如果系统没有特别指出Cy值时,第一次相减时一定要清零借位标志位Cy。即“CLRC”。项目351单片机指令系统2.减1指令(4条)DECA;A←(A)-1DECRn;Rn←(Rn)-1DECdirect;direct←(direct)-1DEC@Ri;(Ri)←((Ri))-1
这组指令的功能是使源操作数的值减1,并且将结果送回原来的单元。与加1指令一样,只有DECA影响PSW的奇偶校验位,其余指令不影响标志位的状态。项目351单片机指令系统3.3.3乘除法指令 乘除法指令执行时需要4个机器周期,是指令系统中执行时间最长的指令。1.乘法指令
MULAB;BA←(A)×(B)
指令的功能是把累加器A和寄存器B中两个8位无符号整数相乘,并把乘积的高8位存于寄存器B中,低8位存于累加器A中。 乘法运算指令执行时会对标志位产生影响:CY标志总是被清0,即CY=0;OV标志则反映乘积的位数,若OV=1,表示乘积为16位数(即乘积的结果大于FFH,B中的内容不为0);若OV=0,表示乘积为8位数。 例如,若(A)=50H,(B)=05H,则执行指令MULAB后,(A)=90H,(B)=01H,表明乘积的结果0190H。项目351单片机指令系统2.除法指令
DIVAB;A商,B余←(A)÷(B) 指令的功能是把累加器A和寄存器B中的两个8位无符号整数相除,所得商的整数部分存于累加器A中,余数存于B中。 除法指令执行过程对标志位的影响:CY位总是被清0,OV标志位的状态反映寄存器B中的除数情况,若除数为0,则OV=1,表示本次运算无意义,否则,OV=0。 例如,若(A)=51H,(B)=05H,则执行指令DIVAB后,(A)=10H(商),(B)=01H(余数)。项目351单片机指令系统3.3.4十进制调整指令 这是一条专用指令,用于对BCD码十进制加法运算的结果进行修正。DAAMOVA,#75HMOVR3,#69HADDA,R3;(A)=DEH,CY=0MOVB,A;(B)=DEHDAA;(A)=44H,CY=1项目351单片机指令系统3.4逻辑运算指令3.4.1累加器A的逻辑操作指令1.累加器A清0 CLRA;A←00H2.累加器A取反 CPLA;这两条指令的功能是,对累加器A清零或取反后,结果仍存入A中。3.累加器A循环左移
RLA利用左移指令,可实现对A中的无符号数乘2的目的。D7←D0项目351单片机指令系统4.累加器A带进位循环左移 RLCA5.累加器A循环右移 RRA
对累加器A进行的循环右移,可实现对A中无符号数的除2运算。6.累加器A带进位循环右移 RRCA7.累加器A半字节交换SWAPA功能是将累加器A中内容的高4位与低4位互换。项目351单片机指令系统3.4.2逻辑运算指令1.逻辑与指令(6条)ANLA,Rn;A←(A)∧(Rn)ANLA,direct;A←(A)∧(direct)ANLA,@Ri;A←(A)∧((Ri))ANLA,#data;A←(A)∧#dataANLdirect,A;direct←(direct)∧(A)ANLdirect,#data;direct←(direct)∧#data 这些指令的功能是将目的操作数和源操作数按位进行逻辑与操作,结果送目的操作数。在程序设计中,逻辑与指令主要用于对目的操作数中的某些位进行屏蔽(清0)。方法是:将需屏蔽的位与“0”相与,其余位与“1”相与即可。项目351单片机指令系统2.逻辑或指令(6条)ORLA,Rn;A←(A)∨(Rn)ORLA,direct;A←(A)∨(direct)ORLA,@Ri;A←(A)∨((Ri))ORLA,#data;A←(A)∨#dataORLdirect,A;direct←(direct)∨(A)ORLdirect,#data;direct←(direct)∨#data 功能是将目的操作数和源操作数按位进行逻辑或操作,结果送目的操作数。 逻辑或指令可对目的操作数的某些位进行置位。方法是:将需置位的位与“1”相或,其余位与“0”相或即可,常用于组合数据。项目351单片机指令系统3.逻辑异或指令(6条)XRLA,Rn;A←(A)⊕(Rn)XRLA,direct;A←(A)⊕(direct)XRLA,@Ri;A←(A)⊕((Ri))XRLA,#data;A←(A)⊕#dataXRLdirect,A;direct←(direct)⊕(A)XRLdirect,#data;direct←(direct)⊕#data 功能是将目的操作数和源操作数按位进行逻辑异或操作,结果送目的操作数。 逻辑异或指令可用于对目的操作数的某些位取反,而其余位不变。方法是:将要取反的这些位和“1”异或,其余位则和“0”异或即可。项目351单片机指令系统3.5控制转移指令
在很多情况下,程序需要循环、分支或调用子程序等,这都要人为的改变程序的执行顺序,利用控制转移指令就可以达到这样的目的。 控制转移类指令分为无条件转移、条件转移及子程序调用与返回指令等。3.5.1无条件转移指令 没有规定转移条件的指令称无条件转移指令,MCS-51单片机有4条指令。 1.长转移指令 LJMPaddr16;addr16→PC 该指令的功能是,将指令码中的16位地址送入程序计数器PC中,使程序跳转到addr16目的地址的地方执行。addr16表示16位目的地址,通常用标号代替。项目351单片机指令系统2.绝对转移指令 AJMPaddr11;(PC)+2→PC,addr11→PC10~PC0 这里的addr11是11位的绝对地址,其最小值是0000H,最大值是07FFH,所以寻址范围是2KB。该指令的功能是,程序跳转到addr11目的地址的地方执行,通常用标号代替。3.相对转移指令
SJMPrel;(PC)+2+rel→PC 该指令的功能是,程序跳转到rel目的地址的地方执行。rel表示8位目的地址,通常用标号代替。
SJMP$;$就是当前行,就是跳转到当前行继续执行。即一个死循环。
主要用处就是等待内外的中断。4.散转指令 JMP@A+DPTR;(A)+(DPTR)→PC 该指令的功能是,程序跳转到(A+DPTR)为目的地址的地方执行。由于累加器A和数据指针DPTR都可以赋值,因此使用很灵活,其中,DPTR的内容可以作为基地址,是一个相对固定的值,以A的内容作为变址,根据A的不同值,可使程序转移到不同的地方。项目351单片机指令系统3.5.2条件转移指令 条件转移指令是指,当程序在处理这类命令时,需要判断是否要满足某个条件,若条件满足就转移,条件不满足就不转移,仍按顺序执行程序。1.累加器判零转移 这类指令是判断A内容是否为0作为转移的条件。JZrel;若(A)=0,则PC←(PC)+2+relJNZrel;若(A)≠0,则PC←(PC)+2+rel 第一指令的功能是:如果(A)=0,则转移,否则顺序执行(执行本指令的下一条指令)。转移到什么地方去呢?我们可以这样理解:JZ标号,即转移到标号处。项目351单片机指令系统2.比较转移指令
数值比较转移指令是将两个操作数进行比较,以比较的结果作为是否转移的条件。CJNEA,#data,rel;若(A)≠data,则PC←(PC)+3+relCJNEA,direct,rel;若(A)≠direct,则PC←(PC)+3+relCJNERn,#data,rel;若(Rn)≠data,则PC←(PC)+3+relCJNE@Ri,#data,rel;若((Ri))≠data,则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省江北区七校联考2027届中考物理全真模拟试题含解析
- 2026年食堂采购考试题库及参考答案
- 2026年诚信合规手册模拟试题(含答案)
- 2026年古典园林模拟试卷(含答案)
- 2026年信阳浉河区招聘城市社区工作人员128人模拟试卷(含答案)
- 2026年乳制品行业质量检验员冲刺试卷
- 2026年事业单位招聘考试计算机基础知识押题试卷
- 2026年高校教师师德师风考试冲刺模拟试卷
- 代谢性心肌病诊断与治疗
- 检测和管理甲状腺功能异常
- 2025年入党积极分子发展对象考试试题(完整版)附答案详解
- 2026新教材语文 19《航天员写给孩子的信》课件
- 6.1 友谊的真谛 课件(共24张)+内嵌视频
- 心电图机操作考核评分标准
- 二次函数配方题目及答案
- SHS 01009-2019管壳式换热器维护检修规程
- 【地理】 2025年高考真题-河北卷(精校版)
- 移动式升降工作平台(登高车)安全管理培训课件
- 化疗药物配置及管理操作规程
- 阀门定位器培训
- (零模)南昌市2025年高三年级九月测试化学试卷(含答案)
评论
0/150
提交评论