电子线路应用软件训练总结报告.doc_第1页
电子线路应用软件训练总结报告.doc_第2页
电子线路应用软件训练总结报告.doc_第3页
电子线路应用软件训练总结报告.doc_第4页
电子线路应用软件训练总结报告.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

沈阳航空航天大学电子信息工程学院电子设计应用软件训练总结报告学生姓名: 王纪尧 专 业: 电子信息工程 班 级: 14020101 学 号: 2011040201026 指导教师: 赵晨光 训练时间:2013年 7月1日至 2012年7月12日电子设计应用软件训练总结报告电子信息工程学院电子设计应用软件训练任务一 、训练任务 1、PROTEL部分(1) 熟练掌握PROTEL软件的使用; (2) 按要求绘制电路原理图和PCB版图(能够用自动布线和手动布线相结合); (3) 能够按要求建立元件库和封装库。 2、软件设计部分 按照给定的软件设计任务完成相应的软件设计(见软件设计任务部分)。二、基本要求及说明 1、PROTEL部分(1) 电路原理图图纸尺寸按照给定的任务作相应的设置; (2) 电路原理图见PROTEL训练任务部分; (3) 按指定电路图在PROTEL 99中绘制原理图和印制板图; (4) 按照给定要求创建原理图器件和该器件的相应的封装2、软件设计部分 按软件设计要求实现相应的功能(见软件设计任务部分)三、按照要求撰写总结报告 成绩:PROTEL部分一、 任务说明(1)了解protel最基本的功能,并且熟练的掌握这些基本功能。(2)按要求绘制电路原理图和PCB 版图,并学会自动布线和手动布线的相结合的方法布线。(3)学习简单元件的绘制,并在此基础上建立自己简单的元件库以及封装库。二、 原理图的绘制 2.1新建.ddb数据库文件打开protel 99 SE软件,点击菜单栏中File中的New命令既可以打开如图1-2的界面,该对话框中有两个选项卡,分别为Location和Password。在Location中,用户可以在编辑框定义文件和名称和存放的位置。点击Browse改变存盘目录,单击OK,即可建立设计数据库。如图1-1图1-1新建一个数据库2.2新建原理图选取File下的New.新建文件选项打开New Document对话框,选取Schematic Document点击OK建立一个后缀名为.sch的文件,这就是原理图文档。如图1-2。图1-2 建立一个新的原理图文档2.3设置电路图纸的大小选择菜单中的Design下的Options命令,系统将弹出Document Options对话框,并在其中选择Sheet Options选项卡进行设置接下来要设置电路图图纸的大小,在standard选项下将电路原理图图纸设置为A4尺寸。如图1-3所示。图 1-3 设计图纸大小的设置2.4添加和删除元件库点击Add/Remove按钮,屏幕将出现 Chang Library File List话框。在Design Explorer 99LibrarySch文件夹下选取元件库文件,然后点击Add按钮,此元件库就会出现在Selected Files框中,然后点击OK按钮,完成该元件库的添加。如图1-4所示。图1-4 元件库的添加2.5新建元件库在绘制电路原理图时,有些元件在标准的元件库无法找到,这时我们可以手动建立一个新的元件库。点击File下的New.新建文件选项打开New Document对话框,选取Schematic Library Document点击OK,此时将创建一个后缀名为.lib的文件,然后在这个新建的库中建立自己的元件。如图1-5。图 1-5 建立自己的元件库在自建的元件库中就可以编辑自己想要的元件了,窗口上有绘图的工具借助这些工具就能够完成自己的任务了,画出自己想要的元件。用画出所需元件的外形,并且用添加引脚,双击引脚,可以在弹出的对话框里编辑引脚的编号和名称。在Name中定义名称,在Number中定义编号,编辑完成后的元件如图1-6。图 1-6 自制元件2.6绘制电路原理图打开第二步建立后缀名为.sch的原理图文档,我们可以看到,在工具栏中有很多的绘图工具,如图1-7。我们可以利用这些工具来绘制电路原理图。图 1-7 连线工具栏接下来进行元件的查找和放置,首先选择一个元件库,在元件库有标准的元件,如图1-8所示。点击Place,就可以将将原件放置在原理图当中,用同样的方法可以放置原理图中所需的元件。图1-8 元件库和元件库里的元件添加“电源”和“地”,左键点击编辑栏中的,放置在电路原理图中,双击弹出对话框,如图1-9所示。在Style窗口选择Power Ground选项,这样在原理图中,就添加了一个“地”。图1-9 创建电源 接下来就是将各种元件连在一起,这是需要使用工具栏中的电路线,因为电路图中的线大多为直线,所以需要将相应的元件摆放整齐。画线其实比较简单,只要稍微注意线与线之间是否有节点,如果有节点,那么它们两者就是相连的,如果没有,那就是不相连的。经过上述的步骤,解决了各种问题,完成的电路原理图如图1-10所示。图 1-10 电路原理图2.7命名并定义引脚封装双击某个元件,并在弹出的对话框中为该元件命名并定义引脚封装,如图1-11图所示,元件命名在Designation输入框中,而定义引脚封装则在Footprint框中进行。电路原理图中的每一个元件都要进行引脚的封装。元件的封装并不是随意的,元件封装的名称必须在元件库存在,并且该封装与能买到的器件相对应,如果封装库中没有相应的封装,那么就需要自己为元件制作封装。通过知道老师的答疑和上网查找相应的资料,了解到了一些常见的封装形式。如,在此电路原理图中,电阻的封装我设置为AXIAL0.3和AXIAL0.4,电容的封装形式为RAD0.2,极性电容的封装为RB.2/.4,各类二极管的封装为DIODE0.4,光电耦合器OPTOISO1的封装为DIP4,晶振的封装为XTAL1。如果原理图中的元件的封装形式在封装库中没有,需要自己建立,在自己的封装库中建立如下:首先根据任务书中给的尺寸距离,开始在封装库中放置焊点,放置焊点时光标变为十字,中间带有一个焊盘,移动光标使焊盘到达合适的位置后,单击鼠标将其定位,将工作层面切换到顶层布线层,执行菜单命令画线,然后画出绘制元件的外形轮廓方形。将原件重新命名,这样该元件的封装就成功创建了。图 1-11 为元件命名并设定引脚封装三、 印制板的绘制3.1电气规划检验 至此,该电路的原理图就完成了。原理图绘制完成以后要进行电气规则检验,来确定自己所画的原理图是否有错误,以防止原理图连线出现的问题,和为下一步的生成网络表文件准备。选择Tool下的ERC选项,采用默认的设置,点击OK就开始了电气规则检验,并生成一个后缀名为.erc的错误报告。如图1-12。图中的报告说明此时原理图的连接没有出现问题。 图 1-12 电气规则检验3.2生成网络表结束后电气规则检验后,下一步就可进行网络表文件的生成工作。选择Design下的Creat Netlist选项然后点击OK按钮就可以生成一个后缀名为.net格式的网络表文件。如图1-13所示。图 1-13 生成网络表文件该网络报表包含了原理图中各个引脚的链接,绘制原理图的最主要目的其实就是产生这么一个网络表,以供其他后续处理程序使用。3.3设置板形 板形也就是最后设计出来的电路板的外形,板形设计可以手动设置,也可以使用印刷电路板设计向导来完成,本设计比较简单,我采用的是手动设置板形。要注意的是在KeepOut Layer界面绘制板形,利用编辑工具设置板形。3.4加载网络表网络表生成后就可以在PCB窗口中导入网络表,选择Design下的netlist选项,单击Browse按钮打开对话框,选择上面生成的Sheet1.NET加载网络表文件,并单击OK按钮,就可以导入网络表了。网络表加载后,可能提示错误,这是由于原理图元件库中的元件引脚名称与电路板元件库中的元件引脚名称不一致引起的。此时,只要改回来就可以解决问题。如图1-14所示。图 1-14 加载网络表及产生的错误3.5印制电路板布局以及布线网络表导入后接着要进行电路板的布局,电路板布局与许多因素有关,比如电磁干扰、是否利于导热等。电路板的布局一般都要遵循最近相邻原则,即元器件一般都要放置在与其电气相连最近的元件附近,这样有利于走线。布线是完成产品设计的重要步骤,首先进行总布线然后在自动布线的基础上检验布线,点击Auto Route菜单,然后选择All,点击Route All,生成自动布线图。观察找出不合理的布线然后进行手动布线。如图1-14所示。图1-14自动布线结果四、总结在这次为期两周的课程设计训练中,我第一次接触Protel这款软件,听指导老师说几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用PROTEL,我感觉到了这项技能的重要性。通过这次的Protel软件的课程设计,我基本上掌握了Protel 99 SE软件的简单使用方法,可以熟练的运用该软件绘制电路原理图,同时可以建立自己的元件库,新建软件自带的元件库中所没有的元件。还可以根据电路原理图绘制PCB版图,了解了各种元件的封装等相关知识。以及后续很多步骤所含的知识。Protel这个软件包含有原理图设计软件、电路板设计软件等多个模块。对于初学者的我来说,这些方面的学习使我初步学会了一些制图过程中的技巧。在刚开始接触这一款软件的时候,其英文的操作界面着实使我苦恼了一阵,即使我进行了汉化,但大量的专业英语词汇仍使我束手无策。可是后来,也许是所谓的“熟能生巧”吧,我渐渐可以看着英文就能找到我所需要的东西了,但即便如此,我还是认识到学习好英语的重要性。在学习的过程中,首先接触的是如何绘制基本电路的原理图。这在整个学习过程中是相对简单的,因为它是绘制其它图的基础。要绘制原理图,首先要创建一个新的Schematic Document界面,然后就是加载原件库,当遇到库中所没有的元器件时,我们就要自己动手编辑电路原件了。还记得当初我试了很多次还不行,后来还是经过老师的指点才解决的,那时候还真是有点豁然开朗的感觉。自己编辑完原件后,只有正确的调用才能在之后顺利地使用它。之后便是PCB封装的学习了。这是很重要的一个过程。同是电阻,就因为它们的阻值不一样,也许封装就是不同的;有极性的电容和无极性的电容的封装也是不同的起先我总是怎么也找不对封装的内容,可是渐渐的也好了起来。在这一过程中,需要我注意的就是每一个原件都要有封装并且要封装正确。这之后,我们要对原理图生成一个网络表,然后在PCB中也同样创建一个网络表,只有当检错后显示“All macros validated”,才能进行下一步的动作,但这也只是正确完成PCB的一个必要前提,只有当所有的原件都连线时,才有可能正确。那个时候我调试了好久可就是有原件不能连线,好几天下来,说不烦躁那是假的,可当我最终将所有的错误都排查的时候,那种喜悦的心情是无法用语言形容的。这还不算完,我们还要布局和布线,自动当然既快速又方便,可手动的有时会更加美观。当通过自己的努力制成一幅完整的图事,我会体会到前所未有的成就感。Protel的学习应该要多联系,只有多练习,我们才能更快更好地完成制图。短学期的学习虽然短暂,学到的东西也有限,但这十天中我所获得的却能够使我受益匪浅、受益终身。我会不断地自我充实来丰富自己的专业知识,我会更有耐心地对待身边的每一件事。有听说这样一句话:“每次遇到一个新的领域,你都是一张白纸,由你自己决定来怎么涂写。”我会重视过程所带来的乐趣以及不断地奋斗、不断地纠正错误,使自己无论在专业知识上还是自身素质上都有所提高。五、参考文献薛楠.Protel DXP 2004原理图与PCB设计实用教程 .机械工业出版社.2012.03周润景.Protel 99SE电路设计及应用.机械工业出版社2012.02甘登岱.Protel电路板设计教程 .航空工业出版社 .2011.05附录I 电路原理图附录II 印制板图软件设计部分背包问题1. 需求分析1.1程序的功能 程序的功能是:假设有一个能装入总体积为T的背包和n件体积分别为W1,W2,Wn的物品,能否从n件物品中挑选若干件恰好装满背包,即使W1+W2+Wn=T,要求找出所有满足上述条件的解。例如:当T=10,共6件物品,物品的体积为1,2,3,4,5,8,那么可找到下列4组解:(1,2,3,4)、(1,4,5)、(2,3,5)、(2、8)。1.2输入输出要求1从界面中输入的供选择的物品的数目不能超过程序定义的N;2. 输入一个物品体积后,要按回车键,然后输入下一个数据;3输入背包容纳的体积T不能大于所有物品的体积总和;2.概要设计2.1主要程序的功能模块图功能模块图如下图2-1 背包问题输入模块初始化模块挑选模块输出模块 图2-1 功能模块图 2.2数据结构及其关系程序中定义了主要的类型是int类型和 struct 类型。int 类型中有 int wM,int T,int N,int i,int j等,int wM是一个数组,其中的各数据元素都是同属一个集合的关系,是的顺序存储结构。其它的数据是无向关系。struct类型:struct int sM; int top; things;struct 类型中int sM和int top都是其所属的元素。其中int sM 是一个数组,其中的各数据元素都是同属一个集合的关系,是的顺序存储结构。int sM和int top是一种线性关系。结构体本是顺序存储的。3详细设计3.1 C语言定义的相关数据类型首先定义一些变量,作为程序中需要存放变量的空间。int 类型: int wM; /供选择的物品 int T=0; /背包的最大容量 int N=0; /物品的数目 int k=0; int i=0; int j=1struct类型:struct int sM; /存放被选出来的物品重量的数组 int top; /栈顶指针things;3.2模块的主要类C码算法初始化模块: 这里运用了一个for循环,主要目的是定义一个长度为N的栈,并且这个栈为空栈。这个栈的用途存放物品的重量。for(i=0;i0&k=wk) things.sthings.top+=k; T-=wk; k+; if(T=0) printf(n第%d种挑选方法:,j); for(i=0;ithings.top;i+) printf(t质量为%d的物品 ,wthings.si); j+; printf(n); k=things.s-things.top; things.sthings.top=0; T+=wk; k+; while(!(things.top=0&k=N);3.3主要函数的流程图流程图如下图2-224开始输出输入数据初始化数据背包总量大于0且变量小于物品总数 NY考察下一个物品背包总量大于物品总质量NY符合条件的物品入栈NY 包满前一入栈物品出栈继续考察下一个物品N栈顶指针为空Y结束图2-2 主程序流程图3.4各函数模块的调用的关系图模块调用关系图如下图2-3主函数输入模块挑选模块考察各物品输出模块初始化模块图2-3 模块调用关系图4.调试分析以及设计体会4.1测试数据 为了测试程序的正确性,准备了几份数据,数据如下:1. 输入供选择的物品的数目:6 输入供选择的物品的体积: 第一个物品的体积:1 第二个物品的体积:3 第三个物品的体积:4 第四个物品的体积:5 第五个物品的体积:8 第六个物品的体积:2 输入背包的容量:10测试结果如下图2-4图2-4 第一种情况的方法2. 输入供选择的物品的数目:3 输入供选择的物品的体积: 第一个物品的体积:1 第二个物品的体积:3 第三个物品的体积:4 输入背包的容量:4输出结果如下图2-5 图 2-5 第二种情况的方法4.2调试中的问题与分析调试程序是课程设计中一个很重要的环节,它让我们发现自己程序的错误,让我们不断的改正错误直到程序可以运行。在调试中,我的程序出现了很多的问题,有些是出于本身的知识遗忘缺陷和,有些一些是出于实践与理论的差别,还有一些是由于粗心引起的。由于很久没有温习C语言的,所以对C语言输入输出的知识有所遗忘,在输入物体体积时,开始在scanf语句输入数组的一个数,我以为数组输入只需写数组名,没有使用地址符,只写“Wi”, 结果数据一直无法输入,后来在同学的提醒下才想起来,对数组中的数据一个一个输入和一次输入数组时不同的,前者需要输写地址符,正确的输入应该是”&Wi”,修改后数据才正常的输入,这是个对知识遗忘引起的错误。这个问题是由于粗心引起的,而且是个很难发现的错误。调试程序的过程中,我发现了很多的错误。这个过程不仅仅是对程序的检测也是对我的学习的检测。让自己发现自己还存在着很多的不足。在机房的几次调试,让我再次去温习了C语言,对于C语言和自己学习的成果有了再次的提升,也对自己的编写习惯有了一些改变。总之调试程序让我受益匪浅。4.3课程设计心得体会本次课程设计让我将我所学的C语言与数据结构有机结合,即提升了动手写程序的能力,也温习了C语言和检测了我的学习效果。虽然在两周的课程设计中我遇到了很多的困难,但是最后看着自己编写的程序能够实现功能并且很好的运行是一件非常开心的事。只有真正的去写了程序才知道自己到底学到了什么,才知道自己在哪里存在不足,需要在哪里方面更加努力。数据结构是计算机科学的基础理论知识,也是软件设计的技术基础。本课程设计的性质是检验理论科学系的效果以及综合运用的能力,目的是训练学生进行复杂程序设计的技能和培养良好的程序设计习惯。本课程设计的任务是要求学生使用C或C+语言编程,解决具有一定规模的、具有实际意义的应用题,实现理论课所要求的数据组织、存储、处理的基本方法。在编写程序时我经常出现粗心的错误,这也是我们编写程序时的致命点,但是也让我看到了改进的方向。首先要认真上好专业实验课,多在实践中锻炼自己。其次写程序的过程中要考虑周到,严密。并且在做设计的时候要有信心,有耐心,切勿浮躁。而且在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。 5.使用说明本程序说明告诉用户如何使用背包程序,使用户在使用时更方便。首先进入第一个界面如图2-6,请客户输入供选择的物品的数目,输入完后按Enter键,随后会要求用户输入选择物体的体积的界面。 图2-6 输入物品总数 进入第二个界面如图2-7,请客户输入各物品的体积,每输入一个数据请按一个Enter键,界面会出现下一个提醒输入语句,请客户

温馨提示

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

评论

0/150

提交评论