第五章单片机内的功能模块_第1页
第五章单片机内的功能模块_第2页
第五章单片机内的功能模块_第3页
第五章单片机内的功能模块_第4页
第五章单片机内的功能模块_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

第五章单片机内的功能模块第一页,共九十四页,2022年,8月28日P0~P3口的每一位口锁存器都是一个D触发器,复位以后的初态为1。CPU通过内部总线把数据写入口锁存器。CPU对口的读操作有两种:一种是读-修改-写指令(例如ANLP1,#0FEH),读口锁存器的状态,此时口锁存器的状态由Q端通过上面的三态输入缓冲器送到内部总线,一种是读指令(例如MOVA,P1),CPU读取口引脚上的外部输入信息,这时引脚状态通过下面的三态输入缓冲器传送到内部总线。 P1、P2和P3口内部有拉高电路,称为准双向口。P0口是开漏输出的,内部没有拉高电路,是三态双向I/O口。

第二页,共九十四页,2022年,8月28日P1口为准双向口,它的每一位可以分别定义为输入线或输出线,即用户可以把P1口的某些位作为输出线使用,另外的一些位作为输入线使用。5.1.1P1口一、P1口特性P1口的某一位作为输出线时,将“1”写入P1口的某一位口锁存器,则Q端上的输出场效应管T截止,该位的输出引脚由内部的拉高电路拉成高电平,输出“1”;将“0”写入口锁存器,输出场效应管T导通,引脚输出低电平,即输出“0”。内部总线读锁存器写锁存器读引脚VCC内部提升P1.XPINDCLQQ第三页,共九十四页,2022年,8月28日二、P1口的操作P1口的字节地址为90H,位地址为90H~97H。对P1口的操作,可以采用字节操作,也可以采用位操作。复位以后,口锁存器为1。对于作为输入的口线,相应位的口锁存器不能写入0。P1口的某一位作为输入线时,该位的口锁存器必须保持“1”,使输出场效应管T截止,这时该位引脚由内部拉高电路拉成高电平,也可以由外部的电路拉成低电平,CPU读P1引脚状态时实际上就是读出外部电路的输入信息。P1口作为输入时,可以被任何TTL电路和MOS电路所驱动,由于内部具有提升电路,也可以被集电极开路或漏极开路的电路所驱动。 第四页,共九十四页,2022年,8月28日

例1的子程序采用字节操作指令将开关状态送指示灯显示,Ki闭合,Li亮。KLA:MOV A,P1SWAP AORL A,#0F0H;保持P1.4~P1.7口锁存器为1MOV P1,ARET第五页,共九十四页,2022年,8月28日例2KLB:MOV C,P1.4 MOV P1.0,C MOV C,P1.5 MOV P1.1,C MOV C,P1.6 MOV P1.2,C MOV C,P1.7 MOV P1.3,C RET例2用位操作指令实现同样的功能。第六页,共九十四页,2022年,8月28日 一、P3口特性 P3口为多功能口,它的第一功能为准双向口,其特性和P1口相似,可以作为通用I/O口使用。它的第二功能为特殊输入/输出线,P3口的第二功能定义如下:5.1.2P3口P3.0 RXD(串行输入线)P3.1 TXD(串行输出线)P3.2 INT0(外部中断0输入线)P3.3 INT1(外部中断1输入线)P3.4 T0(定时器T0外部计数脉冲输入线)P3.5 T1(定时器T1外部计数脉冲输入线)P3.6 WR(外部数据存储器写脉冲输出线)P3.7 RD(外部数据存储器读脉冲输出线)第七页,共九十四页,2022年,8月28日

二、P3口的操作

例3 ANL P3,#0DFH ;0P3.5 CLR P3.5 ;0P3.5

ORL P3,#20H

;1

P3.5 SETB P3.5 ;1

P3.5 XRL P3,#20H ;P3.5取反 CPL P3.5 ;P3.5取反第八页,共九十四页,2022年,8月28日

一、P2口特性 P2口也有两种功能:对于内部有程序存贮器的单片机,P2口可以作为输入口或输出口使用,直接连接输入/输出设备;也可以作为系统扩展的地址总线口,输出高8位地址A8~A15。对于内部没有程序存贮器的单片机,必须外接程序存贮器,P2口只能作为系统扩展的高8位地址总线口,而不能作为外部设备的输入/输出口。5.1.3P2口第九页,共九十四页,2022年,8月28日

(1)对于内部有程序存贮器的单片机所构成的基本系统,既不扩展程序存贮器,也不扩展RAM/IO口,这时P2口作为通用I/O口使用,和P1口一样,是一个准双向口,对P2口操作可以采用字节操作,也可以采用位操作。

例4 XRL P2,#1;P2.0取反 CPL P2.0;P2.0取反

(2)对于只扩展少量外部RAM/IO口,其地址范围在0~255之间,P2口也可以作为I/O口使用。对外部RAM/IO口操作,只能使用R0或R1作地址指针,不能用DPTR作址址指针。二、P2口操作第十页,共九十四页,2022年,8月28日

例5将33H写入外部RAM的50H单元,CPU执行下面的程序段不影响P2口输出状态,因而是正确的: MOV R0,#50H MOV A,#33H MOVX @R0,A CPU执行下面的程序段将影响P2口的输出状态,因而是错误的; MOV DPTR,#50H MOV A,#33H MOVX @DTPR,A (3)对于既扩展程序存贮器,又扩展外部RAM/IO口的系统,P2口不能作为I/O口使用,对外部RAM/IO口操作则可以用DPTR、P2R0、P2R1三个16位地址指针。

第十一页,共九十四页,2022年,8月28日

例6将33H写入外部RAM的8200H,下面的程序段都是正确的: (1) MOV P2,#82H MOV R0,#0 MOV A,#33H MOVX @R0,A (2) MOV P2,#82H MOV R1,#0 MOV A,#33H MOVX @R1,A (3) MOV DPTR,#8200H MOV A,#33H MOVX @DPTR,A第十二页,共九十四页,2022年,8月28日5.1.5P0口

一、P0口特性

P0口为三态双向I/O口。对于内部有程序存贮器的单片机,P0口可以作为输入/输出口使用,直接连外部的输入/输出设备;也可以作为系统扩展的地址/数据总线口。对于内部没有程序存贮器的单片机(如8031),P0口只能作为地址/数据总线口使用。P0作为输入/输出口时应外接10kΩ拉高电阻。当输出驱动器转接至地扯/数据时,P0口作为地址/数据总线口使用,分时输出外部存贮器的低8位地址A0~A7和传送数据D0~D7。低8位地址先由地址允许锁存信号ALE锁存到外部的地址锁存器中,接着P0口便输入/输出数据信息。P0口输出的低8位地址来源于PCL、DPL、R0、R1等。第十三页,共九十四页,2022年,8月28日P0口为三态双向I/O口,当用作输入口时,一般接10kΩ左右的拉高电阻。图5-3所示的8751基本系统中,将一个开关K0接至P1.0和P0.0的电路有所差别,其原因是P1口内部具有拉高电阻,P0.0必须外接拉高电阻,才能使开关K0闭合时读P0.0引脚为0,K0断开时读P0.0引脚为1。二、P0口使用方法第十四页,共九十四页,2022年,8月28日 如前所述,MCS-51的P0口和P2口可以作为并行扩展总线,可以扩展64K字节程序存贮器和64K字节RAM/IO口,并行扩展总线结构如图5-4所示。P2口输出高8位地址A8~A15,P0口为复用口,先输出低8位地址A0~A7,用ALE信号的负跳变将A0~A7送入地址锁存器锁存,P2口和地址锁存器输出作为地址总线,输出地址A0~A15。在ALE将A0~A7送入地址锁存器锁存以后,接着P0口作为数据总线使用来传送数据。在扩展系统中,P3.6、P3.7作为外部RAM/IO口的读/写选通信号WR、RD,PSEN作为外部程序存贮器的读选通信号。正是由于外部程序存贮器和RAM/IO口使用不同的读选通信号,才使CPU通过16位地址总线访问64K字节程序存贮器和64K字节RAM/IO口。

5.1.5MCS-51的并行扩展总线第十五页,共九十四页,2022年,8月28日P2ALEP0WRRDPSEN地址锁存器A8~A15A0~A7D0~D7(控制总线)(数据总线)(地址总线)MCS-51

5.1.5MCS-51的并行扩展总线第十六页,共九十四页,2022年,8月28日

5.1.6MCS-51并行口电路小结 前面讲述了MCS-51的并行口电路的逻辑和功能,下面把这些并行口在使用中的一些问题总结一下: 1.P0、P1、P2、P3都是并行I/O口,都可用于数据的输入/输出传送,但P0和P2口除了可进行数据的输入/输出外,通常是用来构建系统的数据总线和地址总线。所以在口电路逻辑中有一个多路开关,以便进行两种用途的转换。而P1和P3口没有构建数据和地址总线的功能,因此在口电路逻辑中没有多路开关。由于P0口可作为地址/数据复用线使用,输送系统的低8位地址和8位数据,因此多路开关的一个输入端为“地址/数据”信号。而P2口仅作为高位地址线使用,不涉及数据,所以多路开关的一个输入信号为“地址”。第十七页,共九十四页,2022年,8月28日 2.在4个口中只有P0一个口是真正的双向口,而其余的3个口都是准双向口。原因是在应用系统中P0口作为系统的数据总线使用时,为了保证正确的数据传送,需要解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传送时,芯片内外应处于隔离状态。为此就要求P0口的输出驱动器是一个三态门。在P0中输出三态门是由两个场效应管(FET)组成的,所以说它是一个真正的的双向口。而其它3个口中,上拉电阻代替了P0口中的场效应管,输出驱动器不是三态的,因此不是真正的双向口,而只称其为准双向口。 3.P3口的口线具有第二功能,为系统提供一些控制信号。因此在P3口电路中增加了第二功能控制逻辑。这是P3口与其它各不同之处。

第十八页,共九十四页,2022年,8月28日ALE:地址锁存允许信号线,配合P0口引脚的第二功能使用。在访问外部存储器时,CPU在P0.7~P0.0引脚线上输出外部RAM存贮器低8位地址的同时,还在ALE线上输出一个高电位脉冲,用于把这个外部RAM存贮器低8位地址锁存到外部专用地址锁存器,以便空出P0.7~P0.0引脚线去传送随后而来的外部RAM存贮器读写数据。在不访问外部存储器时,自动在ALE上输出频率为fosc/6的脉冲序列,该脉冲序列可用作外部时钟源或作定时脉冲使用。

PSEN:外部ROM读选通信号线,在执行访问外部ROM的指令(MOVC)时,CPU自动在PSEN线上产生一个负脉冲,用于实现外部ROM芯片的选通。其他情况下,PSEN线均为高电平封锁状态。第十九页,共九十四页,2022年,8月28日定时器可以实现下列功能:

(1)定时操作:产生定时中断,实现定时采样输入信号,定时扫描键盘、显示器等定时操作;

(2)测量外部输入信号:对输入信号累加统计或测量输入信号的周期等参数;

(3)定时输出:定时触发输出引脚的电平,使输出脉冲的宽度、占空比、周期达到预定值,其精度不受程序状态影响; (4)监视系统正常工作:一旦系统工作异常时自动复位,重新启动系统正常工作。(监视定时器watchdog);5.2定时器第二十页,共九十四页,2022年,8月28日内部时钟外部时钟N位计数器TF中断电子开关方式控制计数控制溢出标志5.2.1定时器的结构和工作原理一、定时方式对于一个N位的加1计数器,若计数时钟的频率f已知,则从初值a开始加1计数至溢出所占用的时间为:T=1/f*(2N-a)第二十一页,共九十四页,2022年,8月28日5.2.2定时器/计数器T0和T1MCS-51系列的单片机内,共有两个可编程的定时器/计数器,分别称为定时器/计数器T0和T1。它们都是16位加法计数结构,直接与T0、T1有关的特殊功能寄存器有以下几个:TH0、TL0、TH1、TL1、TMOD、TCON,另外还有中断控制寄存器IE、IP。TH0、TL0为T0的16位计数器的高8位和低8位,TH1、TL1为T1的16位计数器的高8位和低8位,TMOD为T0、T1的方式寄存器,TCON为T0、T1的状态和控制寄存器,存放T0、T1的运行控制位和溢出中断标志位。

第二十二页,共九十四页,2022年,8月28日有关的寄存器TCON状态和控制寄存器中断允许寄存器IED7D6D5D4D3D2D1D0EA--ESET1EX1ET0EX0中断优先级控制器IPD7D6D5D4D3D2D1D0---PSPT1PX1PT0PX0D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0TMOD方式控制寄存器第二十三页,共九十四页,2022年,8月28日

一、方式寄存器TMOD 特殊功能寄存器TMOD为T0、T1的工作方式寄存器,其格式如下:

D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0

TMOD的低4位为T0的方式字段,高4位为T1的方式字段。1、工作方式选择位M1、M0(方式0~3)2、C/T=0为定时方式;C/T=1为外部事件计数方式。3、门控位GATE,当GATE=1受外部引脚控制,为0不受外部控制5.2.1定时器/计数器T0和T1第二十四页,共九十四页,2022年,8月28日特殊功能寄存器TCON的高4位为定时器的运行控制位和溢出标志位,低4位为外部中断的触发方式控制位和锁存外部中断请求源(见中断一节)。TCON格式如下:

D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0二、控制寄存器TCON第二十五页,共九十四页,2022年,8月28日1.定时器T0运行控制位TR0TR0由软件置位和清“0”。门控位GATE为0时,T0的计数仅由TR0控制,TR0=1时允许计数,TR0=0时禁止计数;门控位GATE为1时,仅当TR0等于1且INT0(P3.2)输入为高电平时T0才计数,TR0为0或INT0输入低电平时都禁止T0计数。2.定时器T0溢出标志位TF0当T0被允许计数以后,T0从初值开始加“1”计数,最高位产生溢出时TF0置“1”。TF0可以由程序查询和清“0”。TF0也是中断请求源,当CPU响应T0中断时由硬件对TF0清“0”。第二十六页,共九十四页,2022年,8月28日

3.定时器T1运行控制位TR1

TR1由软件置位和清“0”。门控位GATE为0时,T1的计数仅由TR1控制,TR1为“1”时允许T1计数,TR1为“0”时禁止T1计数;门控位GATE为1时,仅当TR1为1且INT1(P3.3)输入为高电平时T1才计数,TR1为0或INT1输入低电平时都将禁止T1计数。

4.定时器T1溢出标志位TF1

当T1被允许计数以后,T1从初值开始加“1”计数,最高位产生溢出时置“1”TF1。TF1可以由程序查询和清“0”,TF1也是中断请求源,当CPU响应T1中断时由硬件清“0”TF1。第二十七页,共九十四页,2022年,8月28日定时器T0有四种工作方式:方式0、方式1、方式2、方式3;定时器T1有三种工作方式:方式0、方式1、方式2。不同的工作方式计数器的结构不同,功能上也有差别,下面以T0为例说明各种工作方式的结构和工作原理。1.方式0当M1M0为00时定时器工作于方式0。方式0为13位的计数器,由TL0的低5位和TH0的8位组成,TL0低5位计数溢出时向TH0进位,TH0计数溢出时置“1”溢出标志TF0。三、T0、T1的工作方式和计数器结构第二十八页,共九十四页,2022年,8月28日fosc÷12TL0(5位)TH0(8位)TF0中断控制C/T=0C/T=1T0脚(P3.4)INT0脚GATETR0定时时间设定:第二十九页,共九十四页,2022年,8月28日TH0TL0例7已知晶振频率fOSC=6MHz,若使用T0方式0产生10ms定时中断,试对T0进行初始化编程。INIT0:MOVTH0,#63H MOVTL0,#18H SETTR0 ;允许T0计数 MOVIE,#82H ;EA=1,CPU开放中断RET ;ET0=1,允许T0中断二进制为:第三十页,共九十四页,2022年,8月28日INIT0:MOVTH0,#63HMOVTL0,#18HSETBTR0 ;允许T0计数MOVIE,#82H ;EA=1,CPU开放中断RET ;ET0=1,允许T0中断第三十一页,共九十四页,2022年,8月28日2.方式1方式1和方式0的差别仅仅在于计数器的位数不同,方式1为16位的定时器/计数器。T0工作于方式1时,由TH0作为高8位,TL0作为低8位,构成一个16位计数器。若T0工作于方式1定时,计数初值为a,fosc=12MHz,则T0从计数初值加1计数到溢出的定时时间为:T=fosc÷12TL0(8位)TH0(8位)TF0中断控制C/T=0C/T=1T0脚(P3.4)INT0脚GATETR0第三十二页,共九十四页,2022年,8月28日例8设fosc=12MHz,T0工作于方式1,产生50ms定时中断,TF0为高级中断源。试编写主程序中的初始化程序和中断服务程序,使P1.0产生周期为1秒的方波。根据公式:则得化为16进制数:a=3CB0H因此TH0初值为3CH,TL0初值为0B0H。第三十三页,共九十四页,2022年,8月28日 主程序:MAIN: MOVSP,#6FH ;栈指针初始化 MOVTH0,#3CH ;T0初始化 MOVTL0,#0B0H MOVTMOD,#1 ;T0工作于方式0,定时 MOVIP,#2 ;PT0=1,T0中断定义为高 ;优先级中断 MOVIE,#82H ;中断初始化 SETBTR0 MOV30H,#0AH ;工作单元初始化每10次 ;中断(0.5秒) ;P1.0求反,用30H作中断 ;次数计数器单元。第三十四页,共九十四页,2022年,8月28日T0中断服务程序:PTF0:ORL TL0,#0B0H ;恢复T0初值MOV TH0,#3CHDJNE30H,PTF0R ;判断中断次数=10否?MOV 30H,#0AH ;恢复中断次数存贮单元值CPL P1.0 ;P1.0求反PTF0R:RETI第三十五页,共九十四页,2022年,8月28日M1M0=10时,T0工作于方式2方式2为自动恢复初值的8位计数器,TL0作为作为8位计数器,TH0作为计数初值寄存器,当TL0计数溢出时,一方面置“1”溢出标志TF0,向CPU请求中断,同时将TH0内容送到TL0,使TL0从初值开始重新加1计数。因此,T0工作于方式2定时,定时精度比较高,但定时时间小, T=3.方式2GATEINT0脚fosc÷12TL0(8位)TH0(8位)TF0中断控制C/T=0C/T=1T0脚(P3.4)TR0第三十六页,共九十四页,2022年,8月28日 例9设fosc=12MHz,T0工作方式2,产生250μs定时中断(高级),试编写主程序中的初始化程序和中断程序,每1秒使时钟显示缓冲器30H~32H实时计数,缓冲器分配如下30H十个31H十个32H十个时分秒 根据公式:

计算得: a=6在一秒内产生4000次中断。第三十七页,共九十四页,2022年,8月28日 主程序: MAIN:MOV SP,#6FH LCALLINICLK;调用时钟初值设置子程序, ;通过键盘输入初值,本例中略 MOV 36H,#0FH ;4000→中断次数计数单元 MOV 37H,#0A0H MOV TMOD,#2 MOV TL0,#6 MOV TH0,#6 SETB TR0 MOV IE,#82H MOV IP,#2PTFO:PUSH PSW ;保护现场 PUSH ACC

MOV PSW,#8 ;选工作寄存器1区

第三十八页,共九十四页,2022年,8月28日DJNE37H,PTF0R;判中断次数计数单元减1是否为0DJNE36H,PTF0R

MOV36H,#0FH;4000→中断次数计数单元MOV37H,#0A0HMOVR0,#32H ;秒加1MOVA,@R0ADD A,#1DAAMOV @R0,ACJNEA,#60H,PTF0RMOV@R0,#0 ;秒清“0”DECR0MOVA,@R0ADDA,#1 ;分加1DA AMOV@R0,A第三十九页,共九十四页,2022年,8月28日

CJNE A,#60H,PTF0R

MOV @R0,#0 ;分清“0” DEC R0 MOV A,@R0 ADD A,#1 ;时加1 DA A MOV @R0,A

CJNE A,#24H,PTF0R

MOV @R0,#0PTF0R:POP ACC POP PSW RETI第四十页,共九十四页,2022年,8月28日

4.方式3

前三种工作方式下,对两个定时器/计数器的设置和使用是完全相同的。但是在工作方式3下,两个定时器/计数器的设置和使用却是不同的。

1)工作方式3下的定时器/计数器T0

方式3只适用于T0,若T1被设置为工作方式3时,则使T1停止工作。T0方式字段中的M1M0为11时,T0被设置为方式3,此时T0的逻辑结构如图5-12所示,T0被分为两个独立的8位计数器TL0和TH0。TL0使用T0的所有状态控制位GATE、TR0、INT0(P3.2)、T0(P3.4)、TF0等,TL0即可以作为8位定时器使用,又可以作为外部事件计数器使用。TL0计数溢出时置“1”溢出标志TF0,TL0计数初值必须由软件每次设定。其功能和操作与方式0或方式1完全相同,而且逻辑结构也极其类似。与TL0的情况相反,TH0只能作为一个8位定时器使用。而且由于T0的所有状态控制位已被TL0独占,因此TH0只好借用T1的状态控制位TR1、TF1。即当TR1为1时,允许TH0计数,当TH0计数溢出时置“1”溢出标志TF1。第四十一页,共九十四页,2022年,8月28日 由于TL0既能作定时器使用也能作计数器使用,而TH0只能作为定时器使用却不能作为计数器使用,因此在工作方式3下,T0可以构成两个定时器或一个定时器一个计数器。 2)工作方式3下的定时器/计数器T1

如果T0已工作在方式3,则T1只能工作在方式0、方式1或方式2下,因为它的运行控制位TR1及计数溢出标志位TF1已被T0借用。 在这种情况下,T1通常是作为串行口的波特率发生器使用,以确定串行通信的速率。因为已没有计数溢出标志位TF1可供使用,因此只能把计数溢出直接送给串行口。 当作为波特率发生器使用时,只需设置好工作方式,便可自动运行。如要停止工作,只需送入一个把它设置为方式3的方式控制字就可以了。因为T1不能在方式3下使用,如果硬把它设置为方式3,就停止工作。第四十二页,共九十四页,2022年,8月28日 中央处理器CPU和外界的信息交换(或数据传送)称为通信,通常有并行和串行两种通信方式,数据的各位同时传送的称为并行通信,数据一位一位串行地顺序传送的称为串行通信。

并行通信的特点是:各数据位同时传送,传送速度快、效率高。但并行数据传送有多少数据位就需多少根数据线,因此传送成本高。并行数据传送的距离通常小于30米,在计算机内部的数据传送都是并行的。

串行通信的特点是:数据传送按位顺序进行,最少只需一根传输线即可完成,成本低但速度慢。计算机与外界的数据传送大多数是串行的,其传送的距离可以从几米到几千公里。串行通信是通过串行口来实现的,MCS-51有一个全双工(数据的传送是双向的,可以同时发送和接收)的异步串行接口可以用于串行数据通信。 串行通信有两种基本方式:异步通信和同步通信方式。5.3串行接口第四十三页,共九十四页,2022年,8月28日

一、异步通信方式是以字符(或字节)为单位组成字符帧传送的。字符帧由发送端一帧一帧地发送,通过传输线为接收设备一帧一帧地接收。 那么,究竟发送端和接收端依靠什么来协调数据的发送和接收呢?也就是说,接收端怎么会知道发送端何时开始发送和何时结束发送呢?这是由字符帧格式规定的。平时,发送线为高电平(逻辑“1”),每当接收端检测到传输线上发送过来的低电平逻辑“0”(字符帧中起始位)时就知道发送端已开始发送,每当接收端接收到字符帧中的停止位时就知道一帧字符信息已发送完毕。 典型的异步通信数据格式如下。 起始位D0D1D2D3D4D5D6D7停止位第四十四页,共九十四页,2022年,8月28日

1.字符帧:字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等四部分组成。如上图。

2.起始位:位于字符帧开头,只占一位,始终为逻辑“0”,用于向接收设备表示发送端开始发送一帧数据。3.数据位:紧跟起始位之后,用户根据情况可取5位、6位、7位或8位,低位在前高位在后。若所传数据为ASCⅡ字符,则常取7位。

4.奇偶校验位:位于数据位之后,仅占一位。用于对字符传送作正确性检查,因此,奇偶校验位是可选择的,采用奇校验还是偶校验,由用户根据需要决定。

5.停止位:位于字符帧末尾,为逻辑“1”高电平,通常可取1位、1.5位或2位,用于向接收端表示一帧字符信息已发送完毕,也为下一帧字符作准备。6.波特率:串行通信中每秒传送的数据位树称为波特率对异步通信数据格式作如下说明:第四十五页,共九十四页,2022年,8月28日

同步通信是按数据块传送的,把传送的字符顺序地连接起来,组成数据块(见图5-23),在数据块前面加上特殊的同步字符(有1—2个),作为数据块的起始符号(接收端不断对传输线采样,并把采样到的字符和双方约定的同步字符比较,只有比较成功后才会把后面接收到的字符加以存储)。数据字符在同步字符之后,个数不受限制,由所需传输的数据块长度决定;在数据块的后面加上校验字符(有1—2个),位于数据末尾,用于接收端对接收到的数据字符的正确性校验。在同步通信中字符之间没有间隔的,通信效率比较高。同步字符1同步字符2N个数据字节校验字符1校验字符2二、同步通信方式第四十六页,共九十四页,2022年,8月28日 MCS-51的串行口是一个全双工的异步串行通信接口,可以同时发送和接收数据。 串行口的内部有数据接收缓冲器和数据发送缓冲器。数据接收缓冲器只能读出不能写入,数据发送缓冲器只能写入不能读出,这两个数据缓冲器都用符号SBUF来表示,地址都是99H。CPU对特殊功能寄存器SBUF执行写操作,就是将数据写入数据发送缓冲器;对SBUF执行读操作,就是读出数据接收缓冲器的内容。 与串行通信有关的特殊功能寄存器共有4个:特殊功能寄存器SCON存放串行口的控制和状态信息。串行口用定时器T1或T2(8052等)作为波特率发生器(发送接收时钟)。特殊功能寄存器PCON的最高位SMOD为串行口波特率的倍率控制位。中断允许寄存器IE的D4位ES为串行中断允许位。中断优先级控制寄存器IP的D4位PS为串行口优先级控制位。

5.3.1串行接口的组成和特性第四十七页,共九十四页,2022年,8月28日串行口控制寄存器SCON是一个特殊功能寄存器,地址为98H,具有位寻址功能。SCON的格式如下:一、串行口控制寄存器SCONSM0SM1SM2RENTB8RB8TIRID7D6D5D4D3D2D1D01.SM0、SM1:串行口的工作方式选择位。SM0SM1方式功能说明000扩展移位寄存器方式,移位波特率fosc/120118位UART,波特率可变(T1溢出率/n)1029位UART,波特率fosc/64或fosc/321139位UART,波特率可变(T1溢出率/n)第四十八页,共九十四页,2022年,8月28日

2.SM2:多机通信控制位。 因多机通信是在方式2和方式3下进行,因此SM2位主要用于方式2和方式3。当串行口以方式2或方式3接收时,如SM2置为1,则只有接收到的第9位数据(RB8)为“1”,才将接收到的前8位数据送入SBUF,并置位RI产生中断请求;否则,将接收到的前8位数据丢弃,不置位RI。而当SM2置为0时,则不论第9位数据为“0”还是为“1”,都将前8位数据装入SBUF中,并置位RI产生中断请求。对于方式1,如SM2=1,则只有接收到有效的停止位才会激活RI。对于方式0,SM2应该为0。

3.REN:允许串行接收位。由软件置位或清零 REN位用于对串行数据的接收进行控制。由软件置位以允许接收。由软件清“0”来禁止接收。即REN=0,禁止接收;REN=1,允许接收。一、串行口控制寄存器SCON第四十九页,共九十四页,2022年,8月28日4.TB8:对于方式2和方式3,TB8的内容是要发送的第9位数据,需要时其值由用户通过软件置位或复位。5.RB8:对于方式2和方式3,RB8存放接收到的第9位数据。对于方式1,如SM2=0,RB8是接收到的停止位。对于方式0,不使用RB8。6.TI:发送中断标志。在方式0下,串行发送完第8位数据后,该位由硬件置位。在其它方式下,于串行发送停止位的开始时,由硬件置位。TI必须由软件清“0”。发送完一帧数据后由硬件置位。TI=1,表示帧发送结束,其状态既可供软件查询使用,也可请求中断。一、串行口控制寄存器SCON第五十页,共九十四页,2022年,8月28日 7.RI:接收中断标志。 在方式0下,接收完第8位数据后,该位由硬件置位。在其它方式接收到停止位的中间时置位,RI既可供CPU查询,以决定CPU是否可以从“SBUF(接收)”中提取接收到的字符或数据。也可以请求中断。RI必须由软件清“0”。

SMODD7D6D5D4D3D2D1D0PCON的最高位SMOD是串行口波特率系数控制位,当SMOD为1时使波特率加倍。PCON的其它位为掉电方式控制位(仅对CHMOS型单片机80C51等有效)二、特殊功能寄存器PCON第五十一页,共九十四页,2022年,8月28日 MCS-51串行接口具有四种工作方式,它们是由SCON中的SM0,SM1这两位定义的。

一、方式0

方式0是外扩移位寄存器的工作方式,以串行扩展I/O接口。输出时:将发送数据缓冲器中的内容串行地移到外部的移位寄存器,输入时:将外部移位寄存器的内容串行地移入内部的输入移位寄存器,然后写入内部的接收数据缓冲器。在以方式0工作时,数据由RXD端串行地输入/输出,TXD端输出移位脉冲,使外部的移位寄存器移位。波特率固定为振荡器频率的十二分之一。5.3.2串行接口的工作方式第五十二页,共九十四页,2022年,8月28日1.方式0输出方式0输出时,串行口上外接74LS164(串行输入并行输出移位寄存器)的接口逻辑如图所示。在TXD端输出的移位脉冲控制下,RXD端输出的数据将被逐位移入74LS164。(经过8个机器周期)88031D1D2CLK74LS164345610111213D7……D0+5VRXDTXD80518751121497第五十三页,共九十四页,2022年,8月28日例图5-25中,串行口外接两个74LS164,74LS164的输出接指示灯L0~L15,欲使L0~L3、L8、L10、L12、L14灯亮,其余灯暗。LSUBO:MOV SBUF,#0FHJNB TI,$CLR TIMOV SBUF,#055HJNB TI,$CLR TIRET+5VRXDTXD12CLK74LS164345610111213CRVccVss12CLK74LS164345610111213CRVccVssL7L6L5L4L3L2L1L0L15L9L8第五十四页,共九十四页,2022年,8月28日

2.方式0输入

方式0输入时,RXD作为串行数据输入线,TXD作为移位脉冲输出线,串行口与外接的并行输入串行输出的移位寄存器74LS166的接口逻辑如图5-26所示803174LS166345610111213RXDTXD80518751INT0137156外部数据打入信号在REN=1,RI=0时启动串行口接收,TXD端输出的移位脉冲频率为fosc/12,若fosc=12MHz,移位速率为1μs/位,经过8次移位,外部移位寄存器内容移入内部移位寄存器,并写入SBUF,置位RI,停止移位,完成一个字节的输入,CPU读SBUF的内容便得到输入结果。第五十五页,共九十四页,2022年,8月28日二、方式1串行口定义为方式1时,它是一个8位异步串行通信口,TXD为数据输出线,RXD为数据输入线。传送一帧信息的数据格式如下所示。一帧为10位:1位起始位,8位数据位(先低位后高位),1位停止位。

起始位D0D1D2D3D4D5D6D7停止位第五十六页,共九十四页,2022年,8月28日CPU向串行口数据发送缓冲器SBUF写入一个数据,然后发送电路就自动在8位发送字符前后分别添加1位起始位“0”和1位停止位“1”,启动串行口发送,在串行口内部一个十六分频计数器的同步移位脉冲控制下,在TXD端输出一帧信息,先发送起始位0,接着从低位开始依次输出8位数据,最后输出停止位1,并置“1”发送中断标志TI,串行口输出完一个字符后停止工作。CPU执行程序判断TI=1后清“0”TI,再向SBUF写入数据,启动串行口发送下一个字符。1.方式1输出第五十七页,共九十四页,2022年,8月28日

REN置“1”以后,就允许接收器接收。接收器以所选波特率的16倍的速率采样RXD端的电平。当检测到RXD端输入电平发生负跳变(从“1”到“0”)时,复位内部的十六分频计数器。计数器的16个状态把传送一位数据的时间分为16等分,在每位中心,即7、8、9这三个计数状态,位检测器采样RXD的输入电平,接收的值是三次采样中至少是两次相同的值,这样处理可以防止干扰。如果在第1位时间接收到的值(起始位)不是0,则起始位无效,复位接收电路,重新搜索RXD端上的负跳变。如果起始位有效,则开始接收本帧其余部分的信息。接收到停止位为1时,将接收到的8位数据装入接收数据缓冲器SBUF,直到接收到停止位1之后,把停止位送入RB8中,置位RI,表示串行口接收到有效的一帧信息,向CPU请求中断。接着串行口输入控制电路重新搜索RXD端上负跳变,接收下一个数据。

2.方式1输入第五十八页,共九十四页,2022年,8月28日串行口定义为方式2或方式3时,它是一个9位异步串行通信接口,TXD为数据发送端,RXD为数据接收端。方式2的波特率固定为振荡器频率的1/64或1/32,而方式3的波特率由定时器T1或T2(8052)的溢出率所确定,故方式3的波特率是可调的。在方式2和方式3中,一帧信息为11位:1位起始,8位数据位(先低位后高位),1位附加的第9位数据(发送时为SCON中的TB8,接收时第9位数据为SCON中的RB8),1位停止位,数据的格式如图三、方式2和方式3起始位D0D1D2D3D4D5D6D7停止位D8第五十九页,共九十四页,2022年,8月28日方式2和方式3的发送过程类似于方式1输出,所不同的是:方式2和方式3有9位有效数据位。发送时,CPU除要把发送字符写入数据发送缓冲器“SBUF”外,还要把第9数据位预先写入SCON的TB8中。第9数据位可由用户安排,可以是奇偶校验位,也可以是其他控制位。第9数据位的写入可以用如下指令中的一条来完成: SETB TB8 CLR TB8第9数据位的值写入TB8后,CPU向数据发送缓冲器“SBUF”写入发送数据就启动串行口发送。先发送起始位0,接着从低位开始依次发送SBUF中的8位数据,再发送SCON中TB8,最后发送停止位,置“1”发送中断标志TI,CPU判断TI=1以后清“0”TI,可以再向TB8和SBUF写入新的数据,再次启动串行口发送。1.方式2和方式3输出第六十页,共九十四页,2022年,8月28日 方式2和方式3的接收过程也和方式1输入类似,所不同的是:方式1时RB8中存放的是停止位,方式2或方式3时RB8中存放的是第9数据位。 ※(REN置“1”以后,接收器就以所选波特率的16倍的速率采样RXD端的输入电平。当检测到RXD上输入电平发生负跳变时,复位内部的十六分频计数器。计数器的16个状态把一位数据的时间分成16等分,在一位中心,即7、8、9这三个计数状态,位检测器采样RXD的输入电平,接收的值是三次采样中至少是两次相同的值。如果在第1位时间接收到的值不是0,则起始位无效,复位接收电路,重新搜索RXD上的负跳变。如果起始位有效,则开始接收本帧其余位信息。)

2.方式2和方式3输入第六十一页,共九十四页,2022年,8月28日REN置“1”以后,就允许接收器接收。在此前提下,串行口采样RXD端,当采样到从“1”向“0”的状态跳变时,就认定是接收到起始位。随后在移位脉冲的控制下,先从低位开始接收8位数据,再接收第9位数据,在RI=0,SM2=0或接收到的第9位数据为1时,接收的数据装入SBUF和RB8,置位RI;如果条件不满足,把数据丢失,并不置位RI。一位时间以后又开始搜索RXD上的负跳变,接收下一个数据。2.方式2和方式3输入第六十二页,共九十四页,2022年,8月28日

一、方式0波特率 串行口方式0的波特率由振荡器的频率所确定: 方式0波特率=振荡器频率/12

二、方式2波特率串行口方式2的波特率由振荡器的频率和SMOD(PCON.7)所确定: 方式2波特率=×振荡器频率/64 SMOD=0时,波特率=振荡器频率/64; SMOD=1时,波特率=振荡器频率/32。

三、方式1和方式3的波特率 串行口方式1和方式3的波特率由定时器T1或T2(8052等单片机)的溢出率和SMOD所确定。T1和T2是可编程的,可以选择的波特率范围比较大,因此串行口方式1和方式3是最常用的工作方式。

5.3.3波特率第六十三页,共九十四页,2022年,8月28日 当定时器T1作为串行口的波特率发生器时,串行口方式1和方式3的波特率由下式确定:

方式1和方式3波特率

=2SMOD×(T1溢出率)/32 SMOD为0时,波特率等于T1溢出率的三十二分之一; SMOD为1时,波特率等于T1溢出率的十六分之一。定时器T1作波特率发生器时,应禁止T1中断。通常T1工作于定时方式(C/T=0),计数脉冲为振荡器的十二分频信号。T1的溢出率又和它的工作方式有关,一般选方式2定时,此时波特率的计算公式为:

方式1和方式3波特率

=2SMOD×振荡器频率/[32×12(256-(TH1))]

1.用定时器T1产生波特率第六十四页,共九十四页,2022年,8月28日

※2.用定时器T2产生波特率 8052等单片机内的定时器T2也可以作为串行口的波特率发生器,置位T2CON中的TCLK和RCLK位,T2就工作于串行口的波特率发生器方式,这时T2的逻辑结构框图5-29所示。 T2的波特率发生器方式和计数初值常数自动再装入方式相似,若C/T2=0,以振荡器的二分频信号作为T2的计数脉冲,C/T2=1时,计数脉冲是外部引脚T2(P1.0)上的输入信号。T2作为波特率发生器时,当T2计数溢出时,将RCAP2H和RCAP2L中的常数(由软件设置)自动装入TH2、TL2使T2从这个初值开始计数,但是并不置“1”TF2,RCAP2H和RCAP2L中的常数由软件设定后,T2的溢出率是严格不变的,因而使串行口方式1和平的波特率非常稳定,其值为: 方式1和方式3波特率=振荡器/32[65536-(RCAP2H)(RCAP21)] T2工作于波特率发生器方式时,计数溢出时不会置“1”TF2,不向CPU请示中断,因此可以不必禁止T2的中断。如果EXEN2为1,当T2EX(P1.1)上输入电平发生“1”至“0”负跳变时,也不会引起RCAP2H和RCAP2L中的常数装入TH2、TL2,仅仅置位EXF2,第六十五页,共九十四页,2022年,8月28日向CPU请求中断,因此T2EX可以作为一个外部中断源使用。在T2计数过程中(TR2=1)不应该对TH2、TL2进行读/写。如果读,则读出结果不会精确(因为每个状态加1);如果写,则会影响T2的溢出率使波特率不稳定。在T2计数过程中可以对RCAP2H和RCAP2L进行读但不能写,如果写也将使波特率不稳定。因此,在初始化中,应先对TH2、TL2、RCAP2H、RCAP2L初始化编程以后才置“1”TR2,启动T2计数。※第六十六页,共九十四页,2022年,8月28日

多机通信是指两台以上计算机之间的数据传输,主从式多机通信是多机通信系统中最简单的一种,应用也最为广泛。现以它为例加以讨论。串行口控制寄存器SCON中的SM2为多机通信控制位。串行口以方式2或方式3接收时,若SM2为1,则仅当接收到的第9位数据RB8为1时,数据才装入SBUF,置位RI,请求CPU对数据进行处理;如果接收到的第9位数据RB8为0,则不产生中断标志RI,信息丢失,CPU不作任何处理。当SM2为0时,则接收到一个数据后,不管第9位数据RB8是1还是0,都将数据装入接收缓冲器SBUF,置位中断标志RI,请求CPU处理,应用这个特性,便可以实现MCS-51的主从式多机通信。5.3.4多机通信原理第六十七页,共九十四页,2022年,8月28日 在主从式多机系统中,只有一台主机,但从机可以有多台。主机发送的信息可以传送到各个从机或指定从机,而从机发送的信息只能为主机所接收,各从机之间不能直接通信。主机通常由系统机(例如:IBM-PC/386)充任,也可以由单片机担当;从机通常为单片机。 在图示的一个主从式多机系统中,有一个8031系统作为主机,有三个8031单片机作为从机,并假设它们被安装在同一块印板之内,以TTL电平通信。TXDRXD80310#从机TXDRXD80310#从机TXDRXD8031主机80310#从机TXDRXDMCS-51多机通信系统结构框图第六十八页,共九十四页,2022年,8月28日MCS-51用于多机通信时必须在方式2或方式3下工作,作主机的8031的SM2应设定为0,作从机的8031的SM2应设定为1。主机发送并为从机接收的信息有两类:一类是地址,用于指示需要和主机通信的从机地址,由串行数据第9位为“1”标志;一类是数据或命令,由串行数据第9位为“0”标志。由于所有从机的SM2=1,故每个从机在接收到主机发来的地址(串行数据第9位为“1”)后,都置位RI,并进入各自的中断服务程序。在中断服务程序中,每台从机把接收到的地址和它的本机地址(系统设计时所分配)进行比较。所有比较不相等的从机均从各自的中断服务程序中退出(SM2仍为1),只有比较成功的从机才是被主机寻址通信的从机。被寻址的从机在程序中使SM2=0,以便接收主机随之而来发送的数据或命令(RB8=0),并作相应处理。第六十九页,共九十四页,2022年,8月28日其它的从机由于SM2保持1,对主机发送的数据或命令不作任何处理。于是。这样便实现主机和从机之间的一对一通信。当一次通信结束以后,从机的SM2恢复1,主机可以发送新的地址,以便和另一个从机进行通信。

第七十页,共九十四页,2022年,8月28日上述过程进一步归纳如下:(1)主机的SM2=0;所有从机的SM2=1,以便接收主机发来的地址。(2)主机给从机发送地址时,第9数据位上发送1,以指示从机接收这个地址。(3)所有从机在SM2=1、RB8=1和RI=0时,接收主机发来的从机地址,进入相应中断服务程序,并和本机地址比较以确定是否为被寻址从机。(4)未被寻址从机保持SM2=1,并退出各自中断服务程序。被寻址从机通过指令清零SM2,以正常接收主机随之而来发送的数据或命令,并作相应处理,同时向主机发回接收到的从机地址,供主机核对。(5)完成主机和被寻址从机之间的数据通信,被寻址从机在通信完成后重新使SM2=1,并退出中断服务程序,等待下一次通信。第七十一页,共九十四页,2022年,8月28日5.3.5串行口的应用和编程

一、串行口应用 在同一块印板内两个单片机的串行口可以直接相连,以TTL电平(大于0.8V为1,小于0.3V为0)直接串行通信,串行口可工作于方式1、2、3。一般用一个外部脉冲源作为单片机的时钟,结构框图如图5-31所示。在单片机应用中,常把单片机作为PC机的前置机,利用串行口和PC机通信,单片机完成数据的采样,PC机完成数据的处理,达到很高的性能,如IC卡读/写机、变电站中使用的远程终端RTV等。PC机的串行口(COM1或COM2)是RS232电平(+12V为1,-12V为0),单片机的串行口是TTL电平,必须通过电平转换器(如1488发送器,1489接收器或TC232接收发送器)变成RS232电平以后才能和PC机的串行口相连,其结构如图5-32所示。第七十二页,共九十四页,2022年,8月28日一、串行口的应用1、两个单片机之间的TTL电平串行通信XTAL2TXD8031 RXDXTAL1XTAL2RXD8031 TXDXTAL11M74HC474HC0411.0592MHz30p30p串行口的应用第七十三页,共九十四页,2022年,8月28日2、单片机和PC机的串行接口连接TXD8031RXDVSSRXDTXDPC机GND电平转换器第七十四页,共九十四页,2022年,8月28日1、分立元件电平转换电路+5VTTL(B)TTL(C)4.7K4.7K4.7K4.7KT1T2+5V1.8K10uRS-232C(A)RS-232C(D)二、RS-232电平与TTL电平的转换RS-232C的逻辑0电平(+12V)RS-232C的逻辑1电平(–12V)第七十五页,共九十四页,2022年,8月28日2、集成电路电平转换器TC2321615141312111098765432110u10u10u10u+5V地RS-232电平+5V地RS-232电平TTL电平第七十六页,共九十四页,2022年,8月28日串行口编程包括编写串行口的初始化程序和串行口的输入/输出程序。串行口初始化程序的功能是选择串行口的工作方式,串行口的波特率以及允许串行口中断,就是对SCON、PCON、TMOD、TH1、TL1、IE、IP、SBUF编程。输入/输出程序的功能是在确定的工作方式下实现数据的串行输入/输出。二、串行口编程第七十七页,共九十四页,2022年,8月28日

例11试编写一个程序,其功能是对串行口初始化为方式1输入/输出,fosc=11.0592MHz,波特率为9600,首先在串行口上输出字符串‘MCS-51Microcomputer’,接着读串行口上输入的字符,又将该字符从串行口上输出。MAIN:MOV TMOD,#20H ;对T1初始化为方式2MOV TH1,#0FDH;送时间常数决定波特率MOV TL1,#0FDHSETB TR1 ;允许T1计数MOV SCON,#52H;选串行口方式1,允许接收,

;初态TI=1,以便循环程序的编写

MOV R4,#0 ;R4作字符串表指针MOV DPTR,#TSABMLP1:MOV A,R4 MOV A,@A+DPTR JZ MLP6 ;(A=0则转移) ;字符串以0表示结束 第七十八页,共九十四页,2022年,8月28日MLP3:JBC TI,MLP2 ;寻址位为1则转移,并清0SJMP MLP3MLP2:MOV SBUF,AINC R4SJMP MLP1MLP6:JBC RI,MLP5SJMP MLP6MLP5:MOV A,SBUFMLP8:JBC TI,MLP7SJMP MLP8MLP7:MOV SBUF,A SJMP MLP6TSAB:DB ‘MCS-51Micromputer’DB 0AH,0DH,0第七十九页,共九十四页,2022年,8月28日

例12在一个MCS-51应用系统中,fosc=11.0592MHz,利用串行口和PC机通信,试编写一个程序,其功能为对串行口初始化为方式3,波特率为19200,TB8、RB8作为奇偶校验位,先向PC机输出‘MCS-51READY’,然后以中断控制方式接收PC机的命令(每个命令不一个ASCII字符,合法命令字符为A~F),收到命令后置位标志MCMD,主程序查询到MCMD=1作为相应的命令处理。MCMD EQU0 ;定义收到主机命令标志位ESO EQU1 ;定义允许串行口输出标志ESI EQU2 ;定义允许串行口输入标志SBFR EQU30H ;串行口输入输出数据缓冲区SCOT EQU2FH ;串行口数据缓冲器有效长度≤16SPOT EQU 2EH ;串行口数据缓冲器指针MAIN: MOVTMOD,#20H;波特率19200 MOVTH1,#0FDH MOVTL1,#0FDH第八十页,共九十四页,2022年,8月28日 ORL PCON,#80H ;1→SMOD SETBTR1 MOV SCON,#52H MOVR4,#11HMLP1:MOVA,R4 MOVCA,@A+PC JZMLP4 ;(2个字节)MLP2:JBCTI,MLP3 ;(3个字节) SJMPMLP2 ;(2个字节)MLP3:MOVC,P ;奇偶位→TB8(2个字节) MOVCTB8,C ;(2个字节) MOV SBUF,A;写SBUF,启动发送(2个字节) INCR4 ;(2个字节) SJMPMLP1 ;(2个字节)第八十一页,共九十四页,2022年,8月28日 ASAB:DB ‘MCS-51READY’ DB 0DH0AH,0 ALP4: CLR ESO ;禁止对串行口输出 SETBESI ;允许串行口输入 MOV IE,#90H ;允许串行口中断 LP0: JNBMCMD,LP1 CLRMCMD LJMPPMCMD LP1:… ;其它事务处理

LJMP LP0PMCMD:MOVA,SBFR ;命令处理程序 CJNEA,#‘A’,$+3 ;判收到字符为A~F? JCMCDE第八十二页,共九十四页,2022年,8月28日 CJNE A,#‘G’,$+3 JNCMCDE CLR C SUBBA,#‘A’ MOV B,#3 MUL AB MOV DPTR,#PMAB JMP@A+DPTRMCDE:MOV SBFR,#‘E’;错误命令处理 MOV SBFR+1,#‘r’ MOV SBFR+2,#‘r’ MOV S,#3 MOVSPOT,#SBFR SETBESO CLEESI第八十三页,共九十四页,2022年,8月28日 SETBTI LJMP LP0PMAB:LJMP

温馨提示

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

评论

0/150

提交评论