【精品课件】串行通信接口技术(1).ppt

上传人:文库蛋蛋多 文档编号:2331041 上传时间:2023-02-11 格式:PPT 页数:60 大小:459KB
返回 下载 相关 举报
【精品课件】串行通信接口技术(1).ppt_第1页
第1页 / 共60页
【精品课件】串行通信接口技术(1).ppt_第2页
第2页 / 共60页
【精品课件】串行通信接口技术(1).ppt_第3页
第3页 / 共60页
【精品课件】串行通信接口技术(1).ppt_第4页
第4页 / 共60页
【精品课件】串行通信接口技术(1).ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《【精品课件】串行通信接口技术(1).ppt》由会员分享,可在线阅读,更多相关《【精品课件】串行通信接口技术(1).ppt(60页珍藏版)》请在三一办公上搜索。

1、10.1 串行口通信方式10.2 PC机与单片机的通信,第10章 串行通信接口技术,串行通信基础知识1数据通信 计算机与外界的信息交换称为通信。通信方式有:并行通信和 串行通信。2.串行通信的数据传送方向 a.是单工配置,即只允许某机的通信接口只能发送或接收.b.半双工配置,可以传送或接收数据,但同一时刻只能有 一个站发送.c.全双工配置,允许两机的发送和接收可以同时进行.,10.1 串行口通信方式,3异步通信和同步通信,(1)异步通信在异步通信中,数据或字符是分为一帧一帧地传送。下面是一种11位的帧格式:,在帧格式中,一个字符由四个部分组成:起始位、数据位、奇偶校验位和停止位。,(2)同步通

2、信 同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在数据块开始时用同步字符SYNC来指示,同步传送格式如下:,数据,4波特率(Baud Rate)波特率,即数据传送速率,表示每秒钟传送二进制代码的位数,单位是位秒。假如数据传送的速率每秒为120个字符,每个字符包含10个代码位(一个起始位、8个数据位、一个停止位),这时,传送的波特率为:10120位秒1200波特(bps),10.1.2 串行口控制寄存器,SM0,SM1:串行口操作方式选择位。SM2:在方式2和方式3中,用于主从式多机通信的控制位,若SM21,则允许 接收到的第9位数据(RB8)为0,则接收中断标志RI不会被激活。

3、在方式1中,若SM21,则只有接收到有效停止位时,中断标志RI才置1。REN:允许接收控制位,用软件置1或清0。TB8:在方式2和方式3中为准备发送的第9位数据位。它可作为数据的奇偶校验位,或在多机通信中作为地址帧或数据帧的标志。RB8:在方式2和方式3中为接收到的第9位数据,既可以作为约定好的奇偶校验位,也可以作为多机通信时的地址帧或数据帧标志。TI:发送中断标志位。RI:接收中断标志位。,SCON 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H,2电源控制寄存器PCON PCON是为了在CHMOS的MCS-51单片机上实现电源控制而设置的其中只有SMOD与串行口工作有关。它

4、的格式和功能如下:,SMOD称为波特率选择位。在工作方式l、2和3时,若SMOD1,则波特率提高一倍;若SMOD0,则波特率不加倍。整机复位时,SMOD0,PSCON D7 D6 D5 D4 D3 D2 D1 D0,10.1.3 波特率的设计,方式0的波特率fosc/12 方式2的波特率2SMODT1/64 方式1和方式3的波特率 2SMODT1/32溢出率 其中,T1的溢出率取决于T1的工作方式和初值。如果计数初值为x,则每过“256-x”个机器周期,定时器T1就会产生一次溢出。为了避免因溢出而引起中断,此时应禁止T1中断。这时,波特率2SMOD/32 fosc/(12(256-x)例 已知

5、805l单片机时钟振荡频率为11.0592MHz,选用定时器T1工作方式2作波特率发生器,波特率为2400波特,求初值X。解:设波特率控制位SMOD0,则有:所以,(THl)(TLl)F4H。,串行口工作方式串行口的操作方式由SM0、SM1定义,编码和功能如表10-2所示。,1方式0,10.1.5 串行口应用举例,上图中,下面的程序将内部RAM区中20H和21H单元的内容经串行口由74LSl64并行送出。START:MOV R6,#02H;置发送字节数 MOV R0,#20H;设置片内RAM指针 MOV SCON,#00H;设置串行口方式0SEND:MOV A,R0 MOV SBUF,A;启动

6、串行口发送WAIT:JNB TI,WAIT;末发送完一帧,等待 CLR TI;清发送中断标志 INC R0;取下一个数 DJNZ R6,SEND;判是否发送完,2设计一程序,实现两片MCS-51串行通信,将8051(1)片内RAM的50H5FH中的数据串行发送到805l(2)中,并储于805l(2)片内RAM40H4FH单元中。假设两单片机晶振均为11.0592MHz。,根据题目要求,选择串行口方式3通信。奇偶校验的过程是这样实现的:在发送端,TB8作奇偶校验位。在数据写入缓 冲发送器之前,先将数据的奇偶位写入TB8,作为第9位数据传送,这个奇偶性数据传送到接收一方RB8位上。在接收一方,接收

7、到一个字符(8位二进制信息与奇偶校验位)后,从SBUF转移到A中时,状态标志寄存器会产生已接收到数据的奇偶值,将此奇偶值与RB8中的奇偶值相比较,两者应该相符,否则接收字符有错。发现错误要通知对方重发。如果选择波特率为9600bps、且选择T1方式2定时,则发送与接收程序如下:(1)单片机(1)发送程序:TTTT:MOV TMOD,#20H;定时器1方式2 MOV TL1,#0FDH MOV THl,#0FDH;置定时器初值,选定9600bps MOV SCON,0C0H;选择通信方式3 SETB TR1;启动定时器1 MOV R0,#50H;首地址50HR0 MOV R7,#10H;数据长度

8、10HR7LOOP:MOV A,R0;取数据A,MOV C,PSW.0 MOV TB8,C;PTB8 MOV SUBF,A;数据SBUF启动发送 JBC TI,CONT;判断发送中断标志 SJMP WAITCONT:INC R0 DJNZ R7,LOOP(2)单片机(2)接收程序RRRR:MOV TMOD,#20H;定时器1方式2 MOV TL1,#0FDH MOV THl,#0FDH;置定时器初值,选定9600bps MOV SCON,0C0H;选择通信方式3,允许接收(REN=1)SETB TR1;启动定时器1 MOV R0,#40H;首地址40HR0 MOV R7,#10H;数据长度10

9、HR7LOOP:JBC RI,RECE SJMP LOOP;等待接收,RECE:MOV A,SUBF;数据SBUF启动发送 JB PSW.0,ONEE;判断接收数据奇偶性 JB RB8,ERRR;判断发送瑞奇偶性 SJMP RIGTONEE:JNB RB8,ERRRRIGT:MOV R0,A;接收正确 INC R0 DJNZ R7,LOOPERRR:;接收错误,图10-4 8250的引脚及功能框图,10.2 PC机与单片机的通信 异步通信芯片8250,以下为各部分的功能及引脚含义:(1)数据输入/输出缓冲器 八条三态双向数据线(D0D7)实现8250芯片与处理机之间的双向通信,包括数据,控制

10、字及状态信息的传输。(2)读/写控制逻辑 主要提供芯片与处理机之间的数据传输,并接受CPU的编程。包括如下引脚功能:芯片选择(CS0、CS1、)当CS0、CS1为高,为低时,8250芯片被选中。地址选通()当 为低时,则锁存片选信号(CS0、CS1、)和寄存器选择信号(A0、A1、A2),即 允许芯片和处理器进行数据传输。寄存器选择(A0、A1、A2)芯片内部可供处理机访问的十个寄存器可由这三个信号和线路控制寄存器最高位DLAB共 同来选择。数据输入选通(DISTR、)当DISTR为高电平,或 为低电平(只需其中一个有效),且芯片被选中,则允许处 理机从选定的寄存器中读出数据或状态信息。数据输

11、出选通(DOSTR、)当DOSTR为高或 为低时,且该片被选中,则允许处理机将数据或控制命令写到选定 的寄存器中。收发器禁止(DDIS)该端输出为高电平时,禁止处理器对8250写操作。,主复位(MR)当MR为高电平时,除接受缓冲器、发送保持寄存器、除数锁存器之外,其余寄存器和控 制逻辑均被复位。外部时钟输入/输出(XTAL1、XTAL2)由外部基准定时振荡器提供时钟。片选输出(CSOUT)当CSOUT为高电平时,8205已被CS0、CS1、信号选中,数据传送可以开始。中断(INTRPT)每当任一种中断类型变成有效,且中断允许时,该输出端为高电平。(3)调制解调器(MODEM)控制逻辑 实现82

12、50与MODEM之间通信传输的控制。该逻辑包括如下引脚功能:数据装置准备好()输入信号。为低时,表示MODEM已作好准备与8250进行数据传输。信号的状态可由调制解调 器状态寄存器的第5位(DSR)检测出来。清除发送(),输入信号 每当MODEM状态寄存器的CTS位改变状态时,如果允许MODEM状态中断,则产生一次中断。数据终端准备好(),输出信号 当 为低电平时,通知MODEM,8250准备好通信。请求发送(),输出信号 当 低电平时,通知MODEM,8250准备好发送数据。接收线路信号检测(),输入信号 若为低时,表示MODEM已经检测出数据载波。每当MODEM状态寄存器的PLSD位改变状

13、态时,如果允许MODEM状态中断,则产生一次中断。,振铃指示(RI)该端时MODEM控制功能的输入,若为低时,表示MODEM已收到一个电话响铃信号。若MODEM 状态中断被允许,每当MODEM状态寄存器的RI位由高变低时产生一次中断。输出1()用户指定的MODEM控制功能的输出。通过对MODEM控制寄存器第2位编程置1,引脚就 变成低电平。输出2()用户指定的MODEM控制功能的输出。通过对MODEM控制寄存器第3位编程置1,引脚 就变成低电平。(4)接收器逻辑 该逻辑包括接收器移位器和数据寄存器及相应的接收控制逻辑。其引脚功能如下:接收器时钟(RCLK)输入接收波特率的16倍时钟信号。串行输

14、入(SIN)来自通信链路(如外设、MODEM、数据设备)的串行数据输入。(5)发送器逻辑 该逻辑包括发送器保持寄存器和移位器及相应的发送控制逻辑。其引脚功能如下:波特输出(BAUDOUT)输出发送波特率的16倍时钟信号。串行输出(SOUT)送到通信链路(如外设、MODEM、数据设备)的串行数据输出。,8250的内部寄存器,(1)通信线控制寄存器(3FBH,只写),图10-5 通信线控制寄存器,(2)通信线状态寄存器(3FDH,只读),(3)据发送保持寄存器(3 F 8H,只写)该寄存器包含将要串行发送的数据,其中第0位是串行发送的第1位。(4)数据接收缓冲寄存器(3F8H,只读)该寄存器存放接

15、收到的数据,其中第0位是串行接收的第1位。(5)除数锁存器(3F8H/3F9 H,只写)除数锁存器为16位,由高8位和低8位锁存器组成,对时钟输入(1.8432MHZ)进行分频,产生16倍波特率的波特率发生器(即BAUDOUT)。除数可由下面公式算出:除数1.8432106(波特率16)除数锁存器的值必须在8250初始化时预置。为此必须先把通信线控制寄存器的最高位(DLAB)置1,然后通过I/O口3F8H和3F9H访问除数锁存器的低8位和高8位。,(6)中断允许寄存器(3F9H,只写),对8250初始化的工作一般分成三步:(1)设置波特率(假设为1200)MOV AL,10000000B;置D

16、LAB=1MOV DX,3FBH;写入通信线控制寄存器OUT DX,ALMOV AL,60H;置产生1200波特率除数低位MOV DX,3F8HOUT DX,AL;写入除数锁存器低位MOV AL,00H;置产生1200波特率除数高位MOV DX,3F9HOUT DX,AL;写入除数锁存器高位,(2)设置通信数据格式假设7个数据位,1个停止位,偶校验,编程如下:MOV AL,00011010B;设置数据格式MOV DX,3FBH;写入通信线控制寄存器OUT DX,AL,(3)设置操作方式 PC机异步通信适配器中的8250中断输出(INTRPT)外接成受引脚输出的三态门控制。只有当信号为低时,并有

17、INTRPT产生,中断信号才可通过此三态门。因此只要控制输出,即可控制是否允许中断信号通过。对MODEM控制寄存器写入所要求的控制字,置位3为1,便可使为低电平,三态门变成常通状态,可在中断方式下工作(中断是否产生,受中断允许寄存器控制)。编程示例如下:;不允许中断输出 MOV AL,03H;使 为高,、有效 MOV DX,3FCH OUT DX,AL;允许中断输出 MOV DX,3FCH MOV AL,0BH;使 为低,、有效 OUT DX,AL;自测试工作方式 MOV AL,13H;自测试下若允许中断则应为1BH MOV DX,3FCH OUT DX,AL,(4)设置中断允许寄存器假设禁止

18、中断,编程如下:MOV AL,00H;禁止所有中断的控制字MOV DX,3F9HOUT DX,AL;写入中断允许寄存器,10.2.2 PC机与8051双机通信技术,图10-10 PC机与单片机串行通信接口线路图,MC1488将TTL电平转换为RS-232C电平,供电电压为12V;MC1489则是把RS-232C标准电平转换为TTL电平,供电电压为5V,简单、经济的接口电路,省去了12V电源和1488、1489电平转换芯片,图10-11 PC机与8031通信接口电路,1.通信软件设计,列举一个实用的通信测试软件。其功能是:PC机键盘的输入,将发送给单片机,单片机接收到PC机发来的数据后,回送同一

19、数据给PC机,并在屏幕上显示出来。只要屏幕上所显示的字符与所键入的字符相同,即可表明PC机与单片机间通信正常。双方约定:波特率:2400波特。信息格式:8个数据位,一个停止位。传送方式:PC机采用查询方式收发数据,51机采用中断方式 接收信息。,PC机通信软件通信软件采用8086/8088汇编语言编写。程序清单如下:,Stack Segment para stackstack db 256dup(0)Stack endsCode Segment para public codeStart proc far assume cs:code,ss:stack PUSH DS MOV AX,0 PUS

20、H AX CLIINITOUT:MOV DX,3FBH;通信线控制寄存器第7位置1(DLAB=1),以便设置波特率MOV AL,80HMOV DX,3F8H;设置除数锁存器低位MOV AL,30HOUT DX,ALMOV DX,3F9H;设置除数锁存器高位,MOV AL,0 OUT DX,AL MOV DX,3FBH;设定数据格式,8数据位,1停 止位,无校验 MOV AL,03H OUT DX,AL MOV DX,3FCH;设置MODEM控制信号 MOV AL,03H OUT DX,AL MOV DX,3F9H;禁止所有8250中断(四种类型)MOV AL,0 OUT DX,ALFOREVE

21、R:MOV DX,3;发送保持寄存器不空则循环等待 IN AL,DX TEST AL,20H,JZ FOREVERWAIT:MOV AH,1;检查键盘缓冲区,无字符则循环等待 INT 16H JZ WAIT MOV AH,0;若有,取键盘字符 INT 16HSENDCHAR:MOV DX,3F8H;发送键入的字符 OUT DX,ALRECEIVE:MOV DX,3FDH;检查接收数据,未准备好继续检查 IN AL,DX TEST AL,01H JZ RECEIVE TEST AL,1AH;判接收数据是否出错,有错则转错误处理 JNZ ERROR MOV DX,3F8H;从接收寄存器中读取数据

22、IN AL,DX AND AL,7FH;去掉无效位,得到数据 PUSH AX M0V BX,0;显示接收到的字符,M0V AH,14 INT 10H POP AX CMP AL,0DH;得到的数据若不是回车符则返回 JNZ OREVER MOV AL,OAH;是回车行则回车换行 M0V BX,0 M0V AH,14 INT 1OH JMP FOREVERERROR:MOV DX,3F8H IN AL,DX MOV AL,?;功能调用,显示“?”号 MOV BX,O M0V AH,14 INT 10H JMP FOREVER Start ends Code ends end Start,2MCS

23、-51单片机通信软件 MCS-5l单片机通过中断方式接收PC机发送过来的字符,并回送给主机。程序约定:波特率设置;T1方式2工作,计数常数F3H,SMOD=1,波特率为2400波特。串行口初始化:方式1,允许接收。中断服务程序入口:0023H。程序流程框图:,程序清单:ORG 0000H LJMP INITOUT;转到初始化程序 ORG 0023H LJMP SERVE;串行口中断服务程序入口 ORG 0050HINITOUT:MOV TMOD,#20H;定时器T1初始化 MOV TH1,#0F3H MOV TL1,#0F3H MOV SCON,#50H;串行口初始化 MOV PCON,#80

24、H;SMOD=1 SETB TR1;启动定时器Tl SETB EA;开中断 SETB ES;允许串行口中断 LIMP Main;转主程序,本例略,SERVE:CLR EA;关中断 CLR RI;清接收中断标志 PUSHDPH;保护现场PUSHDPLPUSH ACCReceive:MOV A,SBUF;接收PC机发来的数据Sendback:MOV SBUF,A;将数据回送给PC机Wait:JNB TI,Wait;发送器不空则循环等待 CLR TIReturn:POPACC;恢复现场POPDPLPOPDPHSETB EA;开中断RETI;返回,10.2.3 PC机与805l多机通信技术,1.多机通

25、信原理,805l系列单片机的全双工串行IO接口支持四种串行通信工作方式。其中方式2和方式3是专为MCS-51单片机的多机通信而设置的。在方式2和方式3中,用户通过使用多机通信控制位SM2,可以方便地实现主机一从机的一对一通信。PC机的串行通信接口是以8250为核心部件组成的。虽然8250本身并不具备805l系列单片机的多机道通讯功能,但通过软件的办法,可使得8250满足单片机多机通信的要求。,2.通信接口设计,图10-15 通讯接口,接收端电平转换电路,发送驱动电平转换电路,3.通信软件设计()PC机通信软件PC机采用80868088汇编语言编制通信软件。程序约定:)波特率设置:9600波特。

26、)数据传输格式:1个起始位,8个数据位1个可编程位(奇偶位)、1个停止位。)校验方式:由于奇偶校验位被用作发送地址码或数据的特征位,故数据通信的校核采用累加和校验方法。)数据传送方式:PC机采用查询方式发送和接收数据。,程序清单如下:COMUNI:MOVDX,3FBH;设置波特率(8250初始化)MOVAL,80HOUTDX,ALMOVDX,3F8HMOVAL,0CHOUTDX,ALMOVDX,3F9HMOVAL,0OUTDX,ALMOVDX,3FBHMOVAL,2BH;设置8位数据位,1位停止位OUTDX,ALMOVDX,3FCH;奇偶位为“1”MOVAL,03HOUTDX,AL;状态寄存器

27、初始化MOVDX,3F9HMOVAL,0OUTDX,AL;禁止中断MOVAX,0MOVBX,00FFH;设置传送字节数MOVSI,SOURCE;设置发送数据指针MOVDI,DEST;设置接收数据指针MOVDX,3FDH,LEEP:MOVCX,2801H;延时常数LEEP1:INAL,DXTESTAL,20HJZLEEP1MOVDX,3F8HMOVAL,NUMBER;发送地址码OUTDX,ALLEEP2:LOOPLEEP2;延时 MOVDX,3FDHLEEP3:INAL,DXTESTAL,01HJZLEEP;没收到回答信号重发TESTAL,1EHINZERRORMOVDX,3F8HINAL,DX

28、;接收回答信号JNZERRORMOVDX,3FBHMOVAL,3BH;奇偶位为“0”OUTDX,ALSTART:MOVDX,3FDHMOVCX,2801H,SEND:INAL,DXTESTAL,20HJZSENDMOVDX,3F8HMOVAL,SI;发送数据OUTDX,ALADDAL,AH;累加和MOVAH,ALRECV:LOOPRECVMOVDX,3FDHINAL,DXTESTAL,01HJZSENDTESTAL,1EHJNZERRORMOVDX,3F8H;读入数据INAL,DXMOVDI,ALDECBXJZEND;没完,继续INCSIINCDIJMPSTART,ERROR:MOVDX,OF

29、FSET ERROR1MOVAH,9INT21HINT20HEND:MOVDX,3FDH;数据传送结束后发校验位MOVCX,2801HEND1:INAL,DXTESTAL,20HJZEND1MOVDX,3F8HMOVAL,AHOUTDX,ALMOVDX,3FDHEND2:LOOPEND2INAL,DXTESTAL,01HJZENDMOVDX,3F8HINAL,DX;接收回答信号ANDAL,ALJZEND3JMPERROREND3:INT28H,(2)单片机通信软件单片机的数据通信由串行口完成,定时器T1作为波特率发生器。程序规定:)波特率设置:9600波特。)数据传输格式:1位起始位,8位数据

30、位,1位可编程位(TBS),l位停止位。)工作方式设置:定时器T1设置为方式2,串行口设置为工作方式3。)数据传送方式:单片机通过中断方式发送和接收数据。,程序如下:COMUN2:MOVTMOD,#20H;设置波特率MOVTH1,#0FDHMOVTL1,#OFDHSETBTR1SETBEARPT:SETBESMOVSCON,#0F8HMOVPCON,#80HMOV23H,#OCH;设置接收数据指针MOV22H,#00HMOV21H,#08HMOV20H,#00H;设置发送数据指针MOVR5,#00H;累加和单元置零MOVR6,25HMOVR7,26H;取传送字节数INCR6NCR7,RPTT:

31、SJMPRPTT;等待中断RPTR:CLRESRPTR1:SJMPRPTR1;结束0023H:LJMPINTU;中断服务子程序入口INTU:JBCRI,RI1INTUR:JBCTI,INTUR1INTUR1:RET1TI1:MOVA,24H;取校验码XRLA,R5JZTI3TI2:POPACC;校验不正确回送“FF”POPACCMOVDPTR,#RPTPUSHDPLPUSHDPHMOVSBUF,#OFFHRETI,TI3:POPACC;校验正确回送“00”POPACCMOVDPTR,#RPTRPUSHDPLPUSHDPHMOVSBUF,#O0HRETTI4:MOVDPH,21H;发送数据MOV

32、DPL,20HMOVXA,DPTRINCDPTRMOV21H,DPHMOV20H,DPLMOVSBUF,ATI5:RETIRI1:JNB9DH,RI3;判SM2MOVA,SBUF;接收地址码CLRC,SUBBA,27H;与本机地址比较JNZRI2;与本机地址码不符则返回MOVSBUF,#00H;与本机地址码相符则回送“00”CLR9BHRI2:RETIRI3:DJNZ R6,RI4DJZZR7,RI4;未完,继续传送和接收数据MOV24H,SBUFAJMPTI1RI4:MOVA,SBUF;接收数据MOVDPH,23HMOVDPL,22HMOVXDPTR,AADDA,R5MOVR5,AINCDP

33、TRMOV23H,DPHMOV22H,DPLAJMPTI4,MajpjMVcyzj21HLfrvy96dv02lPPfYgxUS7IYmZkyEmZ0kGeYZS3bpLCkYH1lt4EK7CxmUX3ijoYSOer7ZuaVWYgz4EpZrUirVpMzzvNtf1XZw5oswSXOtFaejnOcmfE1lZgnN1RSXg8wLCG8CVQ3XPJMvodPFWcpiYJgZazNSEPNIaklYSu7qSd1UpaxmZDlpN9zW7kljfsLCLi26Yv109ffbnDH8LbUN1G6ACURQ39eG12KHL9tXsZ1jzgoCK8g1kuNOh5eFvcmV

34、T5ZYVQt9zk3rp3qLnf02FovEXxVRxjCcFRNppiJljNiOuk6fONnyX7fyGg7sXZ49BmCN5oy9VesHpKzdjTKwjrkCEQCFDehVmGax3lrOEbw63VscA3YSijtUKoCyiLzAlVRp7l4QgPNHxvJFFDyjUVN3oHlMah0XBd4uTbkfPIhHtw0evPmYOrdhEDoPwvYhzlGplU1AU9mpyiCXH8gpPCBRYjq77VcnbXumNE1yGfyTsbSj89J63kRTKDkKUg3mdS5sJ4X5cQ8dK7oW9IkScssECQdz2O9UTlpRjAFPChjh

35、LdzopQzwxQf8ozdzOhogwAooXpUF83BX4C3jRgjDJiiXEUDMaNz4vQ4n164vspddHvOIVuBBdMA4xp1YhiHk0vOJ8TL1BxogzVlMpmod6ianYGmksQq6NWCEd56hZF4wfaNyZcrGfNxnPiG6ZAxSkfmhJAKtNmCqbRmppeXp8inz4eq3HkWCMSORyMMX522xpHG6basNr6KQfbZsFbHjzyNlJrruLolKFcC84dqfijBO5Dy2NaBcNEBPgQrT12PgpcKx2or2YChN5DPjs80zzdtdAdTKuW4uVv9bbZu3K2SZ2aEhTlIC1UqrIWibkzwHh6p8gLv26zr01mJybfOzFc4T7kQH1IpPwOzMDnAKPLsLrznXGjFNIA9bSWWms6ibKZwQIKrMzalwbFrQJvOP1rPH8rx2KkyYqrtQk5VRwM1HSX,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号