protel软件实习报告.docx

上传人:b****0 文档编号:17004966 上传时间:2023-07-21 格式:DOCX 页数:20 大小:213.32KB
下载 相关 举报
protel软件实习报告.docx_第1页
第1页 / 共20页
protel软件实习报告.docx_第2页
第2页 / 共20页
protel软件实习报告.docx_第3页
第3页 / 共20页
protel软件实习报告.docx_第4页
第4页 / 共20页
protel软件实习报告.docx_第5页
第5页 / 共20页
protel软件实习报告.docx_第6页
第6页 / 共20页
protel软件实习报告.docx_第7页
第7页 / 共20页
protel软件实习报告.docx_第8页
第8页 / 共20页
protel软件实习报告.docx_第9页
第9页 / 共20页
protel软件实习报告.docx_第10页
第10页 / 共20页
protel软件实习报告.docx_第11页
第11页 / 共20页
protel软件实习报告.docx_第12页
第12页 / 共20页
protel软件实习报告.docx_第13页
第13页 / 共20页
protel软件实习报告.docx_第14页
第14页 / 共20页
protel软件实习报告.docx_第15页
第15页 / 共20页
protel软件实习报告.docx_第16页
第16页 / 共20页
protel软件实习报告.docx_第17页
第17页 / 共20页
protel软件实习报告.docx_第18页
第18页 / 共20页
protel软件实习报告.docx_第19页
第19页 / 共20页
protel软件实习报告.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

protel软件实习报告.docx

《protel软件实习报告.docx》由会员分享,可在线阅读,更多相关《protel软件实习报告.docx(20页珍藏版)》请在冰点文库上搜索。

protel软件实习报告.docx

protel软件实习报告

电子设计应用软件训练总结报告

电子设计应用软件训练任务

【训练任务】

(一)PROTEL部份

一、熟练把握PROTEL软件的利用;

二、按要求绘制电路原理图;

3、能够按要求成立元件库和封装库;

4、按要求依照电路原理图绘制PCB版图(能够用自动布线和手动布线相结合)。

(二)软件设计部份

依照给定的软件设计任务完成相应的软件设计

【大体要求及说明】

(一)PROTEL部份

一、电路原理图图纸尺寸设置为A4;

二、电路原理图见附图;

3、按指定电路图在PROTEL99中绘制原理图;

4、依照原理图绘制印制板图;

五、依照要求创建原理图器件和该器件的相应的封装。

(二)软件设计部份

按软件设计要求实现相应的功能

【依照要求撰写总结报告】

 

指导教师年月日

负责教师年月日

学生签字年月日

成绩评定表

评语、建议或需要说明的问题:

 

指导教师签字:

日期:

成绩

 

PROTEL训练任务

软件设计任务

约瑟夫(Joseph)问题

[问题描述]约瑟夫(Joseph)问题的一种描述是:

编号为1,2,,...,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。

一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。

报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始从头从l报数,如此下去,直至所有人全数出列为止。

试设计一个程序求出出列顺序。

[大体要求]利用单向循环链表存储结构模拟此进程,依照出列的顺序印出各人的编号。

[实现提示]程序运行后,第一要求用户指定初始报数上限值,然后读取各人的密码。

设n≤30。

此题所用的循环链表中不需要“头结点”,请注意空表和非空表的界限。

 

(一)PROTEL部份

1.任务说明

一、熟练把握PROTEL软件的利用;

二、按要求绘制电路原理图;

3、能够按要求成立元件库和封装库;

4、按要求依照电路原理图绘制PCB版图

2.原理图绘制说明

原理图设计最大体的要求是正确性,第二是布局合理,最后是在正确性和布局合理的前提下力求美观。

依照以上所述的电路原理图设计步骤,电路原理图设计进程如下:

(1)启动原理图设计效劳器

进入Protel99SE,创建一个数据库,执行菜单File/New命令,从框当选择SchematicDocument图标,双击该图标,成立原理图设计文档。

双击文档图标,进入原理图设计效劳器界面。

图1新建文件窗口示用意

(2)设置原理图设计环境

执行菜单Design/Options,设置图纸大小为A4纸。

图2纸张设置窗口

(3)装入所需的元件库

在设计治理器当选择BrowseSch页面,在Browse区域中的下拉框当选择Library,然后单击Add/Remove按钮,在弹出的窗口中寻觅Protel99SE子目录,在该目录当选择Library\Sch途径,在元件库列表当选择所需的元件库,单击Add按钮,即可把元件库增加到元件库治理器中。

(4)放置元件

依如实际电路的需要,到元件库中找出所需的元件,假设找不到,能够点击Edit按键制作一个新元器件,然后用元件治理器的Place按钮将元件放置在工作平面上,再依照任务原理图把元件调整好。

(5)原理图布线

利用Protel99SE提供的各类工具、指令进行布线,将工作平面上的器件用具有电气意义的导线、符号连接起来,组成一个完整的电路原理图。

见附录I(6)元器件位置调整和编辑元器件属性

利用Protel提供的功能对原理图做进一步的修改,同时对元件编号及封装号进行概念。

(7)新建元件库

BillofMaterialforBACKUP~

UsedPartTypeDesignatorFootprint

1.ICIC1IC1

11KR10805

11μC10805

1100pFC20805

1NE555PU1DIP8

1VPULSEV1123

(8)元器件检测

利用Protel99SE提供的电气法那么检测,执行Tool/REC命令,假设有错误,那么进行修改。

(9)生成网络表

网络表是电路原理图或印制电路板元器件连接关系的文本文件,是原理图设计和PCB设计的接口网络表能够由原理图生成,执行Design/CreateNetlist能够生成具有元件名、元件封装、参数及元件之间连接关系的网络表。

[

C1

0805

]

[

C2

0805

100pF

]

[

IC1

IC1

.IC

]

[

R1

0805

1K

]

[

U1

DIP8

NE555P

]

[

U1

DIP-40

IC1

]

[

V1

123

VPULSE

]

GND

U1-1

NetC2_1

C2-1

U1-5

NetC2_2

C1-2

C2-2

U1-1

U1-3

V1-2

NetU1_4

R1-2

U1-4

U1-8

NetU1_6

C1-1

IC1-

R1-1

U1-6

U1-7

NetV1_1

U1-2

V1-1

VCC

U1-21

3.印制板图说明

Protel99SE提供了完整的电路板设计环境,使得设计电路版加倍方便高效,应用该软件设计的电路板进程如下:

(1)启动电路板设计效劳器

执行菜单File/New命令,从框当选择PCBDocument图标,双击该图标,成立PCB设计文档。

双击文档图标,进入PCB设计效劳器界面。

图3PCB设计效劳器

(2)装入元件封装库

执行菜单命令Design/Add/RemoveLibrary,在“Add/Remove”对话框当选取所有元件所对应的元件封装库,例如:

PCBFootprint,InternationalRectifiers等。

(3)成立元件封装库

图4自制NE555P封装图

图5IC1信号源的封装

(4)装入网络表

执行菜单Design/LoadNets命令,然后在弹出的窗口中单击Browse按钮,再在弹出的窗口当选择电路原理图设计生成的网络表文件(扩展名为Net),若是没有错误执行Excute命令符,假设有,那么修改错误。

(5)元器件布局

能够采纳自动布局和手动布局相结合的方式,执行菜单命令Tools/AutoPlacement/AutoPlacer能够自动布局。

(6)自动布线

执行菜单命令AutoRouting/All,并在弹出的窗口中单击Routeall按钮,程序即对印刷电路板进行自动布线。

只要参数,元件布局合理,自动布线的成功率几乎是100%

(7)手动布线

关于自动布线不太中意的地址能够采取手动布线的方式,如此能够是电路板设计的加倍合理。

(8)设计的PCB版图。

见附录II

4.对所绘制电路进行简要分析

利用互联网资源,了解到NE555P具有波形转换功能,结合外围电路,分析知,此电路的功能是实现矩形波——三角波转换。

5.体会及合理化建议

持续一个礼拜的实习专门快就终止了,尽管时刻很短可是收成很多。

第一,通过在实习期间查阅大量资料后,我熟悉protel99SE的大体操作,把握了用protel99SE绘制原理图及制作PCB图的方式。

尽管短短一个学时的理论学习关于咱们这些初学者要全面把握protel99SE的理论知识和实践知识是相当难的。

可是,通过课后查阅文献并上机模拟后,对protel99SE的操作界面及操作方式有了深刻地了解。

在protel99SE的开始不久后,自己便对那个软件产生了浓厚的爱好。

同时感觉即便有很强理论知识,真正在实践时仍是会碰到很多困难,乃至无从下手。

本次实习最大的收成是学会如何绘制元件库和封装库。

因此这次实习的重点是要学会自己画元件库和封装库。

实习进程中,碰到很多问题在电器检查时,开始有很多错误,是由于引脚或元器件没标注好的缘故。

封装进程中,有的元件需要自己手工绘制,关于自制的封装元件库仍是会显现由于名称不对而无法封装的情形,制作PCB要以元件实物的型号和大小为依据,由于元件种类繁多,因此要具体情形具体来制作PCB封装,PCB封装尺寸的大小更注重在管脚的距离上,管脚距离的大小决定了实物元件可否装在PCB板上,要从原理图生成PCB就要保证每一个元件都有对应的封装,大小要对应,符号也要对应。

由于咱们那个专业需要动手能力强的专业人员,因此,很希望能够多有几回如此的实习机遇,同时自己也会课后增加这些方面的培育,增强动手能力,以更好的和社会接轨。

 

附录I

图6电路原理图

 

附录II

图7PCB版图

 

(二)软件设计部份

1.题目分析

程序运行后,第一指定初始报数上限值,然后读取各人的密码。

输入数据:

成立输入数据函数,输入m的初值,输入每一个人的密码,成立单循环链表。

输出形式:

成立一个输出函数,输出出序顺序。

2.设计进程

(1)概要设计

利用单项循环链表存储结构模拟此进程

一、循环链表的抽象数据类型

循环链表是单链表的一种转变形式,把单链表的最后一个节点的next指针指向第一个节点,整个链表就形成了一个环。

二、循环链表的大体操作

CreatJoseph(n)

构造一个长度为n的无头节点的循环链表,并返回指向最后一个节点的指针

DestoryJoseph()

从s中删除约舍夫问题中下一个被删除的元素,并将此元素显示在屏幕上

(2)程序流程图

开始

开始

返回

结束

图8创建循环单链表图9删除第m个节点

①构造一个长度为n的无头节点的循环单链表,并返回指向最后一个节点的指针。

②从s中删除约瑟夫问题中上限值为m元素,并将此元素显示在屏幕上。

3.调试进程及实验结果

(1)、调试进程中显现过如下问题:

一、编译时正确,执行时打不开文件

2、对开辟的节点用完后没有释放

3、开始编程序时没考虑输入错误的问题,致使程序犯错

(2)、实验结果

图10输入总人数及每一个人密码界面

二、出列顺序

图11出列顺序界面

4.结论

通过本次软件实习,不仅加深了对以前所学知识的熟悉,而且我学到很多书本上不曾涉及的知识点,在实习时发觉了很多问题,这些问题都是咱们最多见的也是常常犯的。

通过从书本及利用互联网资源和教师的帮忙,终于完成了本次实验任务,大体达到实习要求,能够实现输出约瑟夫环中所有的人员,这次实习对自己的编程及调试程序的能力有专门大的帮忙。

5.程序清单

#include<>

#include<>

#include<>

typedefstructnode

{

intdata;

intnumber;

structnode*next;

}Node,*LinkList;

LinkListCreateJoseph(intn)

{

inti;

Node*p,*s;

LinkListL=NULL;

for(i=1;i<=n;i++)

{

s=(Node*)malloc(sizeof(Node));

printf("\n请输入密码:

",i);

scanf("%d",&(s->data));

s->number=i;

if(i==1)

{L=s;

p=s;

}

else

{

p->next=s;

p=s;

}

}

p->next=L;

returnL;

}

voidDestoryJoseph(LinkListL,intm)

{

intj=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();

}

voidmain()

{

intn,m;

LinkListL;

printf("约瑟夫环的总人数:

");

scanf("%d",&n);

L=CreateJoseph(n);

printf("初始上限值m:

");

scanf("%d",&m);

DestoryJoseph(L,m);

}

 

参考文献

[1]曹丙霞,赵艳华.Protel99SE原理图与PCB设计.北京:

电子工业出版社,

第2五、3五、37、3八、6六、7八、104、163、17一、237、23九、263、283、40五、42五、433、43五、43九、477、485页.

[2]邢增平编著.Protel99SE设计专家指导.北京:

中国铁道出版社,

第9二、94、125等页.

[3]李东生,张勇,许四毛编著.Protel99SE电路设计教程.北京:

北京工业出版社,

第35二、353、355页.

[4]刘坤,高征红,晁阳编著,Protel99SE电路设计实例教程.北京:

清华大学出版社,第5五、8九、271页

[5]程露,郑毅,向先波编著,Protel99SE多层电路板设计与制作.北京:

人民邮电出版社,第33、79页.

[6]刘彦明编著,运算机软件技术基础教程.西安:

西安电子科技大学出版社,

第108页

[7]谭浩强著,C程序设计(第三版),北京:

清华大学出版社,2005

第11五、377页

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

当前位置:首页 > 医药卫生 > 基础医学

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

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