认识实习模版.docx
《认识实习模版.docx》由会员分享,可在线阅读,更多相关《认识实习模版.docx(19页珍藏版)》请在冰点文库上搜索。
认识实习模版
东北大学实习报告
学习使用Protel2004绘制PCB板
班级:
测控08-1班
姓名:
杨庆胜
学号:
20082298
组员:
薛凯
指导教师:
李新光,张平
2011年1月19日
目录
第1章实习目的、任务和内容1
1.1实习目的1
1.2实习任务1
1.3实习内容1
第2章多功能智能测量仪原理简介2
2.1多功能智能测量仪示意图2
2.2工作流程简介2
2.3主要器件简介4
2.4源程序4
第3章Protel绘图软件及其使用8
3.1设计原理8
3.2基本步骤8
3.2.1PCB设计基本操作8
3.2.2PCB布线设计9
实习心得体会11
第1章实习目的、任务和内容
1.1实习目的
根据多功能智能测量仪原理图绘制PCB板图,或使用C8051F040单片机设计原理图并绘制PCB板图;
1.2实习任务
1.3实习内容
(1)了解多功能智能测量仪的原理、结构及单片机C8051F040的主要功能
(2)根据多功能智能测量仪原理图绘制PCB板图,或使用C8051F040单片机设计原理图并绘制PCB板图(每两人一组);
(3)每人都写出各自的认识实习报告。
第2章多功能智能测量仪原理简介
2.1多功能智能测量仪示意图
2.2工作流程简介
多功能智能测量仪表可以实现很多功能,例如,单片机系统的显示及键盘调试、单片机系统温度测量、单片机系统位移测量、单片机系统转速测量、单片机系统RS232通信、单片机系统CAN通信、DS18B20组网等等。
本次实习所实现的为测温功能,工作流程图如下
具体流程图解释如下:
首先,由DS18B20采集温度数据,在其内部进行数据锁存缓冲后传入主芯片C8051F040中进行分析处理,由于C8051F040具有模数转换功能,将采集来的数据进行分析处理后,转换成数字量,然后经过光耦隔离装置6N137,进行输入输出隔离,然后经过PCA82C250装置,协议控制器输出一个串行的发送数据流到收发器的TxD引脚,内部的上拉功能将TxD输入设置成逻辑高电平。
也就是说总线输出驱动器默认是被动的,在隐性状态中CANH和CANL输出通过典型内部阻抗是17k的接收器输入网络偏置到2.5V的额定电压。
另外如果TxD是逻辑低电平,则总线的输出级将被激活在总线电缆上并产生一个显性的信号电平。
输出驱动器由一个源输出级和一个下拉输出级组成CANH连接到源输出级CANL连接到下拉输出级在显性状态中CANH的额定电压是3.5V,CAN_L是1.5V。
输出数据传送至MAX7219,MAX7219和MCU连接有三条引线(DIN、CLK、LOAD),采用16位数据串行移位接收方式。
即单片机将16位二进制数逐位发送到DIN端,在CLK上升沿到来前准备就绪,CLK的每个上升沿将一位数据移入MAX7219内移位寄存器,当16位数据移入完,在LOAD引脚信号上升沿将16位数据装入MAX7219内的相应位置,在MAX7219内部硬件动态扫描显示控制电路作用下将数据最后传送至LED数码显示管中实现动态显示。
2.3主要器件简介
PCA82C250测温装置简介:
PCA82C250/251收发器的典型协议控制器是通过串行数据输出线TX和串行数据输入线RX连接到收发器收发器。
通过有差动发送和接收功能的两个总线终端CANH和CANL连接到总线电缆。
输入Rs用于模式控制参考电压,输出VREF的输出电压是额定VCC的0.5倍,其中收发器的额定电源电压是5V.
图1.1PCA82C250
表1.1 PCA82C250详细引脚功能描述
6N137光耦隔离装置:
6N137光耦合器是一款用于单通道的高速光耦合器,其内部有一个850nm波长AlGaAsLED和一个集成检测器组成,其检测器由一个光敏二极管、高增益线性运放及一个肖特基钳位的集电极开路的三极管组成。
具有温度、电流和电压补偿功能,高的输入输出隔离,LSTTL/TTL兼容,高速(典型为10MBd),5mA的极小输入电流。
6N137光耦合器的内部结构、管脚如图5.1所示:
图5.16N137内部结构及引脚
1:
无内部连接;5:
接地;
2:
正极;6:
输出;
3:
负极;7:
使能端;
4:
无内部连接;8:
电源。
C8051F040微控制器:
C8051F040内部原理图
引脚和封装定义:
DS18B20温度传感器:
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
TO-92封装的DS18B20的引脚排列见图1.1,其引脚功能描述见表1.1。
图1.1底视图
表1.1 DS18B20详细引脚功能描述
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
MAX7219驱动器:
MAX7219和MCU连接有三条引线(DIN、CLK、LOAD),采用16位数据串行移位接收方式。
即单片机将16位二进制数逐位发送到DIN端,在CLK上升沿到来前准备就绪,CLK的每个上升沿将一位数据移入MAX7219内移位寄存器,当16位数据移入完,在LOAD引脚信号上升沿将16位数据装入MAX7219内的相应位置,在MAX7219内部硬件动态扫描显示控制电路作用下实现动态显示。
2.4源程序
2.4.1DS18B20测温程序
//返回0,有设备连接;返回1,无设备连接
bitRstDS18B20(void)
{
uchari;
bitRstFlag=1;
DQ=0;
for(i=0;i<40;i++)/*延时480us*/
Delay15us();
}
DQ=1;
for(i=0;i<4;i++)/*延时15~60us*/
for(i=0;i<16;i++)/*延时60~240us*/
if(DQ==0)RstFlag=0;
for(i=0;i<16;i++)/*240us*/
returnRstFlag;
voidWriteDS18B20(ucharval)
Delay1us
(1);
for(i=0;i<8;i++)
DQ=val&0x01;
Delay15us();Delay15us();Delay15us();
val=val/2;
ucharReadDS18B20(void)
uchari,value=0;
Delay1us(4);
Delay10us();
value>>=1;
if(DQ==1)
value|=0x80;
return(value);
//主机发送跳过读序列号的操作命令:
0xCC
voidSkipROMCode(void)
RstDS18B20();
WriteDS18B20(0xCC);
voidStartADC(void)
RstDS18B20();/*复位*/
WriteDS18B20(0xCC);/*skipROM*/
WriteDS18B20(0x44);/*启动温度转换12位700ms*/
//读取温度值的程序
floatGetTempValue(void)
uchari,j;
floatT;
SkipROMCode();
WriteDS18B20(0xBE);/*发布读取温度值的命令(0xBE)*/
i=ReadDS18B20();
j=ReadDS18B20();
StartADC();
T=i+j*256;
if(T==0xFFFF)return0xFFFF;
if(T>0x8000)/*温度为负号*/
return((T-65536)/16.0);/*计算温度值*/
else/*温度为正*/
return(T/16);/*计算温度值*/
voidInitDS18B20(void)
WriteDS18B20(0x44);
voidsleep_ms(uintcount)
ucharii,jj;
for(ii=0;ii{for(jj=0;jj<250;jj++)_nop_();}}2.4.2显示程序//传送1字节(8位)voidSendChar(ucharch){uchari,temp;dis_CLK=0;for(i=0;i<8;i++){temp=ch&0x80;ch=ch<<1;if(temp){dis_DIN=1;delayns();dis_CLK=1;delayns();dis_CLK=0;}else{dis_DIN=0;delayns();dis_CLK=1;delayns();dis_CLK=0;}}}//向MAX7219写入字(16位)voidWriteWord(ucharaddr,ucharnum){dis_LOAD=0;delayns();SendChar(addr);delayns();SendChar(num);delayns();dis_LOAD=1;delayns();}//数值显示voiddis_result(){WriteWord(0x01,dispbuff[3]);WriteWord(0x02,dispbuff[2]);WriteWord(0x03,dispbuff[1]);WriteWord(0x04,dispbuff[0]);}//利用递归法实现指数运算ulongpower(ulongnumber,uintindex)reentrant{ulongresult;if(index==0)result=1;elseresult=number*power(number,index-1);return(result);}//数值计算voiddisp(floatf){inti,j;if(f<0.0){bit_sym=1;f=-f;}part_int=(long)f;part_dec=f-part_int;part_dec_int=(long)(part_dec*1000);/*小数部分取整*/bit_dec=3;/*小数部分的最多位数*/bit_int=1;/*整数部分的最少位数*/bit_all=1;/*总显示的最少位数*///计算小数位数for(i=1;i<=3;i++){if(part_dec_int%(power(10,i))==0)bit_dec=bit_dec-1;}//计算整数位数for(i=0;i<=3;i++){if(part_int>=power(10,i))bit_int=i+1;}//总的显示位数最多为4if(bit_dec+bit_int+bit_sym>4)bit_dec=4-bit_int-bit_sym;//总的显示位数bit_all=bit_sym+bit_int+bit_dec;//显示小数位if(bit_dec>0){for(i=bit_dec-1,j=3;i>=0,j>=1;i--,j--){dispbuff[i]=num[(part_dec_int%(power(10,j)))/(power(10,j-1))];/*该语句实现对各位的求取*/}}//显示整数位for(i=bit_all-bit_sym-1,j=bit_int;i>=bit_dec,j>=1;i--,j--){dispbuff[i]=num[(part_int%(power(10,j)))/(power(10,j-1))];}//显示符号位if(bit_sym==1)dispbuff[bit_all-1]=num[12];//小数点位置if(bit_dec>0)dispbuff[bit_dec]=dispbuff[bit_dec]+0x80;//位不足则高位不显示if(4-bit_all>0){for(i=0;i<4-bit_all;i++){dispbuff[bit_all+i]=num[10];}}}第3章Protel绘图软件及其使用3.1设计原理1.原理图利用ProtelDXP2004绘制设计原理图。2.PCB图(1)建立PCB文件、设置相关参数并将零件封装摆放在PCB板上;(2)参照绘制的原理图,为PCB的零件手工布线;(3)为布线后的PCB板,作最后必要的处理,如:打泪滴、覆铜等。3.2基本步骤3.2.1PCB设计基本操作1.进入PCB,新建一个PCB文件,设置参数为:板层选择TopLayer、BottomLayer、Keep-OutLayer、TopSilkscreen、MultiLayer和MechanicalLayer1:可视栅格1设置为20mil,可视栅格2均设置为20mil,捕获栅格设置为10mil,元件网格设置为10mil。2.装入元件库。3.在KeepOutLayer层上,绘制电路板的边框,设置大小。边框线的宽度选择为10mil。4.放置元件,并按图所示调整其位置、设置每个元件的标号,元件标号设置在顶层丝印层。5.参照图进行双面布线,宽度为8mil。由于图中存在贴片元件和插针式元件,因此应在不同层上布线,贴片元件的连线在顶层,插针式元件的连线在底层,两层线间的连接通过过孔实现,连线转折方式的切换通过键实现。6.将完成的文件存盘。3.2.2PCB布线设计1.规划电路板2.元件布局(1)手工调整元件布局1)设定删格的间距和光标移动的单位距离:执行design/options,在出现的options对话框中选择options选项卡,设定各项参数,最后单击ok确定;2)移动元件:单击元件选中,按住左键不放,移动至适当位置松开左键;3)旋转元件:单击元件按住左键不放,按空格键或者x键y键,可调整元件的放置方向;4)调整好元件布局后,为了以后的自动布线和手工调整,最好将各个元件的管脚移动到栅格上,执行命令tools/aligncomponents/movetogrid,在随后出现的对话框中输入格点的间距,单击ok确定。(2)元件标注的调整:双击想要编辑的元件标注,在随后出现的对话框中编辑;单击选中编辑后的元件标注,拖动至适当位置松左键。3.自动布线所谓自动布线就是程序根据用户设定的有关布线参数和布线规则,依照一定的程序算法,按照实现生成的网络宏自动在各个元件之间进行连线从而完成印制电路的布线工作。通常我们采用手工布线,自动布线的参数设定这里不再累述。4.PCB放置工具栏(placementtools)介绍最常用工具,从第一行左起第一、二、三、四个按钮和第二行第一个按钮,其功能分别为绘制导线、放置焊盘、放置过空、放置字符串和放置元件。具体介绍如下:(1)绘制导线:单击放置工具栏中的第一个按钮,光标变成十字形状,即可开始绘制导线;方法同原理图中导线的绘制;(2)放置焊盘、过孔:方法同上;(3)放置字符串:单击放置工具栏中的第四个按钮,光标变成十字形状并带着一个缺省的字符串出现在工作区,按tab键,则会出现字符串属性对话框,在该对话框内修改;(4)放置元件:1)单击放置工具栏中的放置元件按钮,在出现的对话框中输入元件的封装形式、序号、注释等参数,单击ok确认;如果用不太清楚元件的封装形式,可以单击对话框中的add/remove按钮来添加/删除元件库,然后在库中寻找所需元件,找到后单击close退出该对话框;2)此时光标变成十字形状并带着选定的元件出现在工作平面上,单击左键可将元件放置在当前光标所在位置;双击元件进入元件属性对话框框可设置元件属性。5.手工调整(1)调整布线(2)加宽电源/接地线将光标移动到电源线或地线上,双击;在出现的对话框中设定线宽,然后单击global》按钮即可进入整体修改对话框;在对话框中将attributestomatchby功能区中的net选项设为same,在copyattributes功能区选中width选项,单击ok确认;(3)添加注释文字:执行place/string,光标变成十字形妆并带着一个字符串出现在工作平面中,按tab键,会出现字符串对话框,在该对话框中修改;将光标移动到适当位置,单击将该字符串放置在当前位置。6.文字、尺寸的标注(1)元件重新编号和标注:执行tools/re-annotate,选择不同的工作方式,单击ok即可,同时程序还会根据所定义的设置产生一个ASCII文件,后缀名为.was,与原来的PCB图位于同一个documents文件夹中;回到原理图编辑器,执行tools/backannotate,弹出装入“.was”文件的对话框,将上面PCB图重新标注形成的文件装入,即可更新原来的原理图。(2)其他文字标注:切换当前工作层面为mech1,执行place/string;(3)标注尺寸:切换当前工作层面为drilldrawing,执行place/dimension;参考文献【1】李新光·单片机系统及其应用[M]·东北大学信息学院自动化仪表研究所【2】张蓬,蒋亮,孙玉林·《ProtelDXP》电路设计入门与应用[M]·机械工业出版社【3】其余参考文献来源网络实习心得体会作为一名测控专业的大三学生,我觉得做这门认识实习是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的认识实习就为我们提供了良好的实践平台。在做本次实习的过程中,我感触最深的当属查阅大量的资料了。为了让自己做得更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。其次,在这次实习中,我们还运用到了以前所学的专业课知识。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次实习的又一收获。在实习过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。另外,这次实习使我感到了团队合作的重要性。在团队中,我们互帮互助,对整个实习来说,这是至关重要的。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。认识实习虽然结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。附录附录A原理图
for(jj=0;jj<250;jj++)
_nop_();
2.4.2显示程序
//传送1字节(8位)
voidSendChar(ucharch)
uchari,temp;
dis_CLK=0;
temp=ch&0x80;
ch=ch<<1;
if(temp)
dis_DIN=1;
delayns();
dis_CLK=1;
else
dis_DIN=0;
//向MAX7219写入字(16位)
voidWriteWord(ucharaddr,ucharnum)
dis_LOAD=0;
SendChar(addr);
SendChar(num);
dis_LOAD=1;
//数值显示
voiddis_result()
WriteWord(0x01,dispbuff[3]);
WriteWord(0x02,dispbuff[2]);
WriteWord(0x03,dispbuff[1]);
WriteWord(0x04,dispbuff[0]);
//利用递归法实现指数运算
ulongpower(ulongnumber,uintindex)reentrant
ulongresult;
if(index==0)result=1;
elseresult=number*power(number,index-1);
return(result);
//数值计算
voiddisp(floatf)
inti,j;
if(f<0.0)
bit_sym=1;
f=-f;
part_int=(long)f;
part_dec=f-part_int;
part_dec_int=(long)(part_dec*1000);/*小数部分取整*/
bit_dec=3;/*小数部分的最多位数*/
bit_int=1;/*整数部分的最少位数*/
bit_all=1;/*总显示的最少位数*/
//计算小数位数
for(i=1;i<=3;i++)
if(part_dec_int%(power(10,i))==0)
bit_dec=bit_dec-1;
//计算整数位数
for(i=0;i<=3;i++)
if(part_int>=power(10,i))
bit_int=i+1;
//总的显示位数最多为4
if(bit_dec+bit_int+bit_sym>4)
bit_dec=4-bit_int-bit_sym;
//总的显示位数
bit_all=bit_sym+bit_int+bit_dec;
//显示小数位
if(bit_dec>0)
for(i=bit_dec-1,j=3;i>=0,j>=1;i--,j--)
dispbuff[i]=num[(part_dec_int%(power(10,j)))/(power(10,j-1))];/*该语句实现对各位的求取*/
//显示整数位
for(i=bit_all-bit_sym-1,j=bit_int;i>=bit_dec,j>=1;i--,j--)
dispbuff[i]=num[(part_int%(power(10,j)))/(power(10,j-1))];
//显示符号位
if(bit_sym==1)
dispbuff[bit_all-1]=num[12];
//小数点位置
dispbuff[bit_dec]=dispbuff[bit_dec]+0x80;
//位不足则高位不显示
if(4-bit_all>0)
for(i=0;i<4-bit_all;i++)
dispbuff[bit_all+i]=num[10];
第3章Protel绘图软件及其使用
3.1设计原理
1.原理图
利用ProtelDXP2004绘制设计原理图。
2.PCB图
(1)建立PCB文件、设置相关参数并将零件封装摆放在PCB板上;
(2)参照绘制的原理图,为PCB的零件手工布线;
(3)为布线后的PCB板,作最后必要的处理,如:
打泪滴、覆铜等。
3.2基本步骤
3.2.1PCB设计基本操作
1.进入PCB,新建一个PCB文件,设置参数为:
板层选择TopLayer、BottomLayer、Keep-OutLayer、TopSilkscreen、MultiLayer和MechanicalLayer1:
可视栅格1设置为20mil,可视栅格2均设置为20mil,捕获栅格设置为10mil,元件网格设置为10mil。
2.装入元件库。
3.在KeepOutLayer层上,绘制电路板的边框,设置大小。
边框线的宽度选择为10mil。
4.放置元件,并按图所示调整其位置、设置每个元件的标号,元件标号设置在顶层丝印层。
5.参照图进行双面布线,宽度为8mil。
由于图中存在贴片元件和插针式元件,因此应在不同层上布线,贴片元件的连线在顶层,插针式元件的连线在底层,两层线间的连接通过过孔实现,连线转折方式的切换通过键实现。
6.将完成的文件存盘。
3.2.2PCB布线设计
1.规划电路板
2.元件布局
(1)手工调整元件布局
1)设定删格的间距和光标移动的单位距离:
执行design/options,在出现的options对话框中选择options选项卡,设定各项参数,最后单击ok确定;
2)移动元件:
单击元件选中,按住左键不放,移动至适当位置松开左键;
3)旋转元件:
单击元件按住左键不放,按空格键或者x键y键,可调整元件的放置方向;
4)调整好元件布局后,为了以后的自动布线和手工调整,最好将各个元件的管脚移动到栅格上,执行命令tools/aligncomponents/movetogrid,在随后出现的对话框中输入格点的间距,单击ok确定。
(2)元件标注的调整:
双击想要编辑的元件标注,在随后出现的对话框中编辑;单击选中编辑后的元件标注,拖动至适当位置松左键。
3.自动布线
所谓自动布线就是程序根据用户设定的有关布线参数和布线规则,依照一定的程序算法,按照实现生成的网络宏自动在各个元件之间进行连线从而完成印制电路的布线工作。
通常我们采用手工布线,自动布线的参数设定这里不再累述。
4.PCB放置工具栏(placementtools)介绍
最常用工具,从第一行左起第一、二、三、四个按钮和第二行第一个按钮,其功能分别为绘制导线、放置焊盘、放置过空、放置字符串和放置元件。
具体介绍如下:
(1)绘制导线:
单击放置工具栏中的第一个按钮,光标变成十字形状,即可开始绘制导线;方法同原理图中导线的绘制;
(2)放置焊盘、过孔:
方法同上;
(3)放置字符串:
单击放置工具栏中的第四个按钮,光标变成十字形状并带着一个缺省的字符串出现在工作区,按tab键,则会出现字符串属性对话框,在该对话框内修改;
(4)放置元件:
1)单击放置工具栏中的放置元件按钮,在出现的对话框中输入元件的封装形式、序号、注释等参数,单击ok确认;如果用不太清楚元件的封装形式,可以单击对话框中的add/remove按钮来添加/删除元件库,然后在库中寻找所需元件,找到后单击close退出该对话框;
2)此时光标变成十字形状并带着选定的元件出现在工作平面上,单击左键可将元件放置在当前光标所在位置;双击元件进入元件属性对话框框可设置元件属性。
5.手工调整
(1)调整布线
(2)加宽电源/接地线
将光标移动到电源线或地线上,双击;在出现的对话框中设定线宽,然后单击global》按钮即可进入整体修改对话框;在对话框中将attributestomatchby功能区中的net选项设为same,在copyattributes功能区选中width选项,单击ok确认;
(3)添加注释文字:
执行place/string,光标变成十字形妆并带着一个字符串出现在工作平面中,按tab键,会出现字符串对话框,在该对话框中修改;将光标移动到适当位置,单击将该字符串放置在当前位置。
6.文字、尺寸的标注
(1)元件重新编号和标注:
执行tools/re-annotate,选择不同的工作方式,单击ok即可,同时程序还会根据所定义的设置产生一个ASCII文件,后缀名为.was,与原来的PCB图位于同一个documents文件夹中;回到原理图编辑器,执行tools/backannotate,弹出装入“.was”文件的对话框,将上面PCB图重新标注形成的文件装入,即可更新原来的原理图。
(2)其他文字标注:
切换当前工作层面为mech1,执行place/string;
(3)标注尺寸:
切换当前工作层面为drilldrawing,执行place/dimension;
参考文献
【1】李新光·单片机系统及其应用[M]·东北大学信息学院自动化仪表研究所
【2】张蓬,蒋亮,孙玉林·《ProtelDXP》电路设计入门与应用[M]·机械工业出版社
【3】其余参考文献来源网络
实习心得体会
作为一名测控专业的大三学生,我觉得做这门认识实习是十分有意义的,而且是十分必要的。
在已度过的大学时间里,我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?
如何把我们所学的专业基础课理论知识运用到实践中去呢?
我想做类似的认识实习就为我们提供了良好的实践平台。
在做本次实习的过程中,我感触最深的当属查阅大量的资料了。
为了让自己做得更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。
其次,在这次实习中,我们还运用到了以前所学的专业课知识。
虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次实习的又一收获。
在实习过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。
另外,这次实习使我感到了团队合作的重要性。
在团队中,我们互帮互助,对整个实习来说,这是至关重要的。
还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。
认识实习虽然结束了,但是从中学到的知识会让我受益终身。
发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。
附录
附录A原理图
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2