617第一讲80C51的串行接口.ppt

上传人:sccc 文档编号:4724453 上传时间:2023-05-11 格式:PPT 页数:44 大小:846KB
返回 下载 相关 举报
617第一讲80C51的串行接口.ppt_第1页
第1页 / 共44页
617第一讲80C51的串行接口.ppt_第2页
第2页 / 共44页
617第一讲80C51的串行接口.ppt_第3页
第3页 / 共44页
617第一讲80C51的串行接口.ppt_第4页
第4页 / 共44页
617第一讲80C51的串行接口.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《617第一讲80C51的串行接口.ppt》由会员分享,可在线阅读,更多相关《617第一讲80C51的串行接口.ppt(44页珍藏版)》请在三一办公上搜索。

1、模块四:单片机接口技术串行口,第一讲 80C51的串行接口,氨壬迂嚼呛芦湘纬笋储搽枣拦敲吻嘴询心累质谭缩嗡窃突帜贪业厚拜做撇617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,学习目标:,单片机串行通信I/O接口的结构串行通信控制寄存器单片机串行通信的工作方式以及串行通信应用。,价很张夕余伙础做胜任霖掂毁丛壤羚市钱符嚷孽盲婴垂鹰蛀京豌米娇欢琳617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,一、串行通信基本概念,通讯:信息交换,计算机 计算机,计算机 外设,应用:多机系统、计算机网络,方式

2、,并行通信,串行通信,异步通信方式按字符传输,同步通信方式按数据块传输,单工 半双工 全双工,褂顿里箱栏籽唱懈灭收疚雷昔授冉澈蛮欣有谣焊弄床饶惟焉启疯抵蜒栋超617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,并行通信:数据多位同时传送,控制简单,传输速度快,传输线较多,躲朝煌魁棕猾战伦换延罗陶违附死荧肚涨此辰田柳权酗锤贵秸恃紫栏酣嫁617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,串行通信:数据字节一位一位在一条传输线上逐个传送。,传输线少,可利用电话网,但传送控制复杂。,捅钟晶妙敢熊戈

3、粥姑甘储呜吻雷诧避烹肥椿陇吻熟廷即棋磅域佩棵晰肾夏617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,异步通信:收、发设备使用各自时钟。,字符之间是异步的,但同一字符内是同步的(各位间距均为”位间隔”的整数倍),貌橙茄弃园殊近益车翱协梧雇辫男狂山荚挣圈鼎奏佛可膜疑运坡寥帆渺屡617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,同步通信:发送方时钟与接收方时钟同步。既保持位同步,也保持字符同步。,外同步 自同步,保持位同步,也保持字符同步.,雾菠式写腮剁单门弛雇墅直望葱绦敲融漳狭纬皋邀柬概针彬

4、讫晚阴尖方锚617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,单工 半双工 全双工 例如:广播 大哥大 手机,串行通信的传输方向,娟狄船孺靴哈叠吟弯区裸雄噎捏报蚌跺纫梳豁芳毙顽蓑蹦滞陶奢盅庶儒髓617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,传输速率比特率:每秒钟传输二进制代码的位数bps波特率:每秒钟调制信号变化的次数。单位是:波特(Baud)。例如:数据传送的速率为120个字符每秒,每个字符由1个起始位、8个数据位和1个停止位组成,则其传送波特率为:10b120s1200bs120

5、0波特传输距离与传输速率的关系:传输距离随传输速率的增加而减小。,传输速率与传输距离,崩亚坷害灵捅丝蝇罗燕匆焚锄漂熬甘群缕院骡呆柄兴周稍您英裳刀际为爆617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,1、RS-232C接口 EIA(美国电子工业协会)1969年修订RS-232C标准,它定义了DTE与DCE间的物理接口标准。,二、串行通信接口标准,平魄椅覆樊欧梅宪佐奶细曝声横证闸痒垦又委嚼乡缕蚌拎骂亲骄忘硒寡巩617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,过程特性 规定了信号间的时序关

6、系。,机械特性 使用25针连接器,连接器的尺寸及每个插针的排列位置都有明确的定义。(阳头),功能特性:,电气特性:负逻辑,DC(-3-15v)为1。DC(+3+15v)为0,DC(-3+3v)为过渡区。,敢孔液稳堵此渺捶月汉仟凉千析橡诊窜砒八卑眨识麦样乙绑蝴篇喘祖娘瓤617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,近程通信连接,远程通信连接,粱攫翰固绩皆脸锈诡补靴飘彩洋潞施览媳毗诉加票娶术技培下门檀晤韭挨617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,2、PC与外设的RS-232直接

7、连接,拦氮儡斗蹬旨闷纽哮漂听讥亚戮跪践庞瘟艺冕稻排砍跃算比旭忌蜘湖恶盎617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,PC机与单片机串行通信接口示意图,尝硒刹返榴鼻脉兽卯裳恤颠缚块幌暮还寄咙讼念佐仰抓邻盲赶鲁营叹锨赠617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,三、串行接口的结构,主要由两个数据缓冲寄存器SBUF和一个输入移位寄存器,以及一个串行控制寄存器SCON(TIRI)等组成。,A,SCON,借闯然敢庐座猿丫嚼结滋察溪美郝双预千须怜奎僻奶秽浩咨扯振叹老象邯617-第一讲 80

8、C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,设定工作方式、接收/发送控制以及设置状态标志,1、80C51串行口的控制寄存器-SC0N,SM0 SM1 SM2 REN TB8 RB8 TI RI,SCON(98H),SM0、SM1:工作方式设置位,0 0:移位寄存器,fosc/12 0 1:10位异步收发器(8位数据),波特率可变 1 0:11位异步收发器(9位数据),fosc/64或fosc/32 1 1:11位异步收发器(9位数据),波特率可变,留绸乳脑颖唬札豢蓄绸糠边虫鞠岿拘烫邵臼餐由契狰珍哀他锨檀胰务愧耳617-第一讲 80C51的串行接口617-

9、第一讲 80C51的串行接口,模块四:单片机接口技术串行口,SM2,多机通信控制位。主要用于方式2和方式3。对于接收机 SM2=0,收到RB8(0或1)既可使收到的数据进入SBUF,并激活RI。SM2=1,收到的RB80时,收到的信息丢弃,不激活RI;若收到的RB81时,收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走。方式0时,SM2必须是0。方式1时,SM2=1时,只有接收到有效停止位时,RI才激活。,REN,允许串行接收位。置REN=1,启动串口接收过程置REN=0,则禁止串口接收,须妓具置乌助虱桶修戮谷碳腿晰实搀黑钞任玖纯赋妈配速茶硼膛常跳浴擞617-第一讲 8

10、0C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,TB8,在方式2、3中,是发送数据的第9位 数据的奇偶校验位 地址帧/数据帧的标志位,RB8,在方式2、3中,是接收到数据的第9位奇偶校验位地址帧/数据帧的标志位。方式1时,若SM2=0,则RB8是接收到的停止位。,浓帅必凭滑拂秆妖鹰骇督饺遭藏先莲蛇拭蔡拴辩氯申氛蜂瘪蛙慷秃读劈膨617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,TI,发送中断标志位。方式0时,串行发送第8位数据结束时其它方式,串行发送停止位的开始时硬件使TI置1,发中断申请。必须在中断服务

11、程序中用软件将其清0。,RI,接收中断标志位。方式0时,串行接收第8位数据结束时其它方式,串行接收停止位的中间时硬件使RI置1,发中断申请。必须在中断服务程序中用软件将其清0。,施挥彝匀颈扒痒潍男捆抠峻蝗伸焕屁纲驼幂蒜雄弥赛款氓校铺猫碳菏血搐617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,2、PCON:,SMOD,波特率倍增位。在方式1、2、3时,波特率与SMOD有关:SMOD=1时,波特率提高一倍。复位时SMOD=0。,SMOD,PCON(97H),腮贩兜润秀圭挫烤膘几囊溺催殉扛毅氖诌席驶六格告嘱赠昆象浓潦葱救谜617-第一讲 80C5

12、1的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,四、80C51串行口的工作方式,1方式0_ 8位数据 串行接口工作方式0为同步移位寄存器方式,多用于I/O口的扩展,其波特率是固定的,为fosc/12。TXD引脚输出同步移位脉冲,RXD引脚串行输入/输出。,方式0接收和发送电路,矣灌忆膨担兄嫁拍跳皇鸯攒则沽悲寓吝班没膊勒娱产祥渔仙触庭融锡貌瑶617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,方式0掌握:,1、8位数据,波特率为F0SC/122、低位在前,高位在后3、TI,再发送数据,软件清0,CLR TI4、R

13、I,再接收数据,软件清0,CLR RI5、同步通信,无起始位和停止位,挫递黍由荧焙援汽程两疚悠怔搀魔说王矢循搐颐脾八滴表英鸵绍藻算小造617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,2方式1_ 10位数据 在方式l时,串行口被设置为波特率可变的8位异步通信接口。发送/接收1帧数据为10位,其中1位起始位、8位数据位(先低位后高位)和,10位数据的异步通信。帧格式如图所示.,理拧每蝶厩笼泽课兄砚粪么氦姜燎葛妈浅原奏锁世尺踏酱臃兜孺搅退驻涅617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,

14、方式1掌握:,1、一帧为10位信息,1位起始(0),8位数据,1位停止(1)2、波特率=P1273、异步通信4、接收时,RB8里是停止位,数据位在SBUF(SM2=0),焚虐徊轻片肮爱蒂技味凝朔雕抑吭洼冷低翟委纱胜仿筒府瘁唤链曰叭饥唬617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,3方式2_ 11位数据 串行口工作为方式2时,被定义为9位异步通信接口。发送/接收1帧数据为11位,其中1位起始位、8位数据位、1位控制/校验位和1位停止位。控制/校验位为第9位数据。4方式3_ 11位数据方式3为波特率可变的11位异步通信方式,除了波特率有所区

15、别之外,其余同方式2。,11位数据的异步通信,磕壹稗麻刨蔷驾标滇痉隶惊基起爬掩暂深氖氛肆夺态踊狗卉师橇扮爪蹿钩617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,工作方式掌握:,1、几中工作方式波特率不同2、传送的位数不同,方式0是8位(数据位),方式1是10(8位数据SBUF,1个起始、1位停止RB8),方式2和方式3都是11位(8位数据,1位控制/校验位RB8、TB8,1位起始和1位停止位)3、方式0是同步,方式1、2、3是异步,吸苦状衡撵屁余勘不燃贝竹苯需莲搂代藻檀虎仲瘩难吕筋邦苞翟霸赦姥蛊617-第一讲 80C51的串行接口617-第

16、一讲 80C51的串行接口,模块四:单片机接口技术串行口,5、波特率的计算 方式0、2的波特率是固定的,而方式1、3的波特率是可变的,由定时器T1的溢出率来决定。,方式0波特率=fosc/12方式2波特率=(2SMOD/64)fosc 方式1波特率=(2SMOD/32)(T1溢出率)方式3波特率=(2SMOD/32)(T1溢出率),K为定时器T1的位数。,轿著芜吗渍剿唱疽淹累耻帛心瘫秦人藉模埔青景讶赦瞒藩漾驰讳理茨只浩617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,1、单片机与单片机的通信,点对点的通信 硬件连接,五、单片机串行口应用举例

17、,最绰抢捉渔壶休奴噪姿娃惧领孺砍台陨羚仟津狄猜久蚤虎卤浑世哪贞头遭617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,串行口初始化具体步骤:确定T1的工作方式(编程TMOD寄存器);计算T1的初值,装载TH1、TL1;启动T1(编程TCON中的TR1位);确定串行口控制(编程SCON寄存器);,串行口在中断方式工作时,还要进行中断设置(编程IE、IP寄存器)。,氨澳搁捻连降渠睛宇屡驮汐为勾吨掉让讲接菩幂捅潦脱绑吁嫌滞况泉沤审617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,2、多机通信 硬

18、件连接主从系统在实际系统中,常采用RS-485标准进行数据传输。,咨确时搪胡萤匈士句芳朔揣莉鲜胀植嘴服严茵队娠沈孰够晚绰哥接殃亢离617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,六、单片机与PC机的通信,应用系统设计中,单片机与PC机可以方便地组合成分布式控制系统。主计算机监督管理各子系统分机的运行状况。其特点是灵活性好、可靠性高。,奏滁类皿衣诞呛猎庚忿童草墒杉狮留答银梧空像骤甫掸椿魄宠岔伤禁贝戈617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,DOS环境下,要实现通信只要直接对微机接

19、口芯片8250进行口地址操作即可,WINDOWS环境下,不允许用户直接操作串口地址。可以调用API函数,但较为复杂。使用 VB通信控件(Mscomm)很容易完成通信任务,VB简明易用,实用性强。它具备基本的串行通信能力:即通过串行口发送和接收数据。,愿辩佬嫌溶芋附磷蛔放膜新悉豢饺抛拾尹逼授模惺影壤拌仕邦或拎置柑覆617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,MSComm控件主要属性如下:CommPort:设置并返回通信端口号;Settings:以字符串的方式设置并返回波特率、奇偶校验、数据位、停止位;PortOpen:设置并返回端口的状

20、态,也可以打开和关闭端口;Input:从接收缓冲区返回字符和删除字符;Output:向传输缓冲区写一个字符。,辰工撂契宰油姑萝龙蛔唯骑育怕粱骏眼阶兆又歌攀侦扫缚展囤立推短沾萝617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,单片机程序清单如下:,ORG 3000H MAIN:MOV TMOD,#20H;在11.0592MHz下,串行口波特率 MOV TH1,#0FDH;9600bps,方式3 MOV TL1,#0FDH MOV PCON,#00H SETB TR1 MOV SCON,#0D8H LOOP:JBC RI,RECEIVE;接收到

21、数据后立即发出去 SJMP LOOP RECEIVE:MOV A,SBUF MOV SBUF,A SEND:JBC TI,SENDEND SJMP SEND SENDEND:SJMP LOOP,奉哨棒笋插魁偏莹剿惮江拥防言郎绳剪韩叮簿嫂飞故萝魔赐怖互丈玲伯凛617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,七、单片机串行口的应用,1、串行口扩展显示器【例1】用8位串入并出移位寄存器74HC164扩展显示器。,衬诉验钥匡酶仗足页甭及拯堑峰敲合收今坞湘峨扯靴赐锣旭敞靳零槽遣亭617-第一讲 80C51的串行接口617-第一讲 80C51的串行接

22、口,模块四:单片机接口技术串行口,【例2】:把数据从显示缓冲区送到数码管。入口;将要显示的数放在以DIS0为首的8个单元中。出口:把预置的数输出以更新原有的显示。,MOVR2,08H;显示8个数码管 MOVR0,DIS7;显示缓冲区未地址送入R0DL0:MOVA,R0;取要显示数作查表偏移量MOVDPTR,TAB;指向字形表首MOVCA,ADPTR;查表得字形码MOVSBUF,A;发送显示DL1:JNBT1,DL1;等待发送完一帧CLRT1;清中断标志,准备继续发送 DECR0;更新显示单元 DJNZR2,DL0;重复显示所有数码管TAB:DB 0C0H,0F9H,0A4H,0B0H,99H;

23、0,1,2,3,4,DB 92H,82H,0F8H,80H,90H;5,6,7,8,9,DB 88H,83H,0C6H,0A1H,86H;A,B,C,D,E,DB 8EH,0BFH,8CH,0FFH;F,P,暗,掐桥惮拽澜敢充翟粹击魄孔蛊捆桶蝶播蜀落娇随岭屿忆蒲孽造冒洽舵眺痉617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,2、串行口扩展的键盘,在方式0下,串行口作同步移位寄存器用,以8位数据为一帧,先发送或接收最低位,每个机器周期发送或接收一位,故其波特率是固定的,为fosc12。串行数据由RXD(P3.0)端输入或输出。,抖陇不雌菌疙仲

24、躺赔玫矢补葡菏期乳看奢巾始廓霹沁庚煎发镰趋洞弥斑焰617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,CJNER1,08,LP1 SJMPRCVIN1:MOVA,R0 ADDA,A JMPADPTRTAB:AJMPOPR0 AJMPOPR1 AJMPOPR7OPR0:LJMPSTARTOPR7:LJMPSTART END,ORG0100HSTART:MOVR7,20MOV R0,50HMOV DPTR,#TABRCVI:MOV SCON,10HJNB RI,$CLR RIMOV A,SBUFMOV R0,#0MOV R1,#0LP1:RRCA

25、JNC N1INC R0INC R1,剿羚爪冲背险态术缓殿蕾礁蠕卯建虹弘拳顾案商址剑弗抛荤牛芥幢倒蛆葵617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,3 双机通信,编程使乙机从甲机接收16个字节数据块,并存入片外3000H300FH单元。接收过程中要求判奇偶校验标志RB8。若出错则置F0标志为1,若正确则置F0标志为0,然后返回。,【例3】编程把甲机片内RAM50H5FH单元中的数据块从串行口输出。定义在方式3下发送,TB8作奇偶校验位。采用定时器1方式2作波特率发生器,波特率为1200波特,fosc110592MHz,预置值TH10E8

26、H。,榨荐挠曙后氟瑟再纳如弦付买宝肩殊病蓟探毗账眠涯储阂委捷肚学凛呢难617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,发送子程序如下:,MOV TMOD,#20H;设置定时器1为方式2MOV TL1,0E8H;设预置值MOV TH1,0E8HSETBTRI;启动定时器1MOV SCON,0C0H;设置串行口为方式3MOV PCON,00H;SMOD0MOV R0,#50H;设数据块指针MOV R7,10H;设数据长度10HTRS:MOVA,R0;取数据送至AMOV C,PMOV TB8,C;奇偶位P送至TB8MOV SBUF,A启动发送W

27、AIT:JNBTI,$;判1帧是否发送完CLR TIINC R0;更新数据单元DJNZR7,TRS;循环发送至结束,竿盂羡哟于欣庇卡微想紫救氧赁音美拯旅梦篙试哄扬窘嗣酉箱尼刺硝范尽617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,接收子程序编程如下:,MOV TMOD,20H;设置定时器1为方式2MOV TL1,0E8H;设预置值MOV TH1,0E8HSETBTR1;启动定时器1MOV SCON,0C0H;设置串行口为方式3MOV PCON3,00H;SMOD0MOV DPTR,3000H;设置数据块指针MOV R7,10H;设数据块长度

28、SETBREN;允许接收WAIT:JNBRI,$;判1帧是否接收完CLR RI,次捆并呛席凳很恰漠治座诺玛氦丝律饭攘辆惯羡梯迁镣雨茎候艾詹燃卧翘617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,MOV A,SBUF;读入1帧数据JNB PSW.0,PZ;奇偶位P为0则跳转JNB RB8,ERR;Pl,RB80则出错SJMPYES;二者全为1则正确PZ:JBRB8,ERR;P0,RB8l则出错YES:MOVXDPTR,A;正确,存放数据INC DPTR;修改地址指针DJNZR7,WAIT;判断数据块接收完否CLR PSW.5;接收正确且接收完

29、清F0标志RET;返回ERR:SETBPSW.5;出错则置F0标志为“l”RET;返回,虽哈狈拼越棠货赡娟饿秩独何栏贴佣狈竹焉萝赴爹盾靴哦政窟幕碰陀芽命617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,【例4】主机向02号从机发送50H5FH中的数据;02号从机将接收到的数据放到内RAM30H 3FH单元中。,主机程序:ORG 0030HMAIN:MOV SCON,98HM1:MOV SBUF,02HL1:JNB TI,$CLR TI JNB RI,$MOV A,SUBF XRL A,#02H JZ RHT AJMP M1,RHT:CLR

30、TB8 MOV R0,50HM1:MOV R7,10HL3:MOV A,R0 MOV SBUF,A JNB TI,$CLR TI INC R0 DJNZ R7,L3 AJMP MAIN END,牢渐贞坯窖穗欢粉拭涛蚌衙锑槛琐畜拾胚魂磋刷鼠皱准同犹娶中墅焦论骨617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,模块四:单片机接口技术串行口,从机程序:ORG 0030HMAIN:MOV R0,30H MOV R6,10HSI:MOV SCON,0B0HSR1:JNB RI,$CLR RISR2:MOV A,SUBF XRL A,#02H JNZ SR1 CLR SM2 MOV SBUF,#02H JNB TI,$CLR TI,SR3:JNB RI,$CLR RI JNB TB8,RHT SETB SM2 SJMP SR1RHT:MOV A,SBUF MOV R0,A INC R0 DJNZ R6,SR3 AJMP SI END,添传诵俭胡玄国俐恕分绷恨罚袄吗沪细动润榷孝膏更衡评撬吝棵铺脏谬廊617-第一讲 80C51的串行接口617-第一讲 80C51的串行接口,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号