protel软件实习报告.doc

上传人:文库蛋蛋多 文档编号:4146729 上传时间:2023-04-07 格式:DOC 页数:16 大小:252.50KB
返回 下载 相关 举报
protel软件实习报告.doc_第1页
第1页 / 共16页
protel软件实习报告.doc_第2页
第2页 / 共16页
protel软件实习报告.doc_第3页
第3页 / 共16页
protel软件实习报告.doc_第4页
第4页 / 共16页
protel软件实习报告.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《protel软件实习报告.doc》由会员分享,可在线阅读,更多相关《protel软件实习报告.doc(16页珍藏版)》请在三一办公上搜索。

1、沈 阳 航 空 航 天 大 学 电子设计应用软件训练总结报告 学生姓名: 鹿智学院专业:电子信息工程班级学号:94020104指导教师: 赵晨光 训练时间:2011年 7月8日至 2011年7月22日电子设计应用软件训练任务【训练任务】 (一)PROTEL部分1、熟练掌握PROTEL软件的使用; 2、按要求绘制电路原理图; 3、能够按要求建立元件库和封装库; 4、按要求根据电路原理图绘制PCB版图(能够用自动布线和手动布线相结合)。 (二)软件设计部分 按照给定的软件设计任务完成相应的软件设计【基本要求及说明】 (一)PROTEL部分1、电路原理图图纸尺寸设置为A4; 2、电路原理图见附图;

2、3、按指定电路图在PROTEL 99中绘制原理图; 4、根据原理图绘制印制板图; 5、根据要求创建原理图器件和该器件的相应的封装。(二)软件设计部分 按软件设计要求实现相应的功能【按照要求撰写总结报告】 指导教师 年 月 日负责教师 年 月 日学生签字 年 月 日成绩评定表评语、建议或需要说明的问题:指导教师签字: 日期:成 绩PROTEL 训 练 任 务软 件 设 计 任 务约瑟夫(Joseph)问题 问题描述 约瑟夫(Joseph)问题的一种描述是:编号为1,2,.,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向

3、自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从l报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。基本要求 利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。实现提示 程序运行后,首先要求用户指定初始报数上限值,然后读取各人的密码。设n30。此题所用的循环链表中不需要“头结点”,请注意空表和非空表的界限。(一)PROTEL部分1. 任务说明1、熟练掌握PROTEL软件的使用;2、按要求绘制电路原理图;3、能够按要求建立元件库和封装库;4、按要求根据电路原理图绘制PCB版图2. 原理图绘制说明原理

4、图设计最基本的要求是正确性,其次是布局合理,最后是在正确性和布局合理的前提下力求美观。根据以上所述的电路原理图设计步骤,电路原理图设计过程如下:(1) 启动原理图设计服务器 进入Protel 99 SE,创建一个数据库,执行菜单File/New命令,从框中选择 Schematic Document 图标,双击该图标,建立原理图设计文档。双击文档图标,进入原理图设计服务器界面。图1新建文件窗口示意图(2) 设置原理图设计环境执行菜单Design/Options,设置图纸大小为A4纸 。图2纸张设置窗口(3) 装入所需的元件库 在设计管理器中选择Browse Sch页面,在Browse区域中的下拉

5、框中选择Library,然后单击Add/Remove按钮,在弹出的窗口中寻找Protel 99 SE子目录,在该目录中选择LibrarySch路径,在元件库列表中选择所需的元件库,单击Add按钮,即可把元件库增加到元件库管理器中。(4) 放置元件根据实际电路的需要,到元件库中找出所需的元件,若找不到,可以点击Edit按键制作一个新元器件,然后用元件管理器的Place按钮将元件放置在工作平面上,再根据任务原理图把元件调整好。(5) 原理图布线 利用Protel 99 SE提供的各种工具、指令进行布线,将工作平面上的器件用具有电气意义的导线、符号连接起来,构成一个完整的电路原理图。见附录I (6)

6、元器件位置调整和编辑元器件属性 利用Protel提供的功能对原理图做进一步的修改,同时对元件编号及封装号进行定义。(7)新建元件库 Bill of Material for BACKUP1.BomUsed Part Type Designator Footprint1 .IC IC1 IC11 1K R1 08051 1 C1 08051 100pF C2 08051 NE555P U1 DIP81 VPULSE V1 123(8)元器件检测使用Protel 99 SE提供的电气法则检测,执行Tool/REC命令,若有错误,则进行修改。(9)生成网络表网络表是电路原理图或印制电路板元器件连接关

7、系的文本文件,是原理图设计和PCB设计的接口网络表可以由原理图生成,执行Design/Create Netlist可以生成具有元件名、元件封装、参数及元件之间连接关系的网络表。C108051C20805100pF IC1 IC1.IC R10805 1KU1DIP8NE555P U1DIP-40IC1V1123VPULSE(GNDU1-1)(NetC2_1C2-1U1-5)(NetC2_2C1-2C2-2U1-1U1-3V1-2)(NetU1_4R1-2U1-4U1-8)(NetU1_6C1-1IC1-R1-1U1-6U1-7)(NetV1_1U1-2V1-1)(VCCU1-21) 3. 印制

8、板图说明 Protel 99 SE提供了完整的电路板设计环境,使得设计电路版更加方便高效,应用该软件设计的电路板过程如下:(1) 启动电路板设计服务器 执行菜单File/New命令,从框中选择PCB Document图标,双击该图标,建立PCB设计文档。双击文档图标,进入PCB设计服务器界面。 图3 PCB设计服务器(2)装入元件封装库执行菜单命令Design/Add/Remove Library,在“Add/Remove”对话框中选取所有元件所对应的元件封装库,例如:PCB Footprint ,International Rectifiers等。(3)建立元件封装库 图4 自制NE555P

9、封装图 图5 IC1信号源的封装(4)装入网络表执行菜单Design/Load Nets命令,然后在弹出的窗口中单击Browse按钮,再在弹出的窗口中选择电路原理图设计生成的网络表文件(扩展名为Net),如果没有错误执行Excute命令符,若有,则修改错误。(5)元器件布局 可以采用自动布局和手动布局相结合的方式,执行菜单命令Tools/Auto Placement/Auto Placer可以自动布局。 (6)自动布线 执行菜单命令Auto Routing/All,并在弹出的窗口中单击Route all按钮,程序即对印刷电路板进行自动布线。只要参数,元件布局合理,自动布线的成功率几乎是100%

10、(7)手动布线 对于自动布线不太满意的地方可以采取手动布线的方式,这样可以是电路板设计的更加合理。(8)设计的PCB版图 。见附录II4. 对所绘制电路进行简要分析 利用互联网资源,了解到NE555P具有波形转换功能,结合外围电路,分析知,此电路的功能是实现矩形波三角波转换。5. 体会及合理化建议 持续一个星期的实习很快就结束了,虽然时间很短但是收获很多。首先,通过在实习期间查阅大量资料后,我熟悉protel 99 SE的基本操作,掌握了用protel99SE绘制原理图及制作PCB图的方法。 虽然短短一个学时的理论学习对于我们这些初学者要全面掌握protel99SE的理论知识和实践知识是相当难

11、的。但是,通过课后查阅文献并上机模拟后,对protel 99 SE的操作界面及操作方法有了深刻地了解。 在protel 99 SE的开始不久后,自己便对这个软件产生了浓厚的兴趣。同时感觉即使有很强理论知识,真正在实践时还是会遇到很多困难,甚至无从下手。本次实习最大的收获是学会如何绘制元件库和封装库。所以这次实习的重点是要学会自己画元件库和封装库。实习过程中,遇到不少问题在电器检查时,开始有很多错误,是由于引脚或元器件没标注好的原因。封装过程中,有的元件需要自己手工绘制,对于自制的封装元件库还是会出现由于名称不对而无法封装的情况,制作PCB要以元件实物的型号和大小为依据,由于元件种类繁多,所以要

12、具体情况具体来制作PCB封装,PCB封装尺寸的大小更注重在管脚的距离上,管脚距离的大小决定了实物元件能否装在PCB板上,要从原理图生成PCB就要保证每个元件都有对应的封装,大小要对应,符号也要对应。由于我们这个专业需要动手能力强的专业人员,因此,很希望能够多有几次这样的实习机会,同时自己也会课后增加这些方面的培养,增强动手能力,以更好的和社会接轨。 附录I 图6电路原理图附录II 图7 PCB版图(二)软件设计部分1. 题目分析 程序运行后, 首先指定初始报数上限值,然后读取各人的密码。 输入数据:建立输入数据函数,输入m的初值,输入每个人的密码,建立单循环链表。 输出形式:建立一个输出函数,

13、 输出出序顺序。2. 设计过程 (1) 概要设计利用单项循环链表存储结构模拟此过程1、 循环链表的抽象数据类型 循环链表是单链表的一种变化形式,把单链表的最后一个节点的next指针指向第一个节点,整个链表就形成了一个环。2、 循环链表的基本操作 CreatJoseph(n) 构造一个长度为n的无头节点的循环链表,并返回指向最后一个节点的指针 DestoryJoseph() 从s中删除约舍夫问题中下一个被删除的元素,并将此元素显示在屏幕上(2)程序流程图 开始开始返回结束 图8创建循环单链表 图9删除第m个节点 构造一个长度为n的无头节点的循环单链表,并返回指向最后一个节点的指针。 从s中删除约

14、瑟夫问题中上限值为m元素,并将此元素显示在屏幕上。3. 调试过程及实验结果(1)、调试过程中出现过如下问题: 1、 编译时正确,执行时打不开文件 2 、对开辟的节点用完后没有释放 3、 开始编程序时没考虑输入错误的问题,导致程序出错(2)、实验结果图10 输入总人数及每个人密码界面2、出列顺序图11出列顺序界面4. 结论 通过本次软件实习,不仅加深了对以前所学知识的认识,而且我学到很多书本上未曾涉及的知识点,在实习时发现了很多问题,这些问题都是我们最常见的也是经常犯的。经过从书本及利用互联网资源和老师的帮助,终于完成了本次试验任务,基本达到实习要求,可以实现输出约瑟夫环中所有的人员,这次实习对

15、自己的编程及调试程序的能力有很大的帮助。5. 程序清单#include #include#include typedef struct node int data; int number; struct node *next; Node,*LinkList; LinkList CreateJoseph(int n) int i; Node *p,*s; LinkList L=NULL; for(i=1;idata); s-number=i; if(i=1) L=s; p=s; else p-next=s; p=s; p-next=L; return L; void DestoryJoseph(

16、LinkList L,int m) int j=1; Node *p,*q; printf(序列是:); p=L; while(p-next!=p) while(j!=m-1) p=p-next; j+; q=p-next; p-next=p-next-next; printf(%d,q-number); m=q-data; free(q); j=0; printf(%d,p-number); free(p); getchar(); void main() int n,m; LinkList L; printf( 约瑟夫环的总人数 :); scanf(%d,&n); L=CreateJosep

17、h(n); printf( 初始上限值 m:); scanf(%d,&m); DestoryJoseph(L,m); 参考文献1曹丙霞,赵艳华.Protel 99 SE原理图与PCB设计.北京:电子工业出版社,2007.5第25、35、37、38、66、78、104、163、171、237、239、263、283、405、425、433、435、439、477、485页.2邢增平编著.Protel 99 SE设计专家指导.北京:中国铁道出版社,2004.2第92、94、125等页.3李东生,张勇,许四毛编著.Protel 99 SE电路设计教程.北京:北京工业出版社,2007.1第352、353、355页.4刘坤,高征红,晁阳编著,Protel 99 SE电路设计实例教程.北京:清华大学出版社,2008.5 第55、89、271页5程露,郑毅,向先波编著,Protel 99 SE多层电路板设计与制作.北京:人民邮电出版社,2007.4 第33、79页.6刘彦明编著,计算机软件技术基础教程.西安:西安电子科技大学出版社,2008.3第108页7谭浩强著,C程序设计(第三版),北京:清华大学出版社,2005第115、377页

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号