可调LED亮度驱动电路设计概要.docx

上传人:b****2 文档编号:1718302 上传时间:2023-05-01 格式:DOCX 页数:39 大小:263.60KB
下载 相关 举报
可调LED亮度驱动电路设计概要.docx_第1页
第1页 / 共39页
可调LED亮度驱动电路设计概要.docx_第2页
第2页 / 共39页
可调LED亮度驱动电路设计概要.docx_第3页
第3页 / 共39页
可调LED亮度驱动电路设计概要.docx_第4页
第4页 / 共39页
可调LED亮度驱动电路设计概要.docx_第5页
第5页 / 共39页
可调LED亮度驱动电路设计概要.docx_第6页
第6页 / 共39页
可调LED亮度驱动电路设计概要.docx_第7页
第7页 / 共39页
可调LED亮度驱动电路设计概要.docx_第8页
第8页 / 共39页
可调LED亮度驱动电路设计概要.docx_第9页
第9页 / 共39页
可调LED亮度驱动电路设计概要.docx_第10页
第10页 / 共39页
可调LED亮度驱动电路设计概要.docx_第11页
第11页 / 共39页
可调LED亮度驱动电路设计概要.docx_第12页
第12页 / 共39页
可调LED亮度驱动电路设计概要.docx_第13页
第13页 / 共39页
可调LED亮度驱动电路设计概要.docx_第14页
第14页 / 共39页
可调LED亮度驱动电路设计概要.docx_第15页
第15页 / 共39页
可调LED亮度驱动电路设计概要.docx_第16页
第16页 / 共39页
可调LED亮度驱动电路设计概要.docx_第17页
第17页 / 共39页
可调LED亮度驱动电路设计概要.docx_第18页
第18页 / 共39页
可调LED亮度驱动电路设计概要.docx_第19页
第19页 / 共39页
可调LED亮度驱动电路设计概要.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

可调LED亮度驱动电路设计概要.docx

《可调LED亮度驱动电路设计概要.docx》由会员分享,可在线阅读,更多相关《可调LED亮度驱动电路设计概要.docx(39页珍藏版)》请在冰点文库上搜索。

可调LED亮度驱动电路设计概要.docx

可调LED亮度驱动电路设计概要

亮度可调的LED驱动电路

摘要

LED亮度可调通过有两种可行方案:

第一种通过单片机的占空比电压来输出不同的电压,从而实现设计要求;第二种通过单片机控制数模转换器来输出不同的电流,然后经过放大器来进行发大,从而实现输出不同的电压,来驱动LED。

对于第一种方案,优点是设计简单,且使用的电子器件类较少,造价成本低,但是其集成度低,看起来较复杂,不适于现代人的思想要求。

对于第二种方案,优点是集成度高,且设计图看起来明了,因为其集成度高,且使用了数模转换器,因此和第一种设计方案相比略高。

所以本设计采用了第二种方案。

本设计的结果是设计制作一种可手动和自动循环的led调光电路;自动调光时可使等在熄灭、微亮、较量及最亮四种状态中不断循环;实现灯光的循环调节功能(循环时间分别为为2s、4s、6s、8s、10s、12s);

关键词:

LED,数模转换器,放大器,调光

 

DrivingcircuitwithadjustablebrightnessLED

ABSTRACT

LEDbrightnesscanbeadjustedthroughhastwooptions:

thefirstdutyratioofvoltagetooutputdifferentvoltagethroughtheMCU,inordertoachievethedesignrequirements;secondthroughthecontrolofthemicrocontrollerDACtodifferentoutputcurrent,andthenthroughtheamplifierisbigger,soastorealizetheoutputofdifferentvoltage,todriveLED.

Inthefirstscheme,hastheadvantagesofsimpledesign,electronicdevicesandtheuseofsmall,lowcost,butitslowintegration,lookmorecomplex,notsuitablefortherequirementsofmodernthought.Inthesecondmethod,hastheadvantagesofhighintegration,anddesignlooksclear,becauseofitshighdegreeofintegration,andtheuseofadigital-to-analogconverter,andcomparedtothefirstdesignslightlyhigher.Sothesecondschemesareadoptedinthisdesign.

TheresultofdesignistodesignakindofmanualandautomaticcycleLEDdimmingcircuit;automaticdimmingcanmakeintheextinction,shimmering,contestandthebrightestfourstatesrequirecontinuouscycle;circulationvelocityoflightcanbeadjusted(cycletimeare2S,4S,6S,8s,10s,12S);

KEYWORDS:

LED,DigitalAnalogConverter,Amplifier,Diming

1绪论

1.1选题背景

上个世纪60年代,科技工作者利用半导体PN结发光的原理,研制成了LED发光二极管。

当时研制的LED,所用的材料是GaASP,其发光颜色为红色[1]。

经过近30年的发展,现在大家十分熟悉的LED,已能发出红、橙、黄、绿、蓝等多种色光。

最初LED仅用作仪器仪表的指示光源,后来各种光色的LED在交通信号灯和大面积显示屏中得到了广泛应用,产生了很好的经济效益和社会效益。

通常LED能直接发出红、黄、蓝、绿、青、橙、紫、白色的光,但对于一般照明而言,人们更需要白色的光源。

经过多年研究,人们在1998年发白光的LED开发成功。

这种LED是将GAN芯片和YAG(钇铝石榴石)封装在一起做成的。

芯片GAN发蓝光,高温烧结制成的YAG荧光粉受此蓝光激发后发出黄色光射,峰值达550nm。

蓝光LED基片安装在碗形反射腔中,覆盖以混有YAG的树脂薄层,约200-500nm。

LED基片发出的蓝光部分被荧光粉吸收,另一部分蓝光与荧光粉发出的黄光混合,最终可以得到得白光。

现在,对于白色LED,通过改变YAG荧光粉的化学组成和调节荧光粉层的厚度。

这种通过蓝光LED得到白光的方法,构造简单、成本低廉、技术成熟度高,因此运用最多。

目前白色LED发光效率已经突破120LM/W,是白炽灯15LM/W的8倍,是荧光灯50LM/W的2倍多。

LED的光谱中没有紫外线和红外线成分,所以不会发热,不产生有害辐射[2]。

而且LED的光通量半衰期大于5万小时,可以正常使用20年,器件寿命一般都在10万小时以上,是荧光灯寿命的10倍,是白炽灯的100倍,所以基本不会损坏,这种灯具具有非常好的节能长寿命特性,随着白色LED价格的不断降低,LED节能灯不但在节日彩灯装饰中广泛应用,而且逐步延伸到路面照明、民用照明等低照度要求的领域,全面进入实用化,并且在环保方面废弃物可以回收,没有荧光灯的贡污染问题,是国家重点发展的产业项目。

发展空间无限,市场价值巨大。

与小和氖灯相比,发光二极管的特点是:

工作电压很低(有的仅一点几伏);工作电流很小(有的仅零点几毫安即可发光);抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。

由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器。

把它的管心做成条状,用7条条状的发光管组成7段式半导体数码管,每个数码管可显示0~9十个数字。

1.2选题背景概括

LED灯相对于其他光源有寿命长、发光效率提高空间大的优势,并且LED灯由于采用物理P-N结的冷发光原理,使得LED节能灯灯转化效率高,发光效率从2002年的25流明/瓦提高到2007年75流明/瓦,而发光成本将从2002的200美元/千流明降低到2007年的20美元/千流明、最重要的是LED节能灯不存在汞灯污染源,被誉为绿色环保的照明能源,符合当今世界主题。

目前LED节能灯最高发光率为200流明/瓦,其寿命理论值达到10万小时,远远高于其他光源产品。

是未来世界必用主流产品[3]。

目前世界各国都在政府的大力资助下加快推进LED节能灯取代传统照明灯的步伐、日本、美国、欧盟、韩国、中国台湾和中国政府都制定了相应的发展计划。

中国为节约能源、实现经济和社会的可持续发展,于2007年6月3日制定《节能减排综合性工作方案》半导体照明产业顺应了节能减排的宏观政策。

从2005年开始科技部批准了大连、厦门、上海、南昌、深圳等五个半导体照明产业基地,之后在2007年和2008年相继批准石家庄、扬州等两个半导体照明产业基地,在政策、税收和资金上给予长期支持。

LED节能灯在2007年开始渗透进入白炽灯照明市场、预计在2012年进入荧光灯照明市场,从而大量取代白炽灯和荧光灯。

但目前LED路灯市场中,应用LED灯的比例很少,存在很大的替代空间,目前路灯在全球未来景观照明和通用照明的LED市场增长速度最快,预计景观照明LED市场份额将从03年的2%增加到08年的8%。

04年通用照明LED的销售额是9400万美元,到2010年将增长到8.75亿美元,年增长率将达52.3%,届时LED节能灯将在全球120亿美元至140亿美元的照明市场占据重要的位置。

1.3选题的目的及意义

在做毕设之前,通过查询各种材料,对毕设题目有了初步的认识。

我所要做的是LED调光,大体来说LED的发光强度是由LED的驱动电流决定的。

驱动电流的大小和波动都与LED的发光强度有关系。

LED灯作为被控对象灯的亮度和控制系统亮度与正向流过它的电流成正比,这样就可以来通过调节它的正向电流来调节亮度。

调节工作电流的方式调节的范围大、线性度好、但是功耗很大,经常调节电流会使LED大寿命大幅缩减。

由于工作电流调节LED的方法并不常用,所以要通过调节PMW来调节LED的点亮时间,显然亮的时间越长看上去亮度就越大,这样调节开关的频率超出人一般能察觉的范围,就给人一种总亮的假象[4]。

通过单片机编程来调节PWM的占空比,在给入驱动芯片来调节LED的亮度。

整体是通过单片机AT89C51来控制数模转换器DAC0832的输出电流,DAC0832的输出电流再通过放大器进行放大,从而产生不同的电压来驱动LED灯。

图1-1电路流程图

2元器件介绍

2.1LED灯的介绍

LED(LightEmittingDiode),发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。

LED的心脏是一个半导体的晶片,

晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。

半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。

但这两种半导体连接起来的时候,它们之间就形成一个P-N结。

当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED灯发光的原理。

而光的波长也就是光的颜色,是由形成P-N结的材料决定的[5]。

最初LED用作仪器仪表的指示光源,后来各种光色的LED在交通信号灯和大面积显示屏中得到了广泛应用,产生了很好的经济效益和社会效益。

以12英寸的红色交通信号灯为例,在美国本来是采用长寿命,低光效的140瓦白炽灯作为光源,它产生2000流明的白光。

经红色滤光片后,光损失90%,只剩下200流明的红光。

而在新设计的灯中,Lumileds公司采用了18个红色LED光源,包括电路损失在内,共耗电14瓦,即可产生同样的光效。

汽车信号灯也是LED光源应用的重要领域[6]。

对于一般照明而言,人们更需要白色的光源。

1998年发白光的LED开发成功。

这种LED是将GaN芯片和钇铝石榴石(YAG)封装在一起做成。

GaN芯片发蓝光(λp=465nm,Wd=30nm),高温烧结制成的含Ce3+的YAG荧光粉受此蓝光激发后发出黄色光射,峰值550nm。

蓝光LED基片安装在碗形反射腔中,覆盖以混有YAG的树脂薄层,约200-500nm。

LED基片发出的蓝光部分被荧光粉吸收,另一部分蓝光与荧光粉发出的黄光混合[7],可以得到得白光。

对于InGaN/YAG白色LED,通过改变YAG荧光粉的化学组成和调节荧光粉层的厚度,可以获得色温3500-10000K的各色白光。

这种通过蓝光LED得到白光的方法,构造简单、成本低廉、技术成熟度高,因此运用最多[8]。

2.1.1LED灯的发展史历史

上个世纪60年代,科技工作者利用半导体PN结发光的原理,研制成了LED发光二极管。

当时研制的LED,所用的材料是GaASP,其发光颜色为红色。

经过近30年的发展,大家十分熟悉的LED,已能发出红、橙、黄、绿、蓝等多种色光[9]。

然而照明需用的白色光LED仅在2000年以后才发展起来,这里向读者介绍有关照明用白光LED[10]。

最早应用半导体P-N结发光原理制成的LED光源问世于20世纪60年代初。

当时所用的材料是GaAsP,发红光(λp=650nm),在驱动电流为20毫安时,光通量只有千分之几个流明,相应的发光效率约0.1流明/瓦。

70年代中期。

2.2单片机的介绍

AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本[11]。

2.2.1单片机引脚

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

外形及引脚排列如图2-1所示。

图2-1单片机外形及引脚图

VCC:

供电电压

GND:

接地

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P0口的管脚第一次写1时,被定义为高祖输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为低八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数存储器进行读写时,P2口输出其特殊功能存储器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(计时器0外部输入)

P3.5T1(计时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位编程节。

在FLASH期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:

外部程序寻仙呼气的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

2.2.2振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10MS来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和终端系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

单片机的结构和特殊寄存器,这是你编写软件的关键。

至于串口通信需要用到那些特殊功能存储器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢?

数据缓冲存储器这是一个可以直接寻址的串行口专用寄存器。

有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器?

而不是收发各用一个寄存器。

”实际上包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。

CPU在读时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。

发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。

操寄存器的方法则很简单,只要把这个99H地址用关键字定义为一个变量就可以对其进行读写操作了,如SFRSBUF=0X99;当然你也可以用其它的名称。

通常在标准的REG51.H或AT89X51.H等头文件中已对其做了定义,只要用#INCLUDE引用就可以了。

SCON串行口控制器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。

SCON就是51芯片的串行口控制寄存器。

它的寻址地址是98H,是一个可以伪寻址的寄存器,作用就是监视和控制51芯片串行口的工作状态。

51芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器。

它的各个位的具体定义如下:

SM0SM1SM2RENTB8RB8TIRI

SM0、SM1为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。

1.2.3串行口工作模式设置。

SM0SM1模式功能波特率

000同步移位寄存器FOSC/12

0118位UART可变

1029位UARTFOSC/32或FOSC/64

1139位UART可变

在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。

表中的FOSC代表振荡器的频率,也就是晶振的频率。

UART为(UNIVERSALASYNCHRONOUSRECEIVER)的英文缩写。

SM2在模式2、模式3中为多处立机通信使能位。

在模式0中要求该位为0。

REM为允许接收位,REM置1时串口允许接收,置0时禁止接收。

REM是由软件置位或清零。

如果在一个电路中接收和发送引脚P3.0,P3.1都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0来禁止接收,在子程序结束处加入REM=1再次打开串口接收。

大家也可以用上面的实际源码加入REM=0来进行实验。

TB8发送数据位8,在模式2和3是要发送的第9位。

该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。

RB8接收数据位8,在模式2和3是已接收数据的第9位。

该位可能是奇偶位,地址/数据标识位。

在模式0中,RB8为保留位没有被使用。

在模式1中,当SM2=0,RB8是已接收数据的停止位。

TI发送中断标识位。

在模式0,发送完第8位数据时,由硬件置位。

其它模式中则是在发送停止位之初,由硬件置位。

TI置位后,申请中断,CPU响应中断后,发送下一帧数据。

在任何模式下,TI都必须由软件来清除,也就是说在数据写入到后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI不会由硬件清除,所以这时必须用软件对其清零。

RI接收中断标识位。

在模式0,接收第8位结束时,由硬件置位。

其它模式中则是在接收停止位的半中间,由硬件置位。

RI=1,申请中断,要求CPU取走数据。

但在模式1中,SM2=1时,当未收到有效的停止位,则不会对RI置位。

同样RI也必须要靠软件清除。

常用的串口模式1是传输10个位的,1位起始位为0,8位数据位,低位在先,1位停止位为1。

它的波特率是可变的,其速率是取决于定时器1或定时器2的定时值(溢出速率)。

AT89C51和AT89C2051等51系列芯片只有两个定时器,定时器0和定时器1,而定时器2是89C52系列芯片才有的。

波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。

波特率是指穿行每秒内可以传输的波特位数。

有一些初学的朋友认为波特率是指每秒传输的字节数,如标准9600会被误认为每秒种可以传送9600个字节,而实际上它是指每秒可以传送9600个二进位,而一个字节要8个二进位,如用串口模式1来传输那么加上起始位和停止位,每个数据字节就要占用10个二进位,9600波特率用模式1传输时,每秒传输的字节数是9600÷10=960字节。

51芯片的串口工作模式0波特率是固定的,为FOSC/12,以一个12M的晶振来计算,那么它的波特率可以达到1M。

模式2的波特率是固定在FOSC/64或FOSC/32,具体用那一种就取决于PCON寄存器中的SMOD位,如SMOD为0,波特率为FOCS/64,SMOD为1,波特率为FOCS/32。

模式1和模式3的波特率是可变的,取决于定时器1或2(52芯片)的溢出速率。

那么我们怎么去计算这两个模

式的波特率设置时相关的寄存器的值呢?

可以用以下的公式去计算。

波特率=(2SMOD÷32)×定时器1溢出速率

上式中如设置了PCON寄存器中的SMOD位为1时就可以把波特率提升2倍。

通常会使用定时器1工作在定时器工作模式2下,这时定时值中的TL1做为计数,TH1做为自动重装值,这个定时模式下,定时器溢出后,TH1的值会自动装载到TL1,再次开始计数,这样可以不用软件去干预,使得定时更准确。

在这个定时模式2下定时器1溢出速率的计算公式如下:

溢出速率=(计数速率)/(256-TH1)

上式中的“计数速率”与所使用的晶体振荡器频率有关,在51芯片中定时器启动后会在每一个机器周期使定时寄存器TH的值增加一,一个机器周期等于十二个振荡周期,所以可以得知51芯片的计数速率为晶体振荡器频率的1/12,一个12M的晶振用在51芯片上,那么51的计数速

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2