单片机原理及系统设计教程_第1页
单片机原理及系统设计教程_第2页
单片机原理及系统设计教程_第3页
单片机原理及系统设计教程_第4页
单片机原理及系统设计教程_第5页
已阅读5页,还剩490页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

单片机概述单片机是微型计算机的一种把计算机的所有基本功能部件如控制器、运算器、RAM、ROM等集成在一个芯片上,构成一个微型的计算机1何为单片机?计算机系统计算机系统由五大部分--即控制单元(CU)、算术运算单元(ALU)、存储器(Memory)、输入设备(Input)、输出设备(Output)组成.计算机系统的发展早期计算机:CU和ALU分离中央处理单元(CPU)的出现MPU的发展产生了两条分支:一支往高性能、高速度、大容量方向发展;另一支则往多功能方向发展,出现单片机。单片机是计算机发展的一个分支单片机专用于控制目的,嵌入到被控对象中,具有计算机的特点。

PC机专用于多功能、海量运算。

单片机与PC机是计算机发展史中的两个不同分支。

单片机注重小型化,功能上具有明确目的。发展方向是SOC片上系统。

计算机能够按照人所设计的工作步骤进行不厌其烦的重复性工作,并能根据不同的外部条件进行正确处理,使得人力可以从大量的事务性工作中解脱出来,而且计算机的准确性和实时性也是人所不能比拟的。单片机系统就是“嵌入式”系统嵌入式系统分为两个层次:自己编写全部控制程序——底层应用。利用实时多任务操作系统RTOS,在操作系统中添加具有针对性的控制任务(程序)——高层应用。“单片机原理”课程教会我们底层应用uc/OS-II是“微控制器操作系统”,它将教会我们高层应用。单片机也称为:微控制器(MCU)单片机应用举例

家用电器:全自动洗衣机;微波炉;电视机控制器;空调控制器;DVD/VCD;数码照相机;摄像机;手机……智能玩具汽车控制:发动机电喷控制;ABS防抱死;ASR/TRC牵引力控制;自动变速;车架控制…….计算机智能接口:硬盘控制器;CD控制器;键盘;打印机;显示器控制器……计算机的基本结构计算机主要模块CPU、存储器、接口连接三者用“总线”:数据总线DB;地址总线AB;控制总线CB接口连接外部设备:显示器;键盘;鼠标;打印机;以及硬盘;光盘;软盘;U盘、还有互联网等等单片机浓缩了计算机基本模块对比项目个人计算机PC单片机CPU位数64位8、16、32位内存大小256MB以上128字节~几百KB工作频率1GHZ以上几十兆赫兹接口类型繁多的基本接口和智能接口只有基本接口基本接口并口、串口、定时器、中断系统并口、串口、定时器、中断系统智能接口FDD、IDE、USB、显示器、声卡少量类型单片机有USB、CAN、等接口结构特点多个IC多个电路板结构单片IC结构两种计算机对比计算机的内存内存分为只读存储器ROM和随机存储器RAM两类。ROM存放启动/开机程序以及一些系统子程序。PC机的BIOS就是存放在ROM中。用户编写的单片机程序也是存放在ROM中。RAM存放变量,数据。PC机还要存放从硬盘等处读入的可执行程序。ROM中的程序用于开机时,计算机能引导进入运行状态,这些程序在掉电后应保证不会消失。单片机:麻雀虽小,五脏俱全单片机设计为:专用于控制目的计算机。用于专门目的,为了降低成本,没有必要将不用的功能包含进来。单片机通常只有8位,16位,32位字长,运算速度不是很快,但用于专门的控制足够了。因数据量不大,单片机内存也没有必要做得太大。单片机应用系统功能单一,可见于我们生活中的时时处处:手机、微波炉、洗衣机、电视机、遥控器、电子词典、高档玩具……嵌入式单片机还见于计算机的许多辅助设备:键盘、硬盘、光驱、打印机等等。单片机设计为:专用于控制目的计算机。

用于专门目的,为了降低成本,没有必要将不用的功能包含进来。

单片机通常只有8位,16位,32位字长,运算速度不是很快,但用于专门的控制足够了。

因数据量不大,单片机内存也没有必要做得太大。

单片机应用系统功能单一,可见于我们生活中的时时处处:手机、微波炉、洗衣机、电视机、遥控器、电子词典、高档玩具……

嵌入式单片机还见于计算机的许多辅助设备:键盘、硬盘、光驱、打印机等等。2分类4位8位:8位的CPU,INTEL的MCS-51系列、MOTOLORA的MC6801系列、zilog公司的Z8系列等16位:CPU是16位,Intel的MCS-96/9832位:32位单片机内核是ARM公司推出的ARM系列内核3单片机的发展更高的集成度更快的运算能力降低功耗和价格,更好的稳定性4单片机应用系统概述设计者对软/硬件设计都非常了解软件方面则需要设计者根据硬件结构来完成相应的功能设计可靠性、抗干扰性和体积大小等问题单片机应用系统的设计的步骤总体设计硬件设计软件设计全系统整体测试系统功能扩展、升级、完善常见应用系统人机交互系统前向通道系统后向通道系统一般都是由上面的三个子系统所组合而成的,根据应用系统的功能要求的不同,在子系统配置上的侧重会有所不同单片机应用系统的使用范围主要应用有:工业方面:电机控制、机器人、过程控制;仪器仪表方面:智能仪器、医疗器械;家用电器方面:洗衣机、空调、电子玩具;汽车工业方面:点火控制、防滑、变速、排气控制;导航方面:导弹控制、鱼雷制导、航空航天习题1.计算机的发展经历了哪几代?2.微处理器的发展经历了哪几代?其代表产品各为什么?3.当前流行的单片机有哪几个系列?各有什么特点?第一章单片机结构及设计基础1信息和数制信息:消息中有意义的内容.数制:利用符号和规则实现计数和数学运算的方法。1.1.1信息在计算机中的表示什么是信息?信息:指通信或接收到的有关特定事实或情况的知识。信息是用来消除不确定性的东西。1.1.2数制二进制:以2为基数的数制称为二进制微机使用二进制最经济。可以通过数学证明:若采用X进制,即每位有X个状态,每个状态用一个电路,假设有n位,状态数=nX,设nX=常数时,若最大,则X进制最经济。即电路数一定,表示的数值范围越大越经济。通过求导,令导数=0,则求出:X=2.72,故微机使用二进制或三进制最经济。二进制表示式为:八进制计算机中使用二进制,发现书写太长不便,同时二进制和八进制互相转换方便,所以计算机内也广泛采用八进制。但由于八进制转换成二进制是3位,并不便于计算机存储,所以逐渐被十六进制替代。八进制表示式为:十进制十进制以10为基数,十进制表示式为:十六进制十六进制以16为基数,十六进制表示式为:十六进制书写方便,例如:(1001)B=(9)H,(1010)B=(0A)H。如果十六进制最高位为:A,B,C,D,E,F,书写时前面加0,说明是数字,不是字母。如十六进制数(FF)H,应写为(0FF)H。数制三要素:基、权、进制基:计数制中每个数位所使用数符的总数。权:数符所在位置表示数值的大小,当数符为“1”时所表征的数值即该位的权值。进制:进位规律,如逢基进一(十进制、二进制、十六进制)。不同进制列表常用进制英文表示符号数码符号进位规律进位基数二进制B0、1逢二进一2八进制O0、1、2、3、4、5、6、7逢八进一8十进制D0、1、2、3、4、5、6、7、8、9逢十进一10十六进制H0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F逢十六进一161.1.3数制的转换1.其他进制转换为十进制其它进制转换为十进制转换方法:权值法口诀:按权位展开,各项相加。解释:二进制数、八进制数、十六进制数转换为相应的十进制,只要将被转换进制中的每一位乘以该位对应的权,然后再按十进制计算得到十进制数。数制及其转换例1.1将二进制数(11010.011)B转换为十进制数(11010.011)B=1×24+1×23+0×22+1×21+0×20+0×2-1+1×2-2+1×2-3=16+8+0+2+0+0+0.25+0.125=(26.375)D例1.2将八进制数(37.01)O转换为十进制数(37.01)O=3×81+7×80+0×8-1+1×8-2=24+7+0.015625=31.015625例1.3将十六进制数(1DF)H转换为十进制数。

(1DF)H=2×162+13×161+1×160=256+208+15=(479)D2.十进制转换为其他进制取余法运算口诀:整数除基取余,余数倒排;小数乘基取整,整数顺排。解释:十进制转换为其他进制,需分整数、小数两部分进行。整数部分采用基数除法:

(1)将要转换的整数除以新进制的基,余数作为最低位。

(2)把上一步得到的商再除以新的进制基数,把余数作为次低位。

(3)依次类推,直到商为零,这时的余数就是最高位。小数部分采用基数乘法

(1)将要转换数的小数部分乘以新进制的基数,把得到的整数部分作为小数部分的最高位。

(2)把上一步得的小数部分再乘以新进制的基数,把整数部分作为小数部分的次高位。

(3)依次类推,直到小数部分变成零或达到预定的要求为止。例1.4将(39)D转换为2进制

故(39)D=(100111)B。整数部分小数部分例1.5将(68.125)转换为8进制D

二进制和十六进制的相互转换运算口诀:4合1,1分4,不足补零例1.8将二进制数(11011011011010)B转换为十六进制数。解:(11011011011010)B=(0011,0110,1101,1010)B=(36DA)H

例1.10将十六进制数(0F81)H转换为二进制数。解:(0F81)H=(1111,1000,0001)B=(111110000001)B二进制和八进制的相互转换运算口诀:3合1,1分3,不足补零;例1.11将二进制数(11011011011010)B转换为八进制数。解:(11011011011010)B=(011,011,011,011,010)B=(33332)O常见三种数制转换的方法总结如图附十进制数、二进制数与十六进制DecimalBinaryHexDecimalBinaryHex000000810008100011910019200102101010A300113111011B401004121100C501015131101D601106141110E701117151111F1.2数的表示及编码1.2.1计算机中的数据类型位(Bit)、字节(Byte)、字(Word)、双字(Doubleword)、四字(Quardword)

1bit=1个二进制位1Byte=8bit1Word=2Byte1Doubleword=2Word=4Byte1Quardword=4Word……0110110001111110101011001111000001010011bit(1B)

Byte(53H)Word(0F053H)Doubleword(7EACF053H)Quardword低字节高字节高字低字1.2.2数的表示1.有符号数8位二进制数可以表示一个有符号数。8位有符号数用D7表示符号位,0代表“+”,1代表“-”,D0~D6为数值位。D7D6~D0符号位数值位原码用最高位表示符号位,其余位表示数值位的二进制数,称为原码。8位二进制数原码的表示范围是-127~+127。原码的特点是:最高位为0表示正数。最高位为1表示负数。其余位不变。例1.12求+20,-20的原码。解:[+20]原=+10100=00010100(“+”的符号位用0代替)[-20]原=-10100=10010100(“-”的符号位用1代替)反码正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。8位二进制数反码的表示范围是-127~+127。反码的特点是:正数的反码和原码相同。负数的反码的符号位为1,其余取反。例1.13求+20,-20的反码。解:[+20]反=[+20]原=+10100=00010100(正数的反码和原码相同)[-20]反=-10100=(10010100)原=11101011(符号位为1,其余取反)补码正数的补码与其原码相同;负数的补码是在其反码的末位加1。补码的特点是:正数的补码和原码相同。负数的补码为反码最低位加1。例1.14求+20,-20的补码。解:[+20]补=[+20]原=+10100=00010100(正数的补码和原码相同)[-20]补=[-20]反+1=11101011+1=11101100(负数的补码为反码最低位加1)8位二进制数表示的原码、反码与补码8位二进制数十六进制数无符号数原码补码反码0000000000H0+0+0+00000000101H1+1+1+10000001002H2+2+2+2····································011111017DH125+125+125+125011111107EH126+126+126+126011111117FH127+127+127+1271000000080H128-0-128-1271000000181H129-1-127-1261000001082H130-2-126-125····································11111101FDH253-125-3-211111110FEH254-126-2-111111111FFH255-127-1-02.无符号数8位二进制数也可以表示一个无符号数,8位无符号数D0~D7为数值位,表示范围为0~+225。3.机器数与真值机内数或机器数:在计算机中,以二进制表示的数称为机内数或机器数。计算机不仅可以用0,1编码的形式表示一个数的数值部分,也可以用0,1表示正、负号。机器数有无符号数、原码、反码、补码等多种表示方式。由于一个字节为8bit,所以机器数一般用8bit表示。真值:机器数代表的实际值叫真值,如+36,-35。例如,机内数(10001011)B,表示的真值为:无符号数139原码-11

反码-116

补码-117定点数—小数点位置固定(例如纯整数和纯小数)浮点数—小数点位置不固定(充分利用有限位数,扩大数的表示范围和精度)浮点数的表示方法SE1E2E3E4…Eib1b2b3b4…bp-1(-1)S2E(b0

b1b2b3…bp-1)S=0正数S=1负数小数点位置与b0=1省略符号指数尾数4.定点数与浮点数微机系统的三种浮点数类型浮点数中的参数单精度浮点数双精度浮点数扩充精度浮点数浮点数长度32位64位80位尾数长度p23位52位64位符号位S1位1位1位指数长度E8位11位15位最小指数-126-1022-16382最大指数+127+1023+16383指数的偏移量值+127+1023+16383【例1.3】将十进制数219.125表示成单精度浮点数。219.125D=11011011.001B=1.1011011001

27E=7+127=134=10000110B。得到二进制表示的规格化的浮点数形式:尾数(共23位),包括隐含的b0共24位指数符号010000110101101100100000000000001.1.6计算机中常用码制1.BCD码(BinaryCodedDecimal)

用二进制编码表示十进制数称为BCD码。一位十进制数需要用4位二进制编码表示。例如(0100100101111000.000101001001)BCD

(4978.149)D压缩BCD码:一个字节表示两位十进制数非压缩BCD码:一个字节表示一位十进制数(使用低四位)BCD码加法,可以通过半字节(四位二进制数)BCD码的加法实现,规则:和≤9不调整;9<和≤15先加6调整,有AC=1(低4位)或CY=1(高4位);15<和有AC=1(低4位)或CY=1(高4位),后加6调整。表1-3几种常见的BCD编码

十进制数常见的编码842154212421631-1余3码73210000000000000000000110000100010001000100100100000120010001010000101010100103001100111001010001100011601101001110010001001011181000101111101101101110019100111001111110011001010

2.ASCII码美国国家信息交换标准代码ASCII(AmericanStandardCodeforInformationInterchange)已成为计算机字符编码的国际标准。它由7位2进制数码构成,共128个字符。

ASCII码主要用于微机与外设通信ASCII码表

012345670NULDLESP0@P`P1SOHDC1!1AQaQ2STXDC2“2BRbR3ETXDC3#3CScS4EOTDC4$4DTdT5ENQNAK%5EUeU6ACKSYN&6FVfV7BELETB‘7GWgW8BSCAN(8HXhX9HTEM)9IYiYALFSUB*:JZjZBVTESC+;K[k{CFFFS,<L\l|DCRGS-=M]m}ESORS.>N^n~FSIUS/?O_oDELNUL空SOH标题开始STX正文结束ETX本文结束EOT传输结束ENQ询问ACK承认BEL报警符BS退格HT横向列表LF换行VT垂直制表FF走纸控制CR回车SO移位输出SI移位输入SP空格DLE数据链换码DC1设备控制1DC2设备控制2DC3设备控制3DC4设备控制4NAK否定SYN空转同步ETB信息组传送结束CAN作废EM纸尽SUB减ESC换码FS分隔符GS组分隔符RS记录分隔符US单元分隔符DEL作废控制符号的定义3.中文编码中文字符用二个字节表示,每个字节的最高位置1,余下的14位表示字符,构成汉字内码(GB2312-80)。汉字内码是对汉字的唯一标识。汉字输入码

各种输入法所采用的汉字编码统称为输入码

汉字内码

输入的汉字在机器中必须转换为统一的机内码汉字输出码

用于输出汉字字型的点阵编码

4.奇偶校验码在数据的存取、运算和传送过程中,难免会发生错误,把“1”错成“0”或把“0”错成“1”。奇偶校验码是一种能检验这种错误的代码。它分为两部分;信息位和奇偶校验位。一些常用数据1字节=8位,即:1BYTE=8BIT1024字节称为1KB(YTE)1024KB=1MB1024MB=1GB有时商家把1000也称为1K,于是80G硬盘在电脑中就识别为76G地址线条数对应可寻址(访问)的存储器大小具有如下关系:1线1字节,10线1KB,20线1MB,30线1GB显然:11线2KB,12线4KB,..16线64KB。PC机地址线32线(位),可以组装的最大内存是:4GB单板机:将CPU、存储器、I/O接口、中断系统集成在一块印制电路板上,有完整功能的微型计算机微型计算机系统:多板机+电源+外设+软件系统。微型计算机开发系统:一种有专门用途的微型计算机系统,用来开发单片机应用系统。1.4单片机系统组成原理单片机系统组成原理一般单片机系统的组成结构是采用冯·诺依曼型,而DSP常用哈佛结构冯·诺依曼型的主要工作特点是:由五部分组成:存储器、运算器、控制器、总线、接口和外设存储程序方式二进制表示数据和命令指令由操作码和地址码组成以运算器为中心,数据传送通过运算器单片机系统基本结构单片机系统基本结构包括存储器:ROM、RAM、EPROM……微处理器:运算器、控制器总线:AB、DB、CB接口和外设微处理器的结构如图1-2所示微型计算机的基本原理指令系统和程序编制如下:指令:机器可以执行的控制代码,称指令码。指令系统:指令的集合或指令的全体,不同机型有不同的指令系统。程序:根据题目要求,排列起来的有序指令的集合。程序执行过程如下:(1)PC送出指令地址,并自动加一。(2)存储器选中单元,取出指令码送存储器的数据寄存器DR。(3)指令码由DR到指令寄存器IR再到指令译码器ID。(4)ID结合时序部件产生该指令对应的微操作序列,发送控制字。完成功能。1.5AT89S51单片机内部结构1.中央处理器中央处理器(CPU)由运算器、控制器组成运算器组成部分包括:8位算术逻辑运算单元ALU(ArithmeticLogicUnit)、8位累加器A(Accumulator)、8位寄存器B、程序状态字寄存器PSW(ProgramStatusWord)、8位暂存寄存器TMP1和TMP2等。运算器的功能:ALU和运算寄存器组成运算部分,ALU从暂存寄存器TMP1、TMP2中取得操作数,运算后再送到运算寄存器、通用寄存器和存储单元中,并根据运算结构设置相应的状态标志PSW,完成算术运算和逻辑运算。2.存储器MCS-51单片机的存储器分为程序存储器和数据存储器,每种存储器又分为片内和片外两类。MCS-51单片机采用将程序存储器和数据存储器分开,独立寻址的哈佛结构,但采用3条总线:数据总线、地址总线、控制总线。不允许在一个机器周期内同时获得指令字和操作数,不允许取指和执行完全重叠,不允许指令和数据有不同的数据宽度。程序存储器MCS-51片外程序存储器的可寻址空间为64KB,用于存放用户程序、数据和表格等信息,用指令MOVC访问。图1-8程序存储器结构数据存储器数据存储器可寻址空间为64KB。MCS-51单片机的数据存储器可分为片内和片外两类。片外RAM:最大范围:0000H~FFFFH,64KB;用指令MOVX访问。片内RAM:最大范围:00H~FFH,256B;用指令MOV访问。片内RAM分为两部分:低128字节(00~7FH)为数据的RAM区,高128字节(80~FFH)为特殊功能寄存器(SFR)区。图1-9片内RAM数据的RAM区中的20H~2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对该单元的位进行寻址。位地址为00H~7FH。CPU能直接寻址这些位(称MCS-51具有布尔处理功能)表1-6位地址分配3.特殊功能寄存器(SFR)MCS-51有21个特殊功能寄存器(也称为专用寄存器),包括算术运算寄存器、指针寄存器、I/O口锁存器、定时器/计数器、串行口、中断、状态、控制寄存器等。除PC外,特殊功能寄存器分散地分布在内部RAM的80H~FFH地址单元中,共占用128个字节,构成了SFR存储块。其字节地址可被8整除的SFR可位寻址。4.I/O接口89S51内部有4个8位并行接口P0,P1,P2,P3,功能如下:P0口:并口/数据地址总线。P1口:并行接口。P2口:并口/地址高8位。P3口:并口/第二功能,第二功能包括1个全双工的可编程串行I/O接口、2个中断和两个时钟输入口。1.5.1MCS-51单片机外部引脚89S51单片机有40个引脚,分为电源脚、端口脚和控制脚三类。P0口(P0.0~P0.7)8位双向三态I/O口,可作为外部扩展时的数据总线/低8位地址总线的分时复用口。又可作为通用I/O口,每个引脚可驱动8个TTL负载,但内部没有上拉电阻,作为通用I/O口需外接上拉电阻。其内部结构如图P1口(P1.0~P1.7)8位准双向I/O口,内部具有上拉电阻,可作为通用I/O口。每个引脚可驱动4个TTL负载。其内部结构如图P2口(P2.0~P2.7)8位准双向I/O口,内部具有上拉电阻,可作为外部扩展时的高8位地址总线。又可作为通用I/O口,每个引脚可驱动4个TTL负载。其内部结构如图表1-13P3口的第二功能各位的作用管脚第二功能说明P3.0RXD(串口接收口)P3.1TXD(串口发送口)P3.2INT0(外部中断0请求输入)P3.3INT1(外部中断1请求输入)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3.6WR(外部写选通信号)P3.7RD(外部读选通信号)3.控制线RST/VPDRST/VPD:复位/备用电源线引脚。上电时,在RST/VPD引脚上出现24个时钟周期以上的高电平,系统产生复位。

:地址锁存/编程引脚。功能1:地址锁存。当访问外部程序存储器时,ALE用于锁存地址的低位字节,以便P0口实现地址/数据复用。当不访问外部程序存储器时,ALE端输出1/6时钟频率信号。功能2:编程。当对EPROM型芯片(如8751)进行编程和校验时,此引脚传送52ms宽的负脉冲选通信号,单片机可以读入存储在EPROM芯片内的程序,并执行。片外程序存储器允许/编程电源引脚。

功能1:当需要访问外部存储器时,片外程序存储器允许脚必须接地。当需要访问内部存储器时,片外程序存储器允许脚必须接高电平。

功能2:是片内EPROM编程/校验时的电源线。在编程时,VPP脚需加上21V的编程电压。XTAL1和XTAL2XTAL1脚为片内振荡电路的输入端,XTAL2脚为片内振荡电路的输出端。时钟的连接方式有两种:一种是片内时钟振荡方式,需在XTAL1和XTAL2脚外接晶振和振荡电容;另外一种是外部时钟方式,将XTAL1接地,外部时钟信号从XTAL2脚输入片外ROM选通线。在执行访问片外ROM的指令MOVC时,8051自动在引脚产生一个负脉冲,用于对片外ROM的选通。其他情况下,该引脚均为高电平封锁状态。1.5.2MCS-51单片机的工作方式MCS-51系列单片机的工作方式可分为:复位方式、程序执行方式、单片执行方式、掉电保护方式、节电工作方式和编程/校验方式。单片执行方式,主要用于程序的调试,掉电保护方式为主要节电模式1.6单片机的时序CPU在执行指令时所需控制信号的时间顺序称为时序。时序是用定时单位来描述的,MCS-51的时序单位有四个,分别是时钟周期(节拍)、状态、机器周期和指令周期。时钟周期时钟周期又称为振荡周期(用节拍P表示),即为单片机提供时钟信号的振荡源(OSC)的周期,是时序中的最小单位。状态(用S表示)时钟周期经过二分频后即得到整个单片机工作系统的状态。一个状态有两个节拍,前半周期对应的节拍定义为P1,后半周期对应的节拍定义为P2。机器周期完成一个基本操作所需的时间称为机器周期。MCS-51中规定一个机器周期包含12个时钟周期,即有6个状态,分别表示为S1~S6。例如,若晶振为6MHz,则机器周期为2μs,若晶振为12MHz,则机器周期为1μs。指令周期执行一条指令所需要的时间称为指令周期。一个指令周期通常含有1~4个机器周期。运算速度是由指令所包含的机器周期数决定的,机器周期数越少,其执行速度越快。以机器周期为单位,指令可分为单周期、双周期和四周期指令三种。1.6.2MCS-51指令的取指/执行时序图1-18单周期和双周期指令的取指时序图1.6.3访问片外ROM/RAM指令的时序1.外部程序存储器读时序图1-19外部程序存储器读时序2.外部数据存储器读时序图1-20外部数据存储器读时序习题1.微型计算机的结构由哪几部分组成?2.微处理器由哪几部分组成?其功能是什么?3.单片机的结构特点是什么?4.计算以下各数原码、反码与补码。(1)10010010B (2)10011011B5.将以下各数变成十进制。(1)10010010B (2)10011011B(3)10010010.11B (4)10011011.01B6.将以下各数变成二进制(八位带符号数)、八进制、十六进制75、82、127.35、-34.17.请简述单片机应用系统的组成、适用范围及优点。计算(1)把(25.5)10转换为二进制、八进制和十六进制。(2)把(10101.11)2转换为十进制、八进制和十六进制。(3)把(67.25)8转换为二进制、十进制和十六进制。(4)把(A5.8)16转换为二进制、八进制和十进制。(5)求+116的原码、反码和补码的表示方式。(6)求-39的原码、反码和补码的表示方式。9.简答(1)什么是机器数?(2)汉字机内码的特点有哪两个?(3)汉字输入码分为哪几种类型?(4)如何设计单片机最小系统?51系列单片机汇编语言的设计

主要内容

51系列单片机指令系统各条指令的格式和功能

51系列单片机寻址方式及内部结构

51系列单片机汇编程序设计

51系列单片机汇编程序设计示例51系列单片机汇编语言概述

MCS-51单片机的111条指令按功用可以分成以下5类

数据传送类(29条);

算术操作类(24条);

逻辑操作类(24条);

控制程序转移类(17条);布尔变量操作类(17条)

数据传送指令

数据传送类指令一共有29条,除了可以通过累加器进行数据传送之外,还有不通过累加器而在数据存储器之间或寄存器与数据存储器之间直接进行数据传送的指令。

MOV操作符,称为一般传送指令

非MOV操作符,称为特殊传送指令,如:MOVC、MOVX、PUSH、POP、XCH、XCHD及SWAP。本节主要介绍

MOV、XCH、堆栈指令等。

以累加器为目的操作数的指令

基本命令格式如下:MOVA,RnMOVA,directMOVA,@RiMOVA,#data例子

MOVA,R1:将工作寄存器R1中的值送入A,R1中的值保持不变。MOVA,30H:将内存30H单元中的值送入A,30H单元中的值保持不变。MOVA,@R1:先看R1中是什么值,把这个值作为地址,并将这个地址单元中的值送入A中。如执行命令前R1中的值为20H,则是将20H单元中的值送入A中。MOVA,#34H:将立即数34H送入A中,执行完本条指令后,A中的值是34H。

以寄存器Rn为目的操作的指令

基本命令格式如下:MOVRn,AMOVRn,directMOVRn,#data例子

MOVR3,A:将A中的值送入R3,A中的值保持不变。MOVR4,30H:将内存30H单元中的值送入R4,30H单元中的值保持不变。MOVR7,#0D0H:将立即数0D0H送入R7中,执行完本条指令后,R7中的值是D0H。

以直接地址为目的操作数的指令

基本命令格式如下:MOVdirect,AMOVdirect,RnMOVdirect1,direct2MOVdirect,@RiMOVdirect,#data例子

MOV30H,A:将A中的值送入地址30H中,

A中的值保持不变。MOV30H,R1:将寄存器R1中的值送入地址30H中,寄存器R1中的值保持不变。MOV30H,40H:将直接地址40H中的值送入地址30H中。

以间接地址为目的操作数的指令

基本命令格式如下:MOV@Ri,AMOV@Ri,directMOV@Ri,#data例子

MOV@R0,A:将A中的值送入R0中的值为地址的单元中,A中的值保持不变。MOV@R1,21H:。MOV@R1,21H:将地址为21H的单元中的值送入以R1中的值作为地址的单元中。

MOV@R1,#34H:将34H这个值送入以R1中的值作为地址的单元中。

十六位数的传递指令

基本命令格式如下:MOVDPTR,#data168051是一种八位机,这是惟一的一条16位立即数传递指令,其功能是将一个16位的立即数送入DPTR中去。其中高八位送入DPH,低八位送入DPL。

例子

MOVDPTR,#4567H:执行完之后DPH中的值为45H,DPL中的值为67H。累加器A与片外RAM之间的数据传递类指令

基本命令格式如下:MOVXA,@RiMOVX@Ri,AMOVXA,@DPTRMOVX@DPTR,A例子

将外部RAM中200H单元中的内容送入外部RAM中300H单元中。MOVDPTR,#0200HMOVXA,@DPTRMOVDPTR,#0300HMOVX@DPTR,A程序存储器向累加器A传送指令

基本命令格式如下:MOVCA,@A+DPTR本指令是将ROM中的数送入A中。本指令也被称为查表指令,常用此指令来查一个已做好在ROM中的表格。

例子

下面通过一个例子加以说明:有一个数在R0中,要求用查表的方法确定它的平方值(此数的取值范围是0~5)MOVDPTR,#TABLEMOVA,R0MOVCA,@A+DPTR……TABLE:DB0,1,4,9,16,25字节交换指令

基本命令格式如下:XCHA,RnXCHA,directXCHA,@Ri例子

设(A)=10H,(R7)=20HXCHA,R7则命令执行后(A)=20H,(R7)=10H半字节交换指令

XCHDA,@Ri堆栈指令

1)进栈指令PUSH基本命令格式如下:PUSHdirect例子下面通过一个例子加以说明:MOVSP,#4FHMOVB,#200MOVA,#30PUSHAPUSHB1)出栈指令POP基本命令格式如下:POPdirect例子接上例:POPAPOPB算术操作指令

与同类八位微处理器相比,MCS-51的算术运算指令增加了除法和乘法指令,但是没有16位数运算指令。这主要是由MCS-51单片机的寄存器只有八位决定的

算术操作类指令用到的助记符有ADD、ADDC、INC、DA、SUBB、DEC、MUL和DIV8种

不带进位位的加法指令

格式如下:ADDA,#DATAADDA,directADDA,RnADDA,@Ri带进位位的加法指令

格式如下:ADDCA,RnADDCA,directADDCA,@RiADDCA,#data带借位的减法指令

格式如下:SUBBA,RnSUBBA,directSUBBA,@RiSUBBA,#data乘法指令格式如:MULAB除法指令格式如:DIVAB

加1指令

格式如下:INCAINCRnINCdirectINC@RiINCDPTR减1指令

格式如下:DECADECRnDECdirectDEC@Ri十进制调整指令

格式如:DAA逻辑运算类指令

逻辑操作类指令包括与、或、异或、清除、求反、左右移位等逻辑操作,该类指令共有24条。逻辑操作类指令用到的助记符有CLR、CPL、RRC、RR、RLC、RL、XRL、ORL和ANL逻辑与指令

格式如下:ANLA,RnANLA,directANLA,@RiANLA,#dataANLdirect,AANLdirect,#data或指令

ORLA,Rn:A和Rn中的值按位“或”,结果送入A中;ORLA,direct:A和与间址寻址单元@Ri中的值按位'或',结果送入A中;ORLA,#data:A和立direct中的值按位'或',结果送入A中;ORLA,@Ri:A和即数data按位'或',结果送入A中;ORLdirect,A:direct中值和A中的值按位'或',结果送入direct中;ORLdirect,#data:direct中的值和立即数data按位'或',结果送入direct中

异或指令

XRLA,Rn:A和Rn中的值按位'异或',结果送入A中;XRLA,direct:A和direct中的值按位'异或',结果送入A中;XRLA,@Ri:A和间址寻址单元@Ri中的值按位'异或',结果送入A中;XRLA,#data:A和立即数data按位'异或',结果送入A中;XRLdirect,A:direct中值和A中的值按位'异或',结果送入direct中;XRLdirect,#data:direct中的值和立即数data按位'异或',结果送入direct中。控制转移类指令这类指令用到的助记符有AJMP、ACALL、LJMP、LCALL、SJMP、JMP、JZ、JNZ、CJNE、DJNZ无条件转移类指令

无条件转移类指令是相对条件转移类指令而言的,它主要包括下面三条指令:l

短转移类指令:AJMPaddr11l

长转移类指令:LJMPaddr16l

相对转移指令:SJMPrel条件转移指令条件转移指令是指在满足一定条件时进行相对转移

判A内容是否为0转移指令

比较转移指令

CJNEA,#data,relCJNEA,direct,relCJNERn,#data,relCJNE@Ri,#data,rel循环转移指令

循环转移指令的基本格式如下:DJNZRn,relDJNZdirect,rel调用与返回指令

1)调用指令调用指令包括:

LCALLaddr16:长调用指令;ACALLaddr11:短调用指令返回指令ret空操作指令nop

布尔变量操作类指令

位传送指令位传送指令的基本格式如下:MOVC,BITMOVBIT,C

位修正指令

位清0指令CLRC:使CY=0CLRbit:使指令的位地址等于0。位置1指令

SETBC:使CY=1。SETBbit:使指定的位地址等于1。位取反指令

CPLC:使CY等于原来的相反的值,由1变为0,由0变为1。CPLbit:使指定的位的值等于原来相反的值,由0变为1,由1变为0。

位逻辑运算指令

位与指令ANLC,bit:CY与指定的位地址的值相与,结果送回CY。ANLC,/bit:先将指定的位地址中的值取出后取反,再和CY相与,结果送回CY,但要注意:指定的位地址中的值本身并不发生变化。位或指令ORLC,bitORLC,/bit

单片机内部结构及寻址方式

方块图和总体结构图

其基本特征如下:l

8位CPU,片内振荡器;l

4KB/8KB的只读存贮器ROM,128B/256B的读写存贮器RAM;

l

32条I/O(输入/输出)总线;l

21个特殊功能寄存器;l

可寻址各64K的外部数据、程序存贮器空间;l

2个16位的定时器/事件计数器;l

具有两个优先级,5个中断源的嵌套中断结构;l

一个全双工UART(通用异步接收发送器)的串行I/O口;有位寻址功能,适于布尔处理的位处理器

寻址方式

寄存器寻址

寄存器寻址方式可用于访问选定寄存器区的工作寄存器R0~R7例如:MOVA,R1SUBA,R0直接寻址直接寻址指的是指令中含有操作数的直接地址。

专用寄存器

MOVTCON,AMOVSBUF,A内部数据存贮器

MOVA,78H位地址空间

SETBEASETBEX0寄存器间接寻址

该类寻址方式由指令指出某一个寄存器的内容作为操作数的地址。

MOVA,@R0MOVXA,@R1MOVXA,@DPTR立即寻址

该类指令的操作数由指令操作数直接给出,它是惟一一种不把源操作数表示作地址的寻址方式。它在常数前冠以#号,以表明它是立即进行操作的数,而非地址。例如:MOVA,#20H。基址寄存器加变址寄存器间接寻址

这种寻址方式用于访问程序存贮器中的一个字节,该字节的地址由基址寄存器(DPTR或PC)的内容与变址寄存器(A)的内容之和。例如:MOVCA,@A+PCMOVCA,@A+DPTR相对寻址

例:SJMPrel:

位寻址在MCS-51系统中,位地址可以用以下几种方式表达:l

直接使用00H~FFH范围内的某一位来表示;l

采用第几单元第几位的表达方式,例如,20H.4表示20H单元的D4位;l

对于专用寄存器,可以直接用寄存器名加位数的表示方法,例如TCON.3,P1.2等。伪指令

伪指令与指令的概念不同,指令指示计算机完成某种操作,在汇编过程中要生成可执行的目标代码。伪指令则不同,它并不生成可执行的目标代码,只是对汇编过程进行某种控制或提供某些汇编信息。定位伪指令ORGORG1000H 定义字节数据伪指令DBTAB1:DB50H,30H,2定义字数据伪指令DWTAB1:DW2347H,2CH符号定义伪指令EQUNAMEEQUEXPRESSION汇编结束伪指令END位地址符号定义伪指令BITSIGBITP2.151单片机汇编程序设计

MCS-51汇编语言格式与其他汇编语言格式类似,通常由标号、操作码、操作数和注释四项内容组成,其表示格式为:标号

操作码

操作数

;注释

标号:操作码

操作数

;注释

MCS-51程序设计步骤

程序设计的一般步骤为:根据实际任务建立数学模型;绘制程序流程图;编写程序和汇编。

子程序设计

子程序是程序设计中经常使用的程序结构,通过把一些固定的、经常使用的功能做成子程序的形式,可以使源程序及目标程序大大缩短,提高程序设计的效率和可靠性。对于一个子程序,应该注意它的入口参数和出口参数。入口参数是由主程序传给子程序的参数,而出口参数是子程序运算完传给主程序的结果。另外,子程序所使用的寄存器和存储单元往往需要保护,以免影响返回后主程序的运行。

子程序设计及参数传递方法。

例2.1:在MAA单元有两个十六进制数,将它们分别转换成ASCII码,存入ASC及ASC+1单元。因为要进行两次转换,所以可用子程序来完成,参数传递用堆栈来完成。

结构化程序设计

顺序结构程序设计顺序结构程序是指一种无分支的直线程序(程序的执行是按程序计数器PC自动加1的顺序执行)。它主要用数据传送指令和数据运算类指令。

分支程序设计

在一个实际的应用程序中,程序始终是直线执行的情况是很少见的,通常都会有各种分支。所谓分支程序就是利用条件转移指令,使程序执行某一指令后,根据条件是否满足来改变程序执行的次序。在MCS-51指令系统中直接用于判断分支条件的指令有:累加器判零条件转移指令JZ(JNZ)、比较条件转移指令CJNE和位条件转移指令JC(JNC)、JB(JNB)、JBC等指令。

循环程序设计

循环体

循环结束条件

循环初态

计数器控制循环

条件控制的循环常见程序的编写

运算程序

数据转换程序

查表程序

散转程序

1.MCS-51有哪几种寻址方式?简述各寻址方式的功能。2.布尔操作指令中采用了什么寻址方式?3.要访问特殊功能寄存器、寄存器、外部存储器各采用什么寻址方式?4.请写出完成以下操作的指令序列。(1)R7的内容传送到R1。(2)R7的内容传送到A。(3)R7的内容传送到外部存储单元1000H。(4)外部存储单元1000H送到R7。(5)P1.2的内容传送到C。5.比较两个无符号数a、b的大小,根据a>b、a=b、a<b三种不同情况分别转向标号为DAYU、DEYU、XIAOYU的处理程序段,请写相应程序。6.设(A)=58H,(R0)=20H,(R1)=3DH,(R5)=7AH,(40H)=2CH,(20H)=0ECH,请写出下列指令独立执行之后有关寄存器和存储单元的内容,并给出CY、AC和OV的值。(1)MOVA,@R0(2)ANL40H,04FH(3)ADDA,R5(4)DECR57.编程序,将R1中的低4位与40H中的高4位合并成一个8位数并存放在R0中。8.有两个16位无符号数分别存放在内部RAM的40H、41H和50H、51H(低位数在低地址单元),请写出:(1)两个16位数的加法程序,和存于R3、R1中。(R3中存放高位数)(2)两个16位数的减法程序,差存于R5、R7中。(R5中存放高位数)9.编写程序,将内部RAM40H、50H单元的两个8位无符号数相乘,结果存放在R7、R3中(R7中存放高位数)。10.编写程序,将累加器A的低4位数送到P1口的低4位,保持P1口高4位不变。11.基本程序结构有哪几种?循环程序有哪几种基本结构?12.从内部RAMTAB单元开始存有30个不带符号的数据,要求找出其中的最大数存入R0中。13.在内部RAM40H单元开始的区域内存有10个单字节十进制数(压缩型BCD码),试求其累加和,并将结果存放在内部RAM20H~23H单元中。14.已知从外部ROM1000H开始存放有40个字节的无符号数,试编制程序,将该数据块搬移到从1060H开始的存储区域内。15.把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存放在内部RAM单元的50H、51H、52H单元中。16.设内部RAM40H单元存放有8位无符号的被除数,42H单元存放有8位无符号的除数,将两数相除之后的商存入43H单元,余数存入45H单元。17.设内部RAM40H、41H单元存放有16位无符号的被除数,42H单元存放有8位无符号的除数,将两数相除之后的商存入43H、44H单元,余数存入45H单元。18.设无符号双字节被乘数存放在40H和41H单元(40中为高位数),乘数存放在42H和43H单元(43H中为高位数),将两数之积存入44H、45H、46H、47H中。19.编写子程序,将RAM40H中的数转换为ASC码后,个位存放在42H,十位存放43H单元。51系列单片机C程序设计

概述

20世纪70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言

对于8051及其兼容单片机,目前支持的语言主要有:汇编、BASIC、PL/M和C语言。其中后三种为高级语言。

C源程序的结构特点

l

一个C语言源程序可以由一个或多个源文件组成。l

每个源文件可由一个或多个函数组成。l

一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。l

源程序中可以有预处理命令(include命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。l

每一个说明、每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。l

标识符、关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。C语言的字符集

字符是组成语言最基本的元素。C语言字符集由字母、数字、空格、标点和特殊字符组成。在字符常量、字符串常量和注释中还可以使用汉字或其他可表示的图形符号。

小写字母a~z共26个,大写字母A~Z共26个;0~9共10个;空格符、制表符、换行符等

C语言词汇在C语言中使用的词汇分为六类:在C语言中使用的词汇分为六类:标识符、关键字、运算符、分隔符、常量和注释符等。标识符

在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C语言规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)(请确认是否正确)组成的字符串,并且其第一个字符必须是字母或下划线。关键字

关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。C语言的关键字分为以下几类

类型说明符,语句定义符,预处理命令字

运算符

C语言中含有相当丰富的运算符。运算符与变量、函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成

分隔符

C语言中采用的分隔符有逗号和空格两种

常量

C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种

注释符C语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。

数据类型、运算符、表达式

程序中使用的各种变量都应预先加以说明,即先说明,后使用对变量的说明可以包括三个方面:

数据类型

存储类型作用域所谓数据类型是按被说明量的性质、表示形式、占据存储空间的多少和构造特点来划分的。

可分为:基本数据类型、构造数据类型、指针类型和空类型

基本数据类型基本数据类型特点是,其值不可以再分解为其他类型。

构造数据类型

数组类型结构类型联合类型

指针类型

基本数据类型

整型量

整型量包括整型常量和整型变量

整型常量

八进制整常数

十六进制整常数

十进制整常数

整型变量

基本型短整量长整型无符号型

各类整型量的表示范围和占用内存字节表

类型说明符

数的范围分配字节数int

-32768~32767

2shortint

-32768~32767

2signedint

-32768~32767

2unsignedint

0~65535

2longint

-2147483648~21474836473unsignedlong0~4294967295

3在书写变量说明时,应注意

l

允许在一个类型说明符后,说明多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。l

最后一个变量名之后必须以“;”号结尾。l

变量说明必须放在变量使用之前。一般放在函数体的开头部分。字符型

字符常量

字符常量是用单引号括起来的一个字符。例如'a','b','=','+','?'字符变量

字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。

字符串常量

字符串常量是由一对双引号括起的字符序列。例如:"CHINA"、"Cprogram:"、"$12.5"等都是合法的字符串常量。

基本运算符和表达式

基本运算符

C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合性是其他高级语言的运算符所没有的,因此也增加了C语言的复杂性。

运算符的种类

算术运算符

用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)和自减(--)共七种。

关系运算符

关系运算符用于比较运算。包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。

逻辑运算符用于逻辑运算,包括与(&&)、或(||)、非(!)三种。位操作运算符

参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)和右移(>>)六种

赋值运算符

用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。

条件运算符

(?:):这是一个三目运算符,也是C语言中的惟一的三目运算,用于条件求值。逗号运算符

用于把若干表达式组合成一个表达式(,)。

指针运算符用于取内容(*)和取地址(&)二种运算。

求字节数运算符用于计算数据类型所占的字节数(sizeof)。特殊运算符有括号(),下标[],成员(→,.)等几种。

优先级和结合性

运算符的运算优先级共分为15级,1级最高,15级最低

C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)

算术运算符和算术表达式运算符

加法运算符(+)

减法运算符(-)

乘法运算符(*)

除法运算符(/)

求余运算符(或模运算符“%”)

自增1和自减1运算符

自增1运算符记为“++”,自减1运算符记为“--”

i++

i参与运算后,i的值再自增1。i--

i参与运算后,i的值再自减1。

例如:Voidmain(){

inti=8;

printf("%d\n",++i);

printf("%d\n",--i);

printf("%d\n",i++);

printf("%d\n",i--);

}算术表达式

算术表达式是由算术运算符和括号连接起来的式子,以下是算术表达式的例子:

a+b

(a*2)/c

(x+r)*8-(a+b)/7

++i

sin(x)+sin(y)

(++i)-(j++)+(k--)赋值运算符和赋值表达式

简单赋值运算符和表达式,简单赋值运算符记为“=”。由“=”连接的式子称为赋值表达式。其一般形式为:变量=表达式

复合赋值符及表达式

在赋值符“=”之前加上其他二目运算符可构成复合赋值符。如:+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=例如:a+=5等价于a=a+5

x*=y+7等价于x=x*(y+7)

r%=p等价于r=r%p逗号运算符

其一般形式为:表达式1、表达式2其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。

例如:inta=2,b=4,c=6,x,y;x=a+b,y=b+c;三目运算符

(?:):主要用于条件求值。例如:inta,b,c;…………..………..…………….c=(a>b?6:9);C51的数据类型

C51常用的数据类型有:位型(bit)、无符号字符型(unsignedchar)、有符号字符型(signedchar)、无符号整型(unsignedint)、有符号整型(signedint)、无符号长整型(unsignedlong)、有符号长整型(signedlong)、浮点型(float)和双精度浮点型(double)。除了基本的数据类型外,C51还支持指针和构造数据类型。

特殊功能寄存器sfr、sfr16和位设置数据类型sbit。sfr、sfr16可以将MCU中RAM的地址于特定的符号联系起来书写格式为:sfr标记符=绝对地址sfr16标记符=绝对地址例如:sfr SCON=0x98;/*定义SCON代表内存地址的0x98,即通过读写SCON就能访问该地址(串口的控制寄存器)*/sbit用于定义sfr寄存器中可以为寻址的位例如sfrSCON=0x98;sbitbit0=SCON^0;/*定义bit0位SCON的第0位,“^”符号用于指示第几位*/C语言程序设计

从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构、分支结构和循环结构。

C语句可分为以下五类:l

表达式语句;l

函数调用语句;l

温馨提示

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

评论

0/150

提交评论