单片机原理与应用及C51程序设计(第4版)谢维成全套教案课件_第1页
单片机原理与应用及C51程序设计(第4版)谢维成全套教案课件_第2页
单片机原理与应用及C51程序设计(第4版)谢维成全套教案课件_第3页
单片机原理与应用及C51程序设计(第4版)谢维成全套教案课件_第4页
单片机原理与应用及C51程序设计(第4版)谢维成全套教案课件_第5页
已阅读5页,还剩503页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理与应用教材:单片机原理与应用及C51程序设计(第4版)清华大学出版社谢维成,杨加国西华大学第1章基础知识主要内容:信息在计算机中的表示。单片机概述。51单片机及主要品种。重点:数在计算机内的表示。51单片机概念和特点。1.1信息在计算机中的表示1.1.1数在计算机内的表示计算机中的数通常有两种:无符号数和有符号数。

无符号数<-----

二进制形式表示

例如:123表示成01111011B。

有符号数---

机器数,它的数值称为机器数的真值。3符号位数值位机器数在计算机中有三种表示法:

原码、反码和补码。+0-1机器数在计算机中表示:41.原码符号位绝对值注意:(1)原码表示范围为-(2n-1-1)~+(2n-1-1),例如:8位的范围为-127~+127。(2)原码表示时,-0的编码为10000000,+0的编码为00000000。(假设机器字长为8位)【例1-1】求+76、-45的原码(机器字长8位)因为

+76

=76=1001100B

-45

=45=101101B所以[+76]原=01001100B[-45]原=10101101B格式:52.反码符号位0绝对值符号位1绝对值各位取反格式:正数负数注意:(1)反码表示范围为-(2n-1-1)~+(2n-1-1),例如:8位的范围为-127~+127。(2)反码表示时,-0的编码为11111111,+0的编码为00000000。(假设机器字长为8位)63.补码

【例1-3】求+76、-45的补码(机器字长8位)。因为[+76]原=01001100B[-45]原=10101101B所以[+76]补=01001100B[-45]补=11100111B

符号位0绝对值符号位1绝对值各位取反格式:正数负数+17注意:(1)补码表示范围为-(2n-1-1)~+(2n-1),例如:8位的范围为-128~+127。(2)补码表示时,-0的编码为00000000,+0的编码为00000000。(假设机器字长为8位)[X]补

[-X]补

【例1-4】已知+45的补码为00101101B,用求补运算求-45的补码。因为[45]补

[-45]补所以

[-45]补=11010010+1=11010011B8求补运算:一个二进制数,符号位和数值位一起取反,末位加1。求补运算具有以下的特点:94.补码的加减运算补码的加、减法运算规则如下:[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补-[Y]补=[X]补+[-Y]补=[X]补+{[Y]补}求补即:补码表示时,求两个数之和[X+Y]补,直接用两个数相加([X]补+[Y]补);求两个数之差[X-Y]补,可以直接用两个数相减[X]补-[Y]补,也可以先对减数[Y]补求补运算,然后再与被减数[X]补相加。10【例1-5】假设计算机字长为8位,完成下列补码运算。① (+76)+(-45)因为 [+76]补=01001100B[-45]补=11010011B

[+76]补=01001100B+ [-45]补=11010011B所以[(+76)+(-45)]补=[+76]补+[-45]补=00011111B=[+31]补100011111B②

(+76)-(+45)因为 [+76]补=01001100B[+45]补=00101101B

所以[(+76)-(+45)]补=[+76]补-[+45]补=[+76]补+{[+45]补}求补=00011111B=[+31]补5.十进制数的表示

十进制编码又称为BCD码。分压缩BCD码和非压缩BCD码。压缩BCD码又称为8421码,它是用四位二进制编码来表示一位十进制符号。11例如:十进制数124的压缩BCD码为000100100100。

十进制数4.56的压缩BCD码为0100.01010110。十进制符号压缩BCD编码十进制符号压缩BCD编码000005010110001601102001070111300118100040100910011.1.2字符在计算机内的表示美国信息交换标准代码ASCII码AmericanStandardCodeforInformationInterchange12数字符号0~9:30H—39h26个大写字母:41H—5AH26个小写字母:61H—7AH1.2单片机概述1.2.1单片机的基本概念

单片机属于微型计算机的一种,是把微型计算机中的微处理器、存储器、I/O接口、定时器/计数器、串行接口、中断系统等电路集成在一块集成电路芯片上形成的微型计算机。因而被称为单片微型计算机,简称为单片机。单片机按照用途可分为通用型和专用型两大类。在单片机使用上注意以下几个相互有相同点也有区别的概念“(1)单板机:(2)单片机:(3)多板机:131.2.2单片机发展及其主要品种1.4位单片机2.8位单片机3.16位单片机4.32位单片机

在1978年以前各厂家生产的8位单片机,由于集成度的限制,一般都没有串行接口,只提供小范围的寻址空间(小于8KB),性能相对较低,称为低档8位单片机。

在1978年以后,集成电路水平提高,出现了一些高性能的8位单片机,它们的寻址能力达到了64KB,片内集成了4-8KB的ROM,片内除了带并行I/O口外,还有串行I/O接口,甚至有些还集成A/D转换器。这类单片机称为高档8位单片机。141.2.3单片机的主要特点(1)在存储器结构上,单片机的存储器采用哈佛(Harvard)结构。ROM和RAM是严格分开的。ROM称为程序存储器,只存放程序、固定常数和数据表格。RAM则为数据存储器,用作工作区及存放数据。(2)在芯片引脚上,大部份采用分时复用技术。(3)在内部资源访问上,通过用特殊功能寄存器(SFR)的形式。(4)在指令系统上,采用面向控制的指令系统。(5)内部一般都集成一个全双工的串行接口。(6)单片机有很强的外部扩展能力。151.3.4单片机的应用1.单机应用(1)工业自动化控制。(2)智能仪器仪表。(3)计算机外部设备和智能接口(4)家用电器。2.多机应用3.单片机的等级(1)民用级或商用级。温度适应能力在0

C~70C,适用于机房和一般的办公环境。(2)工业级。温度适应能力在-40C~85C,适用于工厂和工业控制中,对环境的适应能力较强。(3)军用级。温度适应能力在-65C~125C,运用于环境条件苛刻,温度变化很大的野外。主要用在军事上。16171.351单片机及主要品种3大系列:51系列、PIC系列和AVR系列1.3.151单片机概述Intel公司生产的51单片机及其他公司生产的采用51内核单片机。1.3.251单片机的主要品种1.MCS-51系列单片机美国Intel公司、1980年,包含51和52两个子系列。51子系列,有8031、8051、8751三种机型,52子系列,有8032、8052、8752三种机型。采用两种半导体工艺生产:HMOS工艺和CHMOS工艺。采用CHMOS的器件在编号中用一个C来加以区别:如80C31、80C51等。182.ATMEL公司的AT89系列单片机美国20世纪80年代中期成立,技术优势是Flash存储器技术。AT89C5X系列单片机与MCS-51单片机完全兼容,代表产品为AT89C51系列和AT89S5X系列。除了具有MCS-51/52系列的特点外,AT89C51系列片内集成4k/8k字节Flash闪速存储器,工作频率可达24MHZ。AT89S5X系列是在AT89C5X系列之后推出的新机型,代表产品为AT89S51和AT89S52。在继承了AT89C5X系列的所有软硬件资源的前提下,作了以下方面的改进:片内集成双数据指针(DPTR),增加看门狗定时器(WDT)、在系统编程(ISP,也称在线编程)、串行外设接口(SPI),工作频率上限提高到33MHZ。目前,AT89S5X系列在实际中得到了广泛应用。193.STC系列51单片机STC是深圳宏晶科技有限公司生产的单片机系列符号。宏晶公司是中国单片机技术的领航者,致力于高性能单片机的设计和制造。具有自主知识产权,处于国际领先地位。4.SST公司的SST89系列单片机SST89系列单片机是美国SST公司推出的高可靠、小扇区结构的51内核单片机。所有产品均带IAP(在应用可编程)和ISP(在系统可编程)功能,不占用用户资源,通过串行接口即可在系统仿真和编程。204.SiliconLabs公司51单片机5.华帮W77系列、W78系列单片机1.3.3其他系列的8位单片机1.PIC系列单片机PIC系列单片机是美国Microchip公司开发的单片机,有多种机型,其8位单片机主要有PIC10、PIC12、PIC16、PIC18几个系列。与51单片机主要在这几个方面不一样:21(1)总线结构:51的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能同时进行;而PIC的总线结构是哈佛结构,程序和数据可以同时进行访问。(2)流水线结构:MCS-51的取指和执行采用单指令流水线结构,即取一条指令,执行完后再取下一条指令;而PIC的取指和执行采用双指令流水线结构,当一条指令被执行时,允许下一条指令同时被取出,这样就实现了单周期指令。(3)寄存器组:PIC的所有寄存器,包括I/O口,定时器和程序计数器等都采用RAM结构形式,而且都只需要一个指令周期就可以完成访问和操作;而MCS-51需要两个或两个以上的周期才能改变寄存器的内容。222.AVR系列单片机AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(ReducedInstructionSetCPU)精简指令集高速8位单片机。指令简单,宽度固定,指令周期短,具备1MIPS/MHz(百万条指令每秒/兆赫兹)的高速处理能力。AVR单片机特点如下:1)AVR单片机硬件结构采取8位机与16位机的折中策略。2)AVR单片机内嵌高质量的Flash程序存储器,擦写方便,支持ISP和IAP,便于产品的调试、开发、生产、更新。3)AVR单片机的I/O线全部可单独设定为输入/输出,可上拉电阻输入/输出,可高阻输入,驱动能力强。功能强大,使用灵活。234)AVR单片机片内具备多种独立的时钟分频器,分别供URAT、I2C、SPI使用。5)AVR单片机包含丰富的外部设备。6)低功耗。习题:1、2、3、4、5单片机原理与应用教材:单片机原理与应用及C51程序设计(第4版)清华大学出版社谢维成,杨加国西华大学第2章单片机基本原理主要内容:MCS-51单片机的中央处理器结构存储器的组织外部引脚及片内总线252.151系列单片机简介2.251系列单片机的结构原理2.351系列单片机的外部引脚及片外总线2.451系列单片机的工作方式2.551系列单片机的时序章节262.1MCS-51系列单片机简介MCS-51系列单片机是美国Intel公司在1980年推出的高性能8位单片机,它包含51和52两个子系列。对于51子系列,主要有8031、8051、8751三种机型,它们的指令系统与芯片引脚完全兼容,仅片内程序存储器有所不同,8031芯片不带ROM,8051芯片带4KROM,8751芯片带4KEPROM。51子系列的主要特点:◆8位CPU。◆片内带振荡器,频率范围1.2~12MHZ。◆片内带128字节的数据存储器。◆片内带4K的程序存储器。◆程序存储器的寻址空间为64K字节。◆片外数据存储器的寻址空间为64K字节。◆128个用户位寻址空间。27◆21个字节特殊功能寄存器。◆4个8位的并行I/O接口:P0、P1、P2、P3。◆2个16位定时器/计数器◆2个优先级别的5个中断源。◆1个全双工的串行I/O接口,可多机通信。◆111条指令,含乘法指令和除法指令。◆片内采用单总线结构。◆有较强的位处理能力。◆采用单一+5V电源。对于52子系列,有8032、8052、8752三种机型。52子系列与51子系列相比大部分相同,不同之处在于:片内数据存储器增至256字节;8032芯片不带ROM,8052芯片带8KROM,8752芯片带8KEPROM;有3个16位定时器/计数器;6个中断源。本书以51子系列的8051介绍MCS-51单片机的基本原理2851子系列的主要特点:2.2MCS-51系列单片机的结构原理2.2.1MCS-51系列单片机的基本组成29PSENALERESETXLAT1P0.0~P0.7P2.0~P2.7RAM地址寄存器RAMP0锁存器P2锁存器EPROM或ROM程序地址寄存器缓冲器B寄存器ACC暂存器2暂存器1ALUPSWSPPC增量器PCDPTRP0驱动器P2驱动器特殊功能寄存器指令寄存器定时及控制P1锁存器P3锁存器P1驱动器P3驱动器振荡器VssP1.0~P1.7P3.0~P3.7EAXLAT2Vcc2.2.2MCS-51系列单片机的内部结构302.2.38051的中央处理器(CPU)1.运算部件以算术逻辑运算单元ALU为核心,包含累加器ACC(A)、B寄存器、暂存器1、暂存器2、标志寄存器PSW等部件。

逻辑运算单元ALU:8位的运算器,可以实现算术运算、逻辑运算,数据传输、程序转移等功能。

累加器ACC(A):参与绝大多数运算处理。寄存器B称为辅助寄存器:辅助累加器ACC(A)完成乘法和除法运算。

标志寄存器PSW:用于保存指令执行的状态,以供程序查询和判别;4位状态标志和2位控制标志。D7D6D5D4D3D2D1D0CACF0RS1RS0OV-PPSWC(PSW.7):进位或借位标志位。AC(PSW.6):辅助进位或借位标志位。F0(PSW.5):用户标志位。RS1、RS0(PSW.4、PSW.3):寄存器组选择位OV(PSW.2):溢出标志位。P(PSW.0):偶校验标志位。RS1RS0工作寄存器组000组(00H-07H)011组(08H-0FH)102组(10H-17H)113组(18H-1FH)33【例2-1】试分析下面指令执行后,累加器A,标志位C、AC、OV、P的值。

MOVA,#67H

ADDA,#58H

加法运算过程如下:

67H=01100111B58H=01011000B

01100111B

+

01011000B

10111111=0BFH则执行后累加器A中的值为0BFH,由相加过程得C=0、AC=0、OV=1、P=1。2.控制部件

包括定时和控制电路、指令寄存器、指令译码器、程序指针PC、PC增量器、堆栈指针SP、数据指针DPTR以及信息传送控制部件等。程序指针寄存器PC是一个16位的寄存器,8051单片机通过PC控制从程序存储器取指令。堆栈指针寄存器SP,8位,用于控制对堆栈空间进行操作,堆栈空间位于片内数据存储器。数据指针寄存器DPTR,16位,DPTR作指针控制对片外64KB数据存储器进行访问。可分为高8位(DPH)和低8位(DPL)。3.AT89S5X单片机的双数据指针和辅助寄存器

AT89S5X单片机,两个数据指针寄存器DPTR0(DPTR)和DPTR1,两个辅助寄存器AUXR和AUXR1。其中:DPS=0,选择数据寄存器DPTR0;DPS=1,选择数据寄存器DPTR1;默认DPS=0。D7D6D5D4D3D2D1D0

-------DPSA2H3737D7D6D5D4D3D2D1D0

---WDIDLEDISRTO--DISALE8EH其中:DISALE:ALE的禁止/允许位。ALE=0,ALE信号有效,发ALE脉冲;DISRTO:禁止/运行看门狗定时器WDT溢出时输出复位信号。DISRTO=0,WDT溢出时,允许向RST引脚输出一个高电平脉冲,使单片机复位。DISRTO=1,禁止。WDIDLE:WDT在空闲模式下的禁止/允许位。

WDIDLE=0,允许WDT在空闲模式下计数;

WDIDLE=0,禁止。复位时,AUXR寄存器值为0。2.2.48051的存储器结构存储器存放程序,一般由只读存储器芯片构成,又可简称为ROM;也可存放固定不变的常数和数据表格,数据存储器:存放数据,一般用随机存储器构成,所以又可简称为RAM。通常用作工作区及存放数据。程序存储器:1.程序存储器1) 程序存储器的编址与访问程序存储器总容量为64KB,地址范围0000H~0FFFFH。从物理结构分片内和片外,8031和8032片内没有集成程序存储器,8751情况与8051片内集成4KB,8052和8752内部集成了8KB程序存储器。

片内程序存储器地址范围0000H~0FFFH(1FFFH),片外程序存储器地址范围0000H~FFFFH。片内和片外通过芯片上(—EA)片外程序存储器选用端引脚区分。具体见下图:2) 程序存储器的特殊地址地址特点0000H复位地址0003H外部中断0中断入口地址000BH定时/计数器0中断入口地址0013H外部中断1中断入口地址001BH定时/计数器1中断入口地址0023H串行口中断入口地址002BH定时/计数器2中断入口地址(仅52子系列有)2.数据存储器1)片内数据存储器分为片内随机存储块和特殊功能寄存器(SFR)块。片内随机存储块128或256(52)字节,地址范围00H~7FH或FFH(52)。

特殊功能寄存器(SFR)块128字节,地址范围80H~0FFH;片内随机存储块按功能又可以分成以下几个部分:工作寄存器组区、位寻址区、一般RAM区和堆栈区。(1)工作寄存器组区(通用寄存器)00H~1FH单元,共32个字节。分4组,称为0组、1组、2组和3组。每组8个,依次用R0~R7表示和使用。组的选择见前面。(2)位寻址区。20H~2FH单元,16字节,128位。可以按位方式使用,位地址范围为00H~7FH。字节单元地址D7D6D5D4D3D2D1D020H070605040302010021H0F0E0D0C0B0A090822H171615141312111023H1F1E1D1C1B1A191824H272625242322212025H2F2E2D2C2B2A292826H373635343332313027H3F3E3D3C3B3A393828H474645444342414029H4F4E4D4C4B4A49482AH57565554535251502BH5F5E5D5C5B5A59582CH67666564636261602DH6F6E6D6C6B6A69682EH77767574737271702FH7F7E7D7C7B7A7978(3)一般RAM区。30H~7FH或FFH(52)是一般RAM区,也称为用户RAM区,共80(208)字节,用字节地址按字节方式使用。(4)堆栈区与堆栈指针。存储器中按“先入后出、后入先出”的原则进行管理的一段存储区域。通过堆栈指针SP管理。堆栈有入栈和出栈两种操作,入栈时先改变堆栈指针SP,再送入数据,出栈时先送出数据,再改变堆栈指针SP。根据入栈方向堆栈一般分两种:向上生长型和向下生长型。向上生长型堆栈

向下生长型堆栈8051单片机堆栈:向上生长型,位于片内随机存储块,以字节为单位,复位时,SP的初值为07H,因此复位时堆栈实际上是从08H开始。(5)特殊功能寄存器。

除PC外,8051有18个特殊功能寄存器,其中3个为双字节,共占用21个字节。对于52子系列,特殊寄存器有21个,其中5个为双字节,共占用26个字节。CPU专用寄存器:累加器A(E0H),寄存器B(F0H),程序状态寄存器PSW(D0H),堆栈指针SP(81H),数据指针DPTR(82H、83H)。并行接口:P0~P3(80H、90H、A0H、B0H)。串行接口:串口控制寄存器SCON(98H),串口数据缓冲器SBUF(99h),电源控制寄存器PCON(87H)。定时/计数器:方式寄存器TMOD(89H),控制寄存器TCON(88H),初值寄存器TH0、TL0(8CH、8AH)/TH1、TL1(8DH、8BH)。中断系统:中断允许寄存器IE(A8H),中断优先级寄存器IP(B8H)。定时/计数器2相关寄存器:定时/计数器2控制寄存器T2CON(CBH),定时/计数器2自动重装寄存器RLDL、RLDH(CAH、CBH),定时/计数器2初值寄存器TH2、TL2(CDH、CCH)(仅52子系列有)。见书表2.4。注意:字节地址能够被8整除的特殊功能寄存器,既能按字节方式处理,也能按位方式处理。2) 片外数据存储器

片外用RAM芯片扩展,最多为64KB,地址范围为0000H~0FFFFH。通过DPTR作指针间接方式访问。低端的256字节,也可用两位十六进制地址编址,地址范围为00H~0FFH,用R0和R1间接方式访问。8051单片机的存储器地址空间程序存储器64KB,地址范围为0000H—0FFFFH片内数据存储器256B,地址范围为00H—0FFH片外数据存储器64KB,地址范围为0000H—0FFFFH片外数据存储器低256B,地址范围为0000H—0FFFFH位数据256B,地址范围为00H—0FFH注意:第一,64K的程序存储器和64K的片外数据存储器地址空间都为0000H—0FFFFH,地址空间是重叠的,它们如何区分呢?第二,位数据、片内数据存储器和片外数据存储器的低256字节的地址空间是重叠的,它们如何区分呢?512.2.58051的输入/输出接口

4个8位的并行I/O接口:P0、P1、P2和P3。既可以作输入,也可以作输出,既可按8位处理,也可按位方式使用。输出时具有锁存能力,输入时具有缓冲功能。1.P0口地址/数据分时复用接口。通用的I/O接口

作通用的I/O接口,输出时,须外接上拉电阻。输入时,须先向输出锁存器写写“1”。2.P1口只能作通用I/O接口使用。通用I/O输入时,也须先向输出锁存器写写“1”。3.P2口

通用I/O接口高8位地址线。通用I/O输入时,也须先向输出锁存器写写“1”。4.P3口

通用I/O接口每一根线还具有独立的第二种功能P3口的引脚第二功能P3.0

RXD串行口输入端P3.1

TXD串行口输出端P3.2

外部中断0请求输入端,低电平有效P3.3外部中断1请求输入端,低电平有效P3.4

定时/计数器0外部计数脉冲输入端P3.5

定时/计数器1外部计数脉冲输入端P3.6—WR外部数据存储器写信号,低电平有效P3.7

—RD外部数据存储器读信号,低电平有效通用I/O输入时,也须先向输出锁存器写“1”。P3口的结构2.3MCS-51系列单片机的外部引脚及片外总线57一.输入/输出引脚(1)P0口(39~32脚):P0.0~P0.7统称为P0口。在不接片外存储器与不扩展I/O口时,作为准双向输入/输出口。在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。(2)P1口(1~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O口使用。对于52子系列,P1.0与P1.1还有第二功能:P1.0可用作定时器/计数器2的计数脉冲输入端T2,P1.1可用作定时器/计数器2的外部控制端T2EX。(3)P2口(21~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线。(4)P3口(10~17脚):P3.0~P3.7统称为P3口。除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。58二.控制线(1)ALE/PROG(30脚):地址锁存信号输出端。ALE在每个机器周期内输出两个脉冲。(2)

(29脚):片外程序存储器读选通信号输出端,低电平有效。(3)RST/VPD(9脚):RST即为RESET,VPD为备用电源。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。(4)/VPP(31脚):EA为片外程序存储器选用端。该引脚低电平时,选用片外程序存储器,高电平或悬空时选用片内程序存储器。三.主电源引脚VCC(40脚):接+5V电源正端。VSS(20脚):接+5V电源地端。59四.外接晶体引脚XTAL1、XTAL2(19、18脚):当使用单片机内部振荡电路时,这两个引脚用来外接石英晶体和微调电容,如图(a)。当采用外部时钟时,对于HMOS单片机,XTAL1引脚接地,XTAL2接片外振荡脉冲输入(带上拉电阻);对于CHMOS单片机,XTAL2引脚接地,XTAL1接片外振荡脉冲输入(带上拉电阻),如图(b)和(c)。XTAL1XTAL2外部振荡信号XTAL1XTAL2VccVssR外部振荡信号XTAL2XTAL1VccVssR(a)内部时钟方式(b)HMOS工艺外接时钟(c)CHMOS工艺外接时钟602.3.2片外总线结构控制总线:P3第二功能和RST、EA、ALE和PSEN控制线。61地址总线:16位(A15~A0),寻址范围都为64KB。P0低8位,P2高8位。数据总线:8位(D7~D0),P0口直接提供。用户I/O线:P1口,P3口第二功能没有使用的信号线,P0、P2口(没有用作地址线、数据线时)2.4MCS-51系列单片机的工作方式2.4.1复位方式在时钟电路工作以后,当外部电路使得RST端出现2个机器周期(24个时钟周期)以上的高电平,系统内部复位。复位有两种方式:上电复位和按钮复位。如图所示。VccRSTVssMCS-51VccRSTVssMCS-511k1k200

(a)上电复位电路(b)按钮复位电路62特殊功能寄存器初始内容特殊功能寄存器初始内容A00HTCON00HPC0000HTL000HB00HTH000HPSW00HTL100HSP07HTH100HDPTR0000HSCON00HP0~P3FFHSBUFXXXXXXXXBIPXX000000BPCON0XXX0000BIE0X000000BTMOD00H632.4.2程序执行方式2.4.3单步执行方式单步执行:在外部单步脉冲的作用下,使单片机一个单步脉冲执行一条指令后就暂停下来,再一个单步脉冲再执行一条指令后又暂停下来。它通常用于调试程序、跟踪程序执行和了解程序执行过程。

单片机没有单步执行中断,MCS-51单片机的单步执行也要利用中断系统完成。MCS-51的中断系统规定,从中断服务程序中返回之后,至少要再执行一条指令,才能重新进入中断。

将外部脉冲加到INT0引脚,平时让它为低电平,通过编程规定INT0为电平触发。那么,不来脉冲时INT0总处于响应中断的状态。在INT0的中断服务程序中安排下面的指令:PAUSE0:JNBP3.2,PAUSE0;若INT0=0,不往下执行PAUSE1:JBP3.2,PAUSE1;若INT0=1,不往下执行RETI;返回主程序执行下一条指令642.4.4AT89S5X单片机的空闲和掉电方式1.空闲工作方式空闲工作方式:CPU进入睡眠状态,即CPU停止工作(实际是关断送给CPU的时钟信号),而片内外的功能部件任然继续工作,内部RAM、SFR、PC、SP、PSW、P0~P3端口等都保持进入空闲工作方式前的状态不变。空闲工作方式的进入是CPU通过执行指令把电源控制寄存器PCON中的IDL位置1实现。65D7D6

D5D4D3D2D1D0PCONSMOD—

——GF1GF0PDIDLSMOD(PCON.7):波特率加倍位。GF1、GF0:通用标志位。PD(PCON.1):掉电方式位。当PD=1时,进入掉电方式。IDL(PCON.0):空闲方式位。当IDL=1时,进入空闲方式。2.4.4AT89S5X单片机的空闲和掉电方式2.掉电工作方式PCON寄存器的PD位置1,进入掉电工作方式。振荡器和片内的功能部件都停止工作,芯片的VCC可由备用电源供电。内部RAM和SFR等都保持进入掉电工作方式前的状态不变。66空闲工作方式和掉电工作方式的退出也有两种:一种是硬件复位;一种是外部中断。

672.4.5AT89S5X单片机的ISP编程方式1.AT89S5X单片机Flash存储器编程概述在系统编程(ISP),有串行和并行两种编程模式,通常采用串行编程模式。特点:常规电压4-5V。接口简单,下载接口通常直接和开发板做在一起,通过ISP下载编程器和微机的USB接口连接。在编程过程中一般同时完成擦除、写入、校验和加密工作。2.AT89S5X单片机Flash存储器加密3.AT89S5X单片机ISP接口MOSI(串行数据输入线,P1.5引脚)、MISO(串行数据输出线,P1.6引脚)和SCK(串行时钟线,P1.7引脚)3根线,同时需要将RST接VCC。2.5MCS-51系列单片机的时序2.5.1时钟周期、机器周期和指令周期指令周期:计算机取一条指令至执行完该指令需要的时间称为指令周期。机器周期:机器周期是单片机的基本操作周期,每个机器周期包含S1、S2、

、S66个状态,每个状态包含2拍P1和P2,每一拍为一个时钟周期(振荡周期)。因此,一个机器周期包含12个时钟周期。依次可表示为S1P1、S1P2、S2P1、S2P2、…、S6P1、S6P2。68时钟周期(振荡周期):单片机内部时钟电路产生(或外部时钟电路送入)的信号周期。69S1S2S3S4S5S6读操作码读无效(丢失)单字节单机器周期指令S1S2S3S4S5S6读操作码读第二个字节双字节单机器周期指令70S1S2S3S4S5S6读操作码S1S2S3S4S5S6三次读操作无效(丢失)单字节、双机器周期指令的时序712.5.2.访问外部ROM的时序

用到P0和P2口,P0分时用做低位地址总线和数据总线,P2口用做高8位地址总线。

控制信号ALE和72访问外部ROM过程如下:(1)在S1P2时刻ALE信号有效。(2)在P0口送出ROM地址低8位,在P2口送出ROM地址高8位。A0~A7只持续到S2P2结束,故在外部要用锁存器加以锁存,用ALE作为锁存信号。A8~A15在整个读指令过程都有效,不必再接锁存器。到S2P2前ALE失效。(3)在S3P1时刻开始低电平有效,用它来选通外部ROM的使能端,所选中ROM单元的内容,即指令,从P0口读入到CPU,然后失效。(4)在S4P2后开始第2次读人,过程与第1次相同。73用到P0和P2口,P0分时用做低位地址总线和数据总线,P2口用做高8位地址总线。

控制信号ALE、、和2.5.3.访问外部RAM的时序74访问外部RAM的过程如下:(1)在第一次ALE有效到第二次ALE有效之间的过程,是和读外部程序ROM过程一样的,即P0口送出ROM单元低8位地址,P2口送出高8位地址,然后在有效后,读入ROM单元的内容。(2)第二次ALE有效后,P0口送出RAM单元的低8位地址,P2口送出RAM单元的高8位地址。(3)第二个机器周期的第一次ALE信号不再出现,此时也保持高电位(无效),而在第二个机器周期的S1P1时读信号开始有效,可用来选通RAM芯片,然后从P0口读出RAM单元的数据。(4)第二机器周期的第二次ALE信号仍然出现,也进行一次外部ROM的读操作,但仍属于无效的操作。若是对外部RAM进行写操作,则应用

写信号来选通RAM芯片,其余的过程与读操作是相似的。习题2、4、5、7、9、10、11、1475单片机原理与应用教材:单片机原理与应用及C51程序设计(第4版)清华大学出版社谢维成,杨加国西华大学77第3章

单片机汇编程序设计学习重点:51单片机的寻址方式51单片机的指令系统常用汇编程序设计77章节3.151系列单片机汇编指令格式及标识3.251单片机指令的寻址方式3.351单片机的指令系统3.451单片机汇编程序常用伪指令3.551单片机汇编程序设计783.1MCS-51系列单片机汇编指令格式及标识3.1.1指令格式[标号:]操作码助记符[目的操作数][,源操作数][;注释](1)操作码助记符表明指令的功能,不同的指令有不同的指令助记符,它一般用说明其功能的英文单词的缩写形式表示。(2)操作数用于给指令的操作提供数据、数据的地址或指令的地址,操作数往往用相应的寻址方式指明。(3)标号是该指令的符号地址,后面须带冒号。(4)注释是对该指令的解释,前面须带分号。79指令:计算机完成基本操作的命令。指令系统:一种计算机能够执行的全部指令的集合。指令通常由操作码和操作数两部分组成。3.1.2指令中用到的标识符(1)Ri和Rn:表示当前工作寄存器区中的工作寄存器,i取0或1,表示R0或R1。n取0~7,表示R0~R7。(2)#data:表示包含在指令中的8位立即数。(3)#data16:表示包含在指令中的16位立即数。(4)rel:以补码形式表示的8位相对偏移量,范围为-128~127,主要用在相对寻址的指令中。(5)addr16和addr11:分别表示16位直接地址和11位直接地址。(6)direct:表示直接寻址的地址。(7)bit:表示可位寻址的直接位地址。80(8)(X):表示X单元中的内容。(9)(10)/和→符号:“/”表示对该位操作数取反,但不影响该位的原值。“→”表示操作流程,将箭尾一方的内容送入箭头所指一方的单元中去。3.2MCS-51系列单片机寻址方式MCS-51单片机的寻址方式按操作数的类型,可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址,813.2.1常数寻址——立即寻址立即寻址:操作数是常数,直接在指令中给出,常数前面以“#”符号作前缀。例如:MOVA,#20H3.2.2寄存器数寻址——寄存器寻址寄存器寻址:操作数存放在寄存器中,指令中直接给出寄存器名称的寻址方式。寄存器:八个通用寄存器R0~R7、累加器A、寄存器B和数据指针寄存器DPTR。例如:MOVA,R03.2.3存储器数寻址1.直接寻址直接寻址:操作数在存储器中,指令中直接提供存储单元的地址的寻址方式。对象:片内数据存储器和特殊功能寄存器。例如:MOVA,20H执行后累加器A的内容为30H2.寄存器间接寻址寄存器间接寻址:操作数在存储器中,存储单元的地址存放在寄存器中,在指令中通过寄存器来提供的存储单元的地址。形式为:@寄存器名。例如:MOVA,@R0执行后累加器A的内容为12H3.变址寻址变址寻址:操作数在存储器中,操作数的地址由基址寄存器中的内容加上变址寄存器中的内容得到。基址寄存器:数据指针寄存器DPTR和程序计数器PC变址寄存器:累加器A访问对象:程序存储器。例如:MOVCA,@A+DPTR执行后累加器A中的内容为30H3.2.4位寻址位寻址:操作数是二进制位的寻址方式。位地址的表示方式:(1)直接位地址(00H~0FFH)。例如,20H。(2)字节地址带位号。例如,20H.3表示20H单元的3位。(3)特殊功能寄存器名带位号。例如,P0.1表示P0口的1位。(4)位符号地址。例如,TR0是定时/计数器T0的启动位。3.2.5指令寻址1.绝对寻址绝对寻址:指令的操作数中直接提供目的位置的地址或地址的一部分。2.相对寻址相对寻址:相对转移指令中,由当前程序计数器PC值加上指令中给出的偏移量rel得到目的位置的地址。注意:(1)当前PC值是指转移指令执行时的PC值,它等于转移指令的地址加上转移指令的字节数。实际上是转移指令的下一条指令的地址。(2)偏移量rel是8位有符号数,以补码表示,它的取值范围为-128~+127。当为负值时向前转移,当为正数时向后转移。相对寻址的目的地址为:目的地址=当前PC+rel=转移指令的地址+转移指令的字节数+rel3.351系列单片机的指令系统分五大类:数据传送指令、算术运算指令、逻辑操作指令、控制转移指令和位操作指令。3.3.1数据传送指令指令系统中数量最多、使用也最频繁的一类指令。共29条,涉及到8个助记符:MOV、MOVX、MOVC、XCH、XCHD、PUSH、POP和SWAP。89分组格式功能说明片内数据存储器传送指令MOVA,#dataMOVA,RnMOVA,directMOVA,@RiA←#dataA←RnA←(direct)A←(Ri)以A为目的操作数。MOVRn,AMOVRn,directMOVRn,#dataRn←ARn←(direct)Rn←#data以Rn为目的操作数。MOVdirect,AMOVdirect,RnMOVdirect,directMOVdirect,@RiMOVdirect,#data(direct)

←A(direct)

←Rn(direct)

←(direct)(direct)

←(Ri)(direct)

←#data以直接地址direct为目的操作数。MOV@Ri,AMOV@Ri,directMOV@Ri,#data(Ri)

←A(Ri)←(direct)(Ri)←#data以间接地址@Ri为目的操作数。MOVDPTR,#data16DPTR←#data16以DPTR为目的操作数。90分组格式功能说明片内数据存储器传送指令MOVDPTR,#data16DPTR←#data16以DPTR为目的操作数。片外数据存储器传送指令MOVXA,@RiMOVXA,@DPTRA←(Ri)A←(DPTR)把片外数据存储器的内容读到A。MOVX@Ri,AMOVX@DPTR,A(Ri)←A(DPTR)←A把A的内容写到片外数据存储器。程序存储器传送指令MOVCA,@A+DPTR

MOVCA,@A+PCA←(A+DPTR)A←(A+PC)把程序存储器的内容读到A。数据交换指令XCHA,RnXCHA,directXCHA,@RiXCHD

A,@RiSWAP

AA<=>RnA<=>(direct)A<=>(Ri)A0~3<=>(Ri)0~3A0~3<=>A4~7前3条A和Rn、(direct)、(Ri)字节交换第4条A和(Ri)半字节交换SWAP累加器A高低4位互换堆栈操作指令PUSHdirectPOP

directSP←SP+1(SP)←(direct)(direct)←(SP)SP←SP-1PUSH入栈POP出栈说明如下:1.数据传送指令不影响。2.源操作数和目的操作数中的Rn和@Ri不能相互配对。如不允许有“MOVRn,Rn”,“MOV@Ri,Rn”这样的指令。如果涉及到相应处理,可通过累加器A中间处理。3.片外数据存储器、程序存储器都只能通过累加器A传送,程序存储器只能读,不能写。4.堆栈操作指令通常是用来保存和恢复数据,如果多个数据的保存和恢复,要先入栈的数据后出栈恢复,后入栈的数据先出栈恢复。92【例3-1】将R0的内容送R6 MOVA,R0 MOVR6,A

【例3-2】若入栈保存时入栈的顺序为:

PUSHA PUSHB

则出栈的顺序为:

POPB POPA3.3.2算术运算指令算术运算指令实现、减、乘、除运算。共24条,涉及8个助记符:ADD、ADDC、INC、SUBB、DEC、MUL、DIV和DA。分为五组:加法指令、减法指令、乘法指令、除法指令和十进制调整指令。分组格式功能说明加法指令ADDA,RnADDA,directADDA,@RiADDA,#dataA←A+RnA←A+(direct)A←A+(Ri)A←A+#data一般的加法指令累加器A和第2个操作数相加,结果送回A。

ADDCA,RnADDCA,directADDCA,@RiADDCA,#dataA←A+Rn+CA←A+(direct)+CA←A+(Ri)+CA←A+#data+C带进位加法指令累加器A和第2个操作数相加,再加进位,结果送回A。

INCAINCRnINCdirectINC@RiINCDPTRA←A+1Rn←Rn+1(direct)←(direct)+1(Ri)←(Ri)+1DPTR←DPTR+1加1指令分组格式功能说明减法指令SUBBA,RnSUBBA,directSUBBA,@RiSUBBA,#dataA←A-Rn-CA←A-(direct)-CA←A-(Ri)-CA←A-#data-C带借位减法指令累加器A和第2个操作数相减,再加减位,结果送回A。DECADECRnDECdirectDEC@RiA←A-1Rn←Rn-1direct←

(direct)-1(Ri)←(Ri)-1减1指令乘法指令MULABA←A×B积低8位B←A×B积高8位A和B中两个8位无符号相乘,结果送B和A除法指令DIVABA←A÷B的8位商B←A÷B的8位余数A和B中两个8位无符号相除,结果送B和A十进制调整指令DAA对A中的结果按BCD码调整95说明:1.算术运算指令执行要影响标志位。其中:ADD、ADDC和SUBB指令要影响CY、AC、OV和P标志位,INC和DEC只影响P标志位;MUL指令执行后CY复位,当积大于255时,OV为1,否则,OV为0;DIV指令执行后一般情况下CY和OV都清0,而当B寄存器中的除数为0时,CY和OV置1。2.51单片机只有带借位减法,没有一般减法,一般减法可通过带借位减法实现,只需要执行带借位减法前先把借位清零。3.51单片机的乘法和除法指令都只有一条,针对的只能是无符号数。4.十进制调整指令只有一条DAA,只能用在ADD或ADDC指令的后面,用来对两个二位压缩的BCD码数通过用ADD或ADDC指令相加后存于累加器A中的结果进行调整,使之得到正确的十进制结果。调整过程:(1)若累加器A的低四位为十六进制的A~F或辅助进位标志AC为1,则累加器A中的内容做加06H调整。(2)若累加器A的高四位为十六进制的A~F或进位标志CY为1,则累加器A中的内容做加60H调整。【例3-3】求R3←

R2

-

R1。程序: MOVA,R2 CLRC SUBBA,R1 MOVR3,A【例3-4】在R3中有十进制数67,在R2中有十进制数85,用十进制运算,运算的结果放于R5中。程序: MOVA,R3 ADDA,R2 DAA MOVR5,A3.3.3逻辑操作指令逻辑操作指令对操作数按逻辑量处理。共24条指令,涉及到9个助记符:ANL、ORL、XRL、CLR、CPL、RL、RR、RLC和RRC。分为五组:逻辑与、逻辑或、逻辑异或、逻辑清零和求反以及循环移位指令。分组格式功能说明逻辑与指令ANLA,Rn

ANLA,directANLA,@Ri

ANLA,#dataANLdirect,AANLdirect,#data

A←

RnA←

AÙ(direct)A←

AÙ(Ri)A←

AÙdata(direct)←(direct)ÙA(direct)←(direct)ÙdataA的数据和第2个操作数的数据按位相与,结果送回A中。逻辑或指令ORLA,Rn

ORLA,directORLA,@RiORLA,#dataORLdirect,AORLdirect,#data

A←

RnA←

AÚ(direct)A←

AÚ(Ri)A←

AÚdata(direct)←(direct)ÚA(direct)←(direct)ÚdataA的数据和第2个操作数的数据按位相或,结果送回A中。分组格式功能说明逻辑异或指令XRLA,RnXRLA,directXRLA,@Ri

XRLA,#dataXRLdirect,AXRLdirect,#data

A←

A"

RnA←

A"(direct)A←

A"(Ri)A←

A"data(direct)←(direct)"A(direct)←(direct)"dataA的数据和第2个操作数的数据按位相异或,结果送回A中。逻辑清零和求反指令CLRACPLAA←

0A←

/A累加器A清零累加器A取反循环移位指令RLARRARLCARRCA累加器A循环左移累加器A循环右移带进位的循环左移带进位的循环右移100说明:1.逻辑与通常用于实现对指定位清0,其余位不变;逻辑或通常用于实现对指定位置1,其余位不变;逻辑异或通常用于实现指定位取反,其余位不变。2.循环移位指令通常用于把一个字节各位依次取出使用。【例3-5】写出完成下列功能的指令段。(1)

对累加器A中的1、3、5位清0,其余位不变。

ANLA,#11010101B(2)

对累加器A中的2、4、6位置1,其余位不变。

ORLA,#01010100B(3)

对累加器A中的0、1位取反,其余位不变。

XRLA,#00000011B3.3.4控制转移指令控制转移指令用于改变程序执行的顺序,实现循环结构和分支结构。共17条,涉及到12个助记符:LJMP、AJMP、SJMP、JMP、JZ、JNZ、CJNE、DJNZ、ACALL、LCALL、RET和RETI。分为四组:无条件转移指令、条件转移指令、子程序调用及返回指令。分组格式功能说明无条件转移指令

LJMP

addr16PC←addr16长转移指令AJMP

addr11PC10~0

←addr11绝对转移指令SJMP

relPC←PC+2+rel相对转移指令JMP

@A+DPTRPC←A+DPTR间接转移指令条件转移指令JZrelJNZrel若A=0,则PC←PC+2+rel若A¹0,则PC←PC+2+rel累加器A判零条件转移指令判非0指令判非0指令CJNEA,#data,relCJNERn,#data,relCJNE@Ri,#data,relCJNEA,direct,rel比较转移指令分组格式功能说明条件转移指令DJNZRn,relDJNZdirect,rel先将第1个操作数中的内容减1,再判断内容是否等于零,若不为零,则转移减1不为零转移指令子程序调用指令LCALLaddr16PC←PC+3SP←SP+1(SP)←PC7~0

SP←SP+1(SP)←PC15~8

PC←addr16长调用指令ACALL

addr11PC←PC+2SP←SP+1(SP)←PC7~0

SP←SP+1(SP)←PC15~8PC10~0←addr11绝对调用指令返回指令RETPC15~8←(SP)SP←SP-1PC7~0←(SP)SP←SP-1子程序返回指令RETIPC15~8←(SP)SP←SP-1PC7~0←(SP)SP←SP-1中断优先级触发位清零中断返回指令103说明:1.无条件转移指令当指令执行后,程序将无条件地转移到指令指定的地方。条件转移指令当条件满足时,程序转移到指定位置,条件不满足时,程序将继续顺次执行。2.LJMP和AJMP是绝对转移,其他都是相对转移。LJMP可实现程序存储器64KB空间范围内转移,AJMP实现当前位置2KB空间内转移,相对转移转移范围为-128--+127字节。3.子程序调用指令转移前会先将当前的PC值(指令执行的PC值)入栈保存。RET(RETI)放在子程序(中断服务子程序)的最后位置,用来返回主程序的断点位置,RETI和RET基本操作相同,只是RETI在回主程序前要将先将相应的中断优先级触发位清零。4.对于SJMP指令,在单片机汇编程序设计中,通常在最后位置放一条:HERE:SJMPHERE(或SJMP$),转移到指令自己本身,进入等待状态,使程序不再向后执行以避免执行后面的内容而出错。5.JMP

@A+DPTR是51单片机中唯一一条间接转移指令,这条指令一般和一个无条件转移指令表一起实现多分支转移程序,因而又称为多分支转移指令,具体情况后面程序设计部分介绍。6.累加器A判零条件转移指令和比较转移指令通常用来实现分支结构,减1不为零转移指令通常用来实现循环结构。104【例3-6】把片外RAM的30H单元开始的数据块传送到片内RAM的40H开始的位置,直到出现零为止。片内、片外数据传送以累加器A过渡。每次传送一个字节,通过循环处理,直到处理到传送的内容为0结束。程序如下: MOVR0,#30H MOVR1,#40HLOOP:MOVXA,@R0 MOV@R1,A INCR1 INCR0 JNZLOOP SJMP$105【例3-7】统计片内RAM中30H单元开始的20个数据中0的个数,放于R7中。用R2做循环变量,最开始置初值为20;用R7做计数器,最开始置初值为0;用R0做指针访问片内RAM单元,最开始置初值为30H;用DJNZ指令对R2减1转移进行循环控制,在循环体中用指针R0依次取出片内RAM中的数据,判断如为0,则R7中的内容加1。程序段如下:MOVR0,#30HMOVR2,#20MOVR7,#0LOOP:MOVA,@R0CJNEA,#0,NEXTINCR7NEXT:INCR0DJNZR2,LOOPSJMP$3.3.5位操作指令位操作指令共有17条,涉及到12个助记符:MOV、CLR、SETB、ANL、ORL、JC、JNC、JB、JNB和JBC。分为三组:位传送、位逻辑运算、位控制转移等操作。分组格式功能说明位传送MOV

C,bitMOV

bit,CC←(bit)(bit)←C位运算器C与一般位之间的相互传送。位逻辑运算

CLR

CCLR

bitC←0(bit)←0位清0SETB

CSETB

bitC←1(bit)←1位置1CPL

CCPL

bitC←/C(bit)←/(bit)位取反ANL

C,bitANL

C,/bitC←C∧(bit)C←C∧/(bit)位与ORL

C,bitORL

C,/bitC←C∨(bit)C←C∨/(bit)位或分组格式功能说明位控制转移指令JC

relJNC

rel若C=1,则转移,PC←PC+2+rel;若C=0,则转移,PC←PC+2+rel;以C为条件的位转移指令JB

bit,relJNB

bit,relJBC

bit,rel若(bit)=1,则转移,PC←PC+3+rel;若(bit)=0,则转移,PC←PC+3+rel;若(bit)=1,则转移,PC←PC+3+rel,且(bit)←0;以bit为条件的位转移指令空操作指令NOPPC←PC+1108说明:1.位传送必须有位运算器C参与,不能直接实现两位之间的传送。2.位逻辑运算指令通常用来实现各种各样的逻辑功能。3.位转移指令通常用来实现各种位测试。4.空操作指令执行时,不做任何操作,但要消耗一个机器周期时间,常常用它来构造延时程序。109位逻辑运算指令可以实现各种各样的逻辑功能。【例3-8】利用位逻辑运算指令编程实现图所示硬件逻辑电路的功能。程序:MOVC,P1.0ANLC,P1.1CPLCORLC,/P1.2MOVF0,CMOVC,P1.3ORLC,P1.4ANLC,F0CPLCMOVP1.5,CSJMP$110【例3-15】从片外RAM的30H单元处开始有100个数据,统计当中正数、0和负数的个数,分别放于R5、R6、R7中。设用R2作计数器,用DJNZ指令对R2减1转移进行循环控制,在循环体外设置R0指针,指向片外RAM30H单元,对R5、R6、R7清零,在循环体中用指针R0依次取出片外RAM中的100个数据,然后判断,如大于0,则R5中的内容加1;如等于0,则R6中的内容加1;如小于0,则R7中的内容加1。程序:MOVR2,#100MOVR0,#30HMOVR5,#0MOVR6,#0MOVR7,#0LOOP:MOVXA,@R0CJNEA,#0,NEXT1INCR6SJMPNEXT3NEXT1:CLRCSUBBA,#80HJCNEXT2INCR7SJMPNEXT3NEXT2:INCR5NEXT3:IN

温馨提示

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

评论

0/150

提交评论