protel软件实习报告.docx
- 文档编号:29212314
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:20
- 大小:213.32KB
protel软件实习报告.docx
《protel软件实习报告.docx》由会员分享,可在线阅读,更多相关《protel软件实习报告.docx(20页珍藏版)》请在冰豆网上搜索。
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
1μ
]
[
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页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- protel 软件 实习 报告