Proteus专业应用软件训练总结报告(合集)

时间:2019-05-13 16:36:45下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Proteus专业应用软件训练总结报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Proteus专业应用软件训练总结报告》。

第一篇:Proteus专业应用软件训练总结报告

皖 西 学 院

Proteus专业应用软件训练总结报告

学生姓名:

系、专业:机电系 电气工程及其自动化

班级学号:电气1203班

指导教师:

训练时间:2014年10月09日至 2014年11月13日

Proteus专业应用软件训练

实验一:实验二:单片机实验三:单片机汇编程序在实验四:实验五:基于

Proteus的基本操作与原理图绘制

C语言程序在Proteus中的仿真 Proteus中的仿真 Keil与Proteus C语言程序的联机调试Proteus的PCB线路板的绘制 2

实验一:Proteus的基本操作与原理图绘制

一.实验目的

1、安装Protesu软件;

2、熟练掌握Protesu软件的使用;

3、按照设计要求绘制电路原理图;

4、能够按要求对所设计的电路进行仿真; 二.Proteus软件的使用

1.了解Protuser软件的本性能,如图所示

三.认识Proteus软件窗口

图1ISIS窗口

四.Proteus元件库简介

图2

五.Proteus软件基本操作

1.建立和保存文件;

2.放置对象:单击鼠标左键(简称单击),放置元器件、连线;

3.选中对象:单击鼠标右键(简称右击),选择元器件、连线和其他对象,此时选中的操作对象以高亮红色(默认色)显示;

4.删除对象:双击鼠标右键(简称右双击),删除元器件、连线等; 5.块选择:按住鼠标右键拖出方框,选中方框中的多个元器件及其连线; 6.编辑对象:先单击鼠标右键后单击鼠标左键(简称先右后左击),编辑元器件属性;

7.移动对象:先右击选中对象(简称选中),按住鼠标左键移动,拖动元器件、连线;

8.缩放对象:按住鼠标中键滚动,以鼠标停留点为中心,缩放电路; 9.电路图布线:(1)自动捕捉:在自动捕捉有效的情况下,当光标靠近引脚末端或线时该处会自动感应出现一个“□”(光标成笔状),表示从此点可以单击画 5

线。

(2)自动布线:在开始引脚点击选定第一个画线点后,随指针移动自动有预画线(可以是直角预画线)出现,当遇到障碍时,会自动绕开障碍;在结束引脚点击布好两引脚连线。

(3)手工调整线形:要进行手工直角画线,直接在移动鼠标的过程中单击即可。若要手工任意角度画线,在移动鼠标的过程中按住Ctrl键,移动指针,预画线自动随指针呈任意角度,确定后单击即可。

(4)移动画线:选中要改变的画线(红色),指针靠近画线,出现“双箭头或十字箭头(拐点处)”捕捉标志。若是双箭头捕捉标志,按左键拖动鼠标,可沿箭头方向托动画该线;若是十字箭头捕捉标志,可沿任意角度拖动画线。

10.设置、修改元器件的属性:右击放置在ISIS编辑区中的该元器件(显示高亮度)后,再单击它打开其属性窗口,这时可在属性窗口中设置、修改它的属性。

六.绘制原理图

按电路原理图绘制原理图:根据元件对照表选择相应的元器件。先通过放置、移动、旋转元器件操作,将各元器件放置在ISIS编辑区中的合适位置,然后根据给定的原理图给电路图布线,接着设置、修改元器件的属性,最后检查无误后,完成原理图的绘制。

七.Proteus仿真

演示结果:

实验二:单片机汇编程序在Proteus中仿真

一.实验目的

本节Proteus专业应用软件训练课的主要内容是单片机(AT89C51)汇编程序在Proteus中的仿真。

二.绘制原理图

打开Proteus 7 Professional(运行ISIS 7 Professional),添加所需元件并连接电路图。绘制的电路原理图,如图所示:

电路图绘制完成之后保存该原理图。注意要新建一个文件夹,用于存放该文件以及此次仿真实验所需的源程序(*.ASM),即把文件存放在同一个目录下。

三.进行仿真实验

以上操作完成后,便可进行仿真实验。单击ISIS 7 Professional窗口中左下角的“”图标开始仿真,单击“

”图标停止仿真。右键单击示波器,选择“Digital Oscilloscope”观察仿真结果。仿真结果如图所示:

实验三:单片机C语言程序在Proteus中的仿真

一.实验目的

本节Proteus专业应用软件训练课的主要内容是单片机(AT89C51)C语言程序在Proteus中的仿真。在Keil µVision3 开发环境下进行,编写源程序(*.C),然后把源程序进行编译和链接,生成十六进制文件(*.HEX),最后把生成十六进制文件用某种编程工具下载到单片机的程序存储器中,进而在Proteus中进行仿真。

二.安装Keil μVision3 Keil µVision3 是一款基于Windows的软件平台,它是一种用于51单片机的集成开发环境(IDE—Intergrated Development Evironment)。Keil µVision3内包 9

含了功能强大的编辑器和调试器。编辑器可以像一般的文本编辑器一样对源代码进行编辑,并允许用户在编辑时设置程序断点(可在源代码未经编译和汇编之前)。用户启动µVision3的调试器之后,断点即被激活。

按照安装说明安装Keil µVision3。启动后,显示如图所示:

三.在Keil μVision3环境下编写源程序(*.C),然后把源程序进行编译和链接,生成十六进制文件(*.HEX)

(1)建立工程。首先要建立一个项目,在编辑界面,从“P工程(Project)”下拉菜单中,选择“N新建工程(New Project)”,在弹出的对话框中的“文件名”后输入一个程序项目名称,保存后的文件扩展名为“.uv2”,这是Keil µVision3项目文件的扩展名,以后可直接点击此文件就可打开先前做的项目。选择合适的路径,然后输入工程的名称,并保存。

(2)选择单片机型号。用户可根据所使用的单片机来选择。Keil µVision3支持几乎所有的51内核的单片机。(例如选择“Atmel”)单击Atmel左边的“+”,然后选择相应的单片机型号,例如选择AT89C51。单击“确定”。

(3)编写源程序。从“F文件(File)”下拉菜单中,选择“新建(New)”,此时光标在编辑窗口里闪烁,这时,用户就可以编写程序了。源程序如图所示:

可以在文本编辑区中输入代码。输入完成后,从“F文件(File)”下拉菜单中,选择“S保存(Save)”。在“文件名”栏的编辑框中,键入文件名,同时,必须键入正确的扩展名(为“.c”)。

(4)源程序加入工程。从“Project Workspace”区中,右键单击“Source Group1”。在弹出的菜单中选择“Add File to group “Source Group1”,显示结果如图所示:

再选择建立的源程序,然后单击“Add”按钮,即可把源程序加入到工程中。

(5)存储模式的选择及输出文件类型的选择。从“Project Workspace”区中,右键单击“Target1”,选择“Options for Target ‘Target 1’”,显示如图所示:

在弹出的窗口中选择存储模式,C51编译器支持三种存储模式:SMALL模式、COMPACT模式和LARGE模式。不同的存储模式对变量默认的存储器类型不一样。再选择“输出(Output)”,选择“创建HEX文件(Create HEX File)”单选框,这样在编译项目 12

后,就可以生成十六进制文件,单击“确定”。

(6)编译工程。单击工具栏中的“Translate current file”、“Build target ”和“Rebuild all target files”后,在所建的工程文件夹中,生成十六进制文件(*.HEX)。把十六进制文件用某种工具软件下载到单片机的程序存储器中,上电后程序即可运行。

在编译过程中,如果发现有错误,需要修改程序。

四.绘制原理图,并给AT89C51单片机添加十六进制文件(*.HEX)进行仿真

绘制电路原理图,如图所示:

然后单击ISIS 7 Professional窗口中的“Source”,在下拉菜单中选择“Add/Remove Source files...”,给AT89C51单片机添加十六进制文件(*.HEX)。

以上操作完成后,便可进行仿真实验。单击ISIS 7 Professional窗口中左下角的“”图标开始仿真,单击“

”图标停止仿真。右键单击示波器,选择“Digital Oscilloscope”观察仿真结果。

实验四:Keil与Proteus C语言程序的联机

调试

一.实验目的

本节Proteus专业应用软件训练课的主要内容是对keil集成开发环境和Proteus仿真软件更深入的使用,完成两个软件的联机调试,为以后学习打好基础。

二.Proteus与Keil联机调试

Proteus和Keil的破解安装包网上到处都是,Keil μVision3和Proteus6以上的版本都行。

Proteus与Keil联调原理:分别在keil软件和Proteus软件中进行一些设置,两个软件便可以进行对同一个程序的联机调试。Proteus与Keil联调方法如下:

(1)安装 Proteus软件(2)安装keil C51 uVision3。

(3)安装keil驱动。

(4)修改keil安装目录下Tools.ini 文件。用记事本打开Keil根目录下的TOOLS.INI 文件,在[C51] 栏目下加入TDRV3=BINVDM51.DLL(“Proteus VSM Monitor-51 Driver”),(5)打开proteus,画出相应电路图,在proteus的debug菜单中选中use remote debug monitor。在keil中编写MCU的程序。进入KEIL的project 菜单option for target '工程名'。在DEBUG选项中右栏上部的下拉菜选中Proteus VSM Monitor-51 Driver。在进入seting,如果是在同一台电脑上IP名为127.0.0.1,如不是同一台则填另一台的IP地址。端口号一定为8000。

下面以一个具体例子来详细讲解 Proteus与Keil联调方法:

(1)打开keil软件,新建工程。将工程命名为Zhaoqiqi,然后保存在新建的工程文件夹LianTiao中。

(2)选择CPU型号,我们这里选择Atmel公司的AT89C51。

(3)新建文本文,用来编写源程序。本例中的源程序同项目二中的源程序一样,如图2.2所示。编写完成后将文件命名为“Zhaoqiqi”,然后保存在新建的工程文件夹LianTiao中。(注:该文件后缀名为.C)

(4)将新建的文件加入工程中。在Source Group 1上点鼠标右键,在弹出的菜单上选择Add Files„选项。在弹出的对话框中选择工程文件夹下刚才新建的“Zhaoqiqi.C”文件。点击Add,再点击Close关闭对话框。

(5)设置工程,让其编译时输出十六进制可执行文件。如图在target 1上点右键选设置。在弹出的对话框中将Create HEX File 选中,按确定退出。

(6)在Proteus中绘制电路原理图。原理图同项目二的原理图一样,如图2.6所示。

(7)在Keil中对源程序进行编译。可以看到编译成功,并生成了hex可执行文件,该文件在工程文件夹下。

(8)在Proteus中的单片机芯片上点鼠标右键,将其选中。选中的器件将变成红色。然后再在上面点鼠标左键,打开设置界面。如图4.1所示,点击Program File后的图标,将生成的HEX可执行文件加入芯片中。

(9)对两个软件进行一些设置。先在proteus的debug菜单中选中use remote debug monitor。然后进入KEIL的project 菜单option for target ‘工程名’。在DEBUG选项中右栏上部的下拉菜选中Proteus VSM Monitor-51 Driver。再进入seting,如果是在同一台电脑上IP名为127.0.0.1,如不是同一台则填另一台的IP地址。端口号一定为8000。

(10)进行联机调试。在Keil中单击“Start/Stop Debug Session”,即标。显示如图所示:

图 16

再选择Zhaoqiqi源程序界面,按下单步执行按键,即

图标。出现黄色箭头指向源程序的主函数的第一行,然后逐步按下单步执行按键,逐步执行各语句。Keil每调试一次,Proteus就play一次,再次按

图标,停止调试。演示结果如图所示:

至此,Keil与Proteus C语言程序的联机调试完成。

实验五:基于Proteus的PCB线路板的绘制

一.实验目的

本节专业应用软件训练课的主要内容是学习利用Proteus软件绘制PCB线路板。

二.Proteus绘制PCB线路板

用Proteus制作PCB线路板通常包括以下一些步骤:

(1)绘制电路原理图并仿真调试。打开Proteus 7 Professional(运行ISIS 7 Professional),添加所需元件并连接电路图。三.原理图的绘制

并结合Keil 进行软件编程和硬件的仿真调试,调试成功后,便可开始制作PCB。在此不再赘述调试过程。

(2)加载网络表及元件封装。在ISIS 7 Professional界面中单击“Netlist Transfer To ARES”,即

图标。可以看到,在中左下角的元器件选择窗口中列出了从原理图加载过来的所有元器件。若原理图中的某些器件没有自动加载封装或者封装库中没有合适的封装,那么在加载网络表时就会弹出一个要求选择封装的对话框,这时就需要根据具体的元件及其封装进行手动选择并加载。对于封装库中没有的封装或者是与实际的元件不符的封装,就需要自己画。选中封装,在Library选项中左键单击图标,出现保存对话框,在New Package Name中键入要保存的元 18

件封装名称;在Package Category(保存范畴)中选中Miscellaneous;在Package Type(封装类型)中选中Through Hole;在Package Sub-Category(保存子范畴)中选中Switches;单击OK,就把按钮封装保存到了USERPKG(用户自建封装库)库中。再重新加载网络表格,就把所有原件加载到了PCB板中。(3)规划电路板并设置相关参数。

(4)元件布局及调整。电路板的规则设计好以后,就可导入元件并布局。布局有自动布局和手动布局两种方式。若采用自动布局方式,只要在界面的菜单栏Tools中选中项,弹出对话框,单击OK,就自动把元件布局于PCB板中了。而如果采用手动布局的方式,则在左下角的元件选择窗口中选中元件,在PCB板边框中适当位置单击左键,就可以把元件放入。但是无论是自动布局还是手动布局,都需要对元件进行调整。主要是对元件的移动和翻转等操作

(5)布线并调整。PCB的布线也是有自动布线和手动布线两种布线方式。一般,是先用自动布线,然后手工修改,也可以直接手工布线。PCB元件布置完成如图所示:

3D效果图如下

总结体会

这学期学校为我们安排了proteus实验,Proteus软件实验课我们只上了五次的课,通过这五次课程的学习,我学会了简单的使用Proteus软件。还有原理图的绘制,在学习原理图绘制的过程中,我有更加的了解了Proteus软件的使用Proteus软件它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。在经过5周课的学习后,我们对proteus软件有了一个初步的认识。因为实验时间比较短,所以我们学的很认真,但是仍然有一些地方我们会遇见困难,这时候翁老师就会给我们耐心的讲解,帮助我们实验,让我们对proteus认识更加深刻。

Proteus不仅在电路仿真上有其强大的地方,在电路设计上更是有其强大之处。首先在电路仿真上他可以对我们所画电路仿真并且找出其错误的地方,让我们知其然,知其所以然。然后在设计上可以与kill软件联调,原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计;打打提高了效率。

通过学习proteus,我更加明白了知识的重要性。在以后的工作学习中,我相信它一定会带给我很多帮助!

这个软件实验课跟我们专业很相近,在我们以后的工作中也很重要,所以在课后我们也要好好学习使用这个软件。学习这个软件的使用,就是要自己多多练习,还要用心,当然不管做什么,我们都要用心。这次的实验课,让我获益匪浅。最后再次感谢翁老师对我们的耐心指导!

2014年11月18号

参考文献

[1]张毅刚,刘杰.MCS-51单片机原理及应用.[M]哈尔滨工艺大学出版社,2004年.[2]周润景,张丽娜.基于PROTUSE的电路及单片机系统设计与仿真.[M]北京航空航天大学出版社,2006年

[3]林志琦,郎建军,李会杰,佟大鹏.基于PROTUSE的单片机可视化软硬件仿真.[M]北京航空航天大学出版社,2006年

[4]周润景,袁伟亭.基于PROTUSE的ARM虚拟开发技术.[M] 北京航空航天大学出版设,2007年。

[5]张靖武,周灵杉.单片机系统的PROTUSE设计与仿真.[M]电子工业出版社,2007年。

[6] 张伟.单片机原理及应用,[M]北京:机械工业出版社,2005年3月.[7] 薛栋梁.单片机原理及应用,[M]北京:中国水利水电出版社.2001年

第二篇:电子设计应用软件训练总结报告要求

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

一、主要内容

1.任务说明

2.原理图绘制说明

3.流程图绘制以及说明

4.proteus仿真说明 5.体会及合理化建议 附录I 电路原理图 参考文献

报告引述的参考文献一律列在文章末尾,应分别依次标出,参考文献不应少于5个。[期刊文献]格式:

作者.论文名:[J]刊物名称, 年.月,卷(期),论文在期刊中的页码。[图书文献] 格式:

作者.书名.版本(版本为第一版时省略),[M]出版地:出版社,出版年.引用内容所在书中的页码。

二、打印格式

在新建的word文档中设置页面,A4纸张,左页边距设为3.0cm,其它页边距为2.5cm;其它均为默认值。页眉为电子设计应用软件训练总结报告。

题目(居中)用二号粗楷体,小标题用四号粗宋体(小标题段前设0.5行间距),正文用小四号宋体,1.5倍行距。文中的电路图要按出现的先后次序标出图号(图号、图名及图中文字用五号宋体字)。

总结报告不少于5页(A4纸)。

三、装订要求

按封面(见附I)、任务书、总结报告的次序左侧装订。

附1:

课设封面格式及要求

(以上为宋体小四号字空四行)

沈 阳 航 空 航 天 大 学(隶书一号字居中)

电子设计应用软件训练总结报告(隶书二号字居中)

(以下为宋体加粗三号字)

学生姓名: 系、专业: 班级学号: 指导教师:

训练时间:2011年 7月16日至 2011年7月23日

第三篇:电子线路应用软件训练总结报告潘昊

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

PROTEL部分

一、任务说明

1、熟练掌握Protel 99SE软件的使用;

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

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

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

5、依据所给的电路图画出原理图和封装,并作报告说明;

6、电路图用A4纸张打印。

二、原理图绘制

在建立的工程中建立一个原理图文件,绘制原理图,包括设置电路图纸、放置元器件、调整元器件的布局、放置导线和添加注释等步骤,做出注释说明。

1、新建一个设计数据库文件和原理图文件,并打开原理图设计编辑器。新建原理图文件步骤:

(1)、打开文件->新建设计,命名为:mydesign潘昊.ddb文件,在新建立的设计中点新建文件,弹出以下对话框。

(2)、单击设计导航中的Document项,并执行文件-> 新建命令打开New Document对话框。

(3)、双击New Document对话框 Document 选项卡中的Schematic Document图标,此时Protel将新建一个后缀名为.Sch的原理图文件,自动命名为sheet1.sch。(如图1所示)

图1 新建原理图文件

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

(4)双击新建的原理图文件,进入绘图编辑界面,进行绘图操作。(如图2所示)

图2 原理图设计编辑器

2、新建元件库:对protel自带的元件

库中找不到所需元件时候,需要自己画出元件图,建立自己的库文件。

(1)、在document文档中,点击新建,建立后缀为Lib库的文件,命名为mylib.Lib,双击打开后,在其中建立自己的元件库。注意几点:

1、开始时候,在工具栏中点击新建元件或者元件重命名,删除等操作进行操作

2、画元件的时候,管脚编号可从一开始设计为1,以后依次自动自加;

3、画完每个后保存,再建立下一个。

(2)、AT-89C51单片机的的库文件建立:

图3 AT89-C51(3)、MAX232的库文件建立:

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

图4 MAX232(4)、MAX485的库文件建立:

图5 MAX485(5)、RS485的库文件建立:

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

图6 RS485

3、绘制原理图:准备完元件后开始进行绘图,按照题目,依次连接元件,形成完整的原理图,其中,交叉线路多的地方尽量用网络标号,较为方便。

(1)点击原理图管理器“浏览窗口”标签切换到原理图管理器。

(2)点击“浏览”下的下拉式l列表框,并从列表框中选择“库”项。

(3)在元件库中选择电路所需的元件,单击“放置”按钮,单击鼠标左键放置元(4)器件,鼠标右键取消放置元器件的状态。(5)过程中,双击元器件,可以改变其参数。

单击画导线工具,将光标移到管脚处,单击鼠标左键进行连线。连接好整个电路图。

三、PCB板的绘制

画完原理图后,进行一刷版的绘制,首先,在原理图中双击元件,在元件封装footprint栏中填入元件对应的封装,如图:(在51单片机栏中填入DIP40)。

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

图7 填写封装

在此之前需切换在PCB板中,在元件封装库中找到每个元件对应的封装,记住其名字。如果库中没有,需要自己建立,画出其封装形式。

1、制作元件封装,在封装库中没有找到的封装自己画制,保存,然后在元件封装库中添加进去自己建的库,再在原理图中元件封装的位置填入自己命名的封装名字即可。(1)、建库,同上面建立元件原理图时建立库的流程一样,建立一个后缀为LIB的文件,命名为mypcblib.LIB文件,双击进入,进行编辑。

(2)、确定引脚尺寸:点击工具菜单下的placedimesion,放置焊盘距离为自己测量或从器件资料中查得的量值。

(3)、画封装边框:在topoverlay层中画黄色的边界线,与原件实物焊口一样。如图:

图8 晶振封装

四、ERC电器检查

在画好的原理图中,有些地方可能是有没有接好的,因此画完的时必须用电器检查功能查看是否有不对的地方,以便及时的改正过来。Protel自带的检查功能在工具菜单下第一个位置上,点击后会生成检查报告,如果没有错误,就可以进行下一步工作了。以下是报告界面图:

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

图9 电器检查结果

五、生成网络表或更新PCB 点击design菜单下的creat netlist会产生网络表,对原理图中所有元件的信息以及彼此间的连接关系列出了表,可以在PCB界面下的design菜单中导入网络表一项导入元件封装关系,也可以直接在原理图中design菜单选择更新PCB,选择进入PCB编辑界面,网络表见附录。

六、生成元件清单

Protel自带功能还可以导出元件清单,在report菜单下的元件清单栏中操作,形成的报告列出了所有元件的信息,包括封装等各种参数,以便以后参阅或者购买元器件时对照。有三种形式的,根据我的喜好选择为excel形式的,详细见附录。

七、调整PCB封装图,设计方案,完成布线,形成完整地PCB文件

在keepoutlay层面根据元件参数大致中画一个矩形框,将导入进来的网络封装按照原理图中最合理的位置拖进框中,期间检查有没有漏掉的地方没有接线的,手动把它接上,调整好位置后,根据实际再调整下边框的大小,然后利用工具菜单下的自动布线功能进行布线。就形成了印制电路图,再次检查电路,不对或不合理的地方可以删掉再手动画线调整。最终的PCB布局图见附录。

八、总结体会及建议

通过一周的PROTEL 99SE软件的课设,从完全不懂得状态让我认识并且学会了如何使用PROTEL 99SE软件的应用,知道了印刷电路板的形成流程,加深了我对电子这一专业的兴趣,从而也为以后的发展,奠定了基础,而且让我懂得了做事一定要仔细,不然又要重头再来,虽然很简单,但是精益求精的时候也可以收获许多。

建议:

(1)、希望实验室能全天开放,这样可以让我们的时间适用的更好。

(2)、希望指导老师能来实验室时间长一点,这样可以使我们学生和老师交流的时间也会长,刚好的指导并提升我们的能力。

(3)、希望学院以后所组织一些类似课设的学习形式,增加下难度,曾加下新颖度,使得同学们能够更多的从中学的知识,而不是应付任务。

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

参考文献:

1、《Protel 99SE电路设计》 莫力,北京:国防工业出版社,2005.01

2、刘天旺主编.Protel 99 SE电路设计应用教程.[M]北京:电子工业出版社,2007.8

3、文艳等编著.Protel 99 SE电子电路设计.[M]北京:机械工业出版社,2006.8

4、老虎工作室.Protel 99 SE多层次电路板设计与制作.[M]北京:人民邮电出版社,2007年.2--18页。

5、邵建昂.Protel99教学实践探讨.实验室研究与探索,2007,26(2):100-105.6、韩晓东,李勇江.Protel99SE电路设计实用教程.[M]北京:中国铁道出版社,2007.电子设计应用软件训练总结报告

附录1 原理图

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

附录2 PCB板

附录3 器件清单

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

软件设计部分

一、任务说明

1、链表基本操作 要求:

利用链表的插入运算建立线性链表,然后利用链表的查找、删除、计数、输出等运算反复实现链表的这些操作(插入、删除、查找、计数、输出单独写成函数的形式),并能在屏幕上输出操作前后的结果。

2、实现两个链表的合并 要求:

(1)建立两个链表A和B,链表元素个数分别为m和n个。

(2)假设元素分别为(x1,x2,„xm),和(y1,y2, „yn)。把它们合并成一个线性表C,使得:

当m>=n时,C=x1,y1,x2,y2,„xn,yn,„,xm 当n>m时,C=y1,x1,y2,x2,„ym,xm,„,yn 输出线性表C

二、题目分析

本题目要求建立链表并对链表进行一些常用操作,最后实现两个链表的合并,输出在屏幕上,依据题目,首先建立一个全局变量为链表名,在主函数中调用创建函数创建链表,然后依次进行要求的操作,并在每次操作完后返回到菜单下,可以循环反复操作。最后定义一个合并函数,在其中调用链表的创建函数,建立两个链表A、B,然后实现合并功能,并打印在屏幕上就完成了内容。

三、设计过程简述

经过分析,决定本课题用模块化设计比较简明,因此,依次设计了建立链表函数creat(),删除函数dele(),查找函数find(),计数函数count(),插入函数insert(),显示函数display(),合并函数Union(),一下将依次对各块的功能及优点缺点进行分析解释。

1、主函数

设计的主函数中用了switch语句,同时实现了菜单的功能,对要操作的函数快依次编号,在每次操作完成后将菜单编号置零,从而实现循环操作。

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

图 1 主要程序解释:在输入有效的情况下,当每一个调用结束后,令i=0,对菜单置零,实现循环操作。

2、建立链表函数

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

图 2

creat()函数用了尾插法建立线性链表,其中设立了一个形参L,当建表结束后,打印新的链表在屏幕上并返回L,以便下面的操作中简单调用。主要语句分析: r指向尾链表结尾,每次读入一个不为空的字符赋值给新开辟空间的节点s,并把s赋值给r的下一个节点,r=s实现r后移,直到读到的值为空值,把尾节点定义为空。

3、插入元素函数insert()

该函数实现线性链表的插入运算,从键盘输入要插入元素的值和位置,然后插入到对应的位置,最后显示出新的链表到屏幕。主要语句解释分析:

图 3 变量j表示链表中元素的个数,当键入的i大于j时,输出无法插入。算法很简单,即找到插入位置的前一个节点,然后将要插入的元素插入到其后即可。

4、删除节点函数dele()

删除元素思想是先按值查找,然后直接删除,结束后打印新的链表到屏幕,删除算法和插入算法雷同,不做细述。

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

图 4 此处用了if语句判断是否是链表结尾处,如果是,则直接将其置零。

5、链表元素个数统计函数

count()函数中定义了一个指针q从头找到尾,定义了一个变量k,每次加1,结果就是链表元素个数,返回k。

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

图 5 用while循环来实现。

6、查找元素函数

定义的find()函数,实现按值查找,同时返回元素的位置,打印并返回。

图 7 循环条件判断该节点值是否与键入的值相同。

7、链表合并函数Union()

本次软件设计的核心是实现对两个链表的合并,形成另外一个链表C,打印到屏幕,在函数内部嵌套调用建表函数,建立了两个链表A、B,嵌套调用了链表计数函数,得到链表的长度m、n,用以作为判断条件。

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

图 8 基本思想是用两个中间量节点s、t没次把q、p后的节点暂时存下,待节点q插入到p后时,p、q后移,即把s、t的值再赋给p、q。第一个if语句判断如果A被B长时,q指向A,p指向B。

8、display()函数

设计中独立设计了链表显示函数,方便其他各个模块中调用,减少了编程字段,思路是按顺序打印每个节点的元素值,循环到结尾。

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

图 9

四、调试过程及主要运行结果

图10 建表调试结果

图 11 插入调试结果

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

图 12 删除调试结果

图 13 查找调试结果

图 14 计数调试结果

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

图 15 合并链表调试结果

图 16 打印链表调试结果

五、总结体会

课程设计就此告一段落,但是从课程设计中学到的东西,却受益匪浅。这次的题目是对链表的操作,正好是本学期学的东西,通过课设不仅验证了这学期的学习质量,更加深了对所学数据库、链表等知识的印象,也为日后的学习打下了坚实的基础,而且,也让我认识到了一件事:那就是,只要你静下心来,专注的去做一件事的时候,没有什么是做不到的,年轻就是我们唯一的资本,相信以后如此坚持,一定取得不错的成就。

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

参考文献:

1、陈雪飞《C++实例入门》,中国青年出版社,2004年5月出版

2、谭浩强编,《C++面向对象程序设计》,清华大学出版社,2005年7月出版

3、李师贤等译,《C++精髓》,机械工业出版社,2002年8月出版

4、韩滨 魏海萍,《C++类库使用手册》,电子工业出版社,2007年7月出版

5、陈灿煌,《C++彻底研究》

中国青年出版社,2005年9月出版。

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

六、源程序代码

#include //链表的操作练习#include typedef char datatype;

typedef struct node //链表节点定义 { datatype data;struct node *next;}linklist;linklist *A,*B,*L,*C;

/*函数声明*/ linklist* creat();void display(linklist *L);void insert(linklist *L);void dele(linklist *L);int count(linklist *L);find(linklist*L);void Union(linklist *A,linklist *B);

/*主函数*/ void main(){

int i;linklist *s,*r;char x;printf(“ 请选择需要的操作: n”);printf(“ 1创建链表 n”);printf(“ 2删除元素 n”);printf(“ 3插入元素 n”);printf(“ 4显示链表 n”);printf(“ 5查找元素 n”);printf(“ 6链表元素计数 n”);

printf(“ 7合并链表 n”);

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

printf(“ 8退出 n”);

}

/*建立单链表*/ scanf(“%d”,&i);{

} if(i<1 || i>8)

{

} i=0;//菜单清零 printf(“n”);printf(“请继续选择你的操作n”);printf(“ 1创建链表L n”);printf(“ 2删除元素 n”);printf(“ 3插入元素 n”);printf(“ 4显示链表 n”);printf(“ 5查找元素 n”);printf(“ 6链表元素计数 n”);printf(“ 8退出 n”);scanf(“%d”,&i);case 1: L=creat();break;//创建链表 case 2: dele(L);break;//删除节点 case 4: display(L);break;//显示链表 case 5: find(L);break;//查找节点

case 6: count(L);break;//输出链表元素个数 case 8: exit(0);//退出系统 printf(“输入错误!”);switch(i)else while(1)case 3: insert(L);break;//增加节点

case 7: Union(A,B);break;//合并两个链表

printf(“ 7合并链表 n”);

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

linklist* creat(){

linklist *s,*r;char x;L=(linklist*)malloc(sizeof(linklist));r=L;printf(“输入以'$'为结束符的字符n”);scanf(“%c”,&x);while(x!='$'){

} r->next=NULL;s=(linklist*)malloc(sizeof(linklist));s->data=x;r->next=s;r=s;scanf(“%c”,&x);printf(“新的链表如下:”);display(L);}

/*执行插入运算*/ void insert(linklist *L){

int i=0,j=0;char y;linklist *s,*r,*p;r=L;printf(“输入要插入的数据和位置n”);y=getchar();scanf(“%c %d”, &y,&i);if(i<=0)printf(“errorn”);return(L);

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

else {

} while(r->next!=NULL){

} if(i>j)printf(“errorn”);j++;r=r->next;if(i==j){

} s=(linklist*)malloc(sizeof(linklist));s->data=y;p=r->next;r->next=s;s->next=p;printf(“新的链表如下:”);display(L);}

/*执行删除运算*/ void dele(linklist *L){

int i=0,j=0;char y;linklist *r;r=L;printf(“输入要删除的数据n”);scanf(“%s”,&y);while(r){ j++;

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

} } r=r->next;r=L;while(r){ if(r->next!=NULL){

} else } if(i==j)printf(“没有要删除的数据n”);display(L);r=NULL;//当为尾节点时,尾节点置零 if(y==r->next->data){ r->next=r->next->next;} r=r->next;i++;printf(“新的链表如下:”);

/*链表元素计数*/ int count(linklist *L){

linklist *q;int k=0;while(q->next!=NULL){ k++;} q=L->next;q=q->next;

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

printf(“链表的元素个数如下n”);printf(“%d”, k);return k;}

/*查找元素*/ find(linklist *L){

int a=0;linklist *q;char x;q=L->next;printf(“请输入您要查找的元素n”);scanf(“%s”,&x);while(q->data!=x){ a++;} q=q->next;printf(“您要查找的元素及位置如下:n”);printf(“%c,%d”,q->data,a);return(q->data,a);}

/*合并链表*/ void Union(linklist *A,linklist *B){

int m,n;linklist *C,*p,*q,*s,*t;printf(“****创建链表A,B****n”);printf(“链表 A:n”);m=count(A);A=creat();

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

printf(“n”);printf(“链表 B:n”);B=creat();n=count(B);printf(“n”);p=A;

}

/*执行显示运算*/ void display(linklist *L){ linklist *r;q=B;C=A;if(m

p=B->next;q=A->next;C=B;while(p&&q){ s=p->next;//p节点后下一个节点放到s后 p->next=q;//q节点放到p后面 if(s)

{

} t=q->next;//q后面的节点先放到t后 q->next=s;//重新把p后原有的节点放回来 }

p=s;//p节点后移 q=t;//q节点后移 } printf(“合并后的链表如下”);display(C);

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

r=L->next;while(r){ printf(“%c”,r->data);

r=r->next;} printf(“n”);}

第四篇:计算机应用软件专业

计算机应用软件专业就业前景及介绍

计算机应用软件专业课程设置:

马克思主义哲学原理、高等数学、基础英语、C语言、汇编语言、数据结构、操作系统基础、离散数学基础、数据库原理及应用、微机原理与接口技术、邓小平理论理论、数字电路、线性代数、计算机导论、计算机组织与结构、马克思主义政治经济学基本原理概论、中国近代史纲要、英语

二、物理(工)、离散数学、工程经济、操作系统、软件工程、数据结构、数据库原理、高等数学(工本)、计算机系统结构、计算机网络与通信、面向对象程序设计、概论论与数理统计

(二)、课程设计、毕业设计。

计算机应用软件专业就业方向:

计算机应用专业的学生,通过两年的专业学习和为期近一年的就业实习实训,可以获得各种实用的专业知识和丰富的实际动手能力,毕业后可以在程序设计,应用系统开发,系统维护,网站设计等计算机相关行业就业。我系现已与多家就业机构和使用单位签订“类订单”式的就业协议,学生毕业后经单位考核通过既可以上岗就业,一经录用最低工资即在每月1200元以上。04级的91名学生90%已经提前半年落实了就业单位。

计算机应用软件专业介绍:

计算机产业已渗透到国民经济各个领率域和人民生活的各个方面,是衡量一个国家科技水平和综合国力的重要标志。本专业分计算机应用、网络技术、计算机软件技术、计算机信息管理、计算机软件、计算机控制及应用、人工智能与机器人、计算机通信工程、计算机办公自动化、计算机图形图像、多媒体技术、办公自动化与信息管理等学习方向。培养学生掌握当前计算机最新知识和技能,主要培养具有系统掌握计算机基本理论和基本知识,能熟练运用计算机从事科技信息管理及软件开发,能从事各类图像设计与绘制,有较强的实践能力和自我发展能力以及硬件设备维护工作,符合社会市场经济需求的专门人才。

计算机应用软件专业就业前景:

教育部、信息产业部、国防科工委、交通部、卫生部目前联合调查的专业领域人才需求状况表明,随着中国软件业规模不断扩大,软件人才结构性矛盾日益显得突出,人才结构呈两头小、中间大的橄榄型,不仅缺乏高层次的系统分析员、项目总设计师,也缺少大量从事基础性开发的人员。按照合理的人才结构比例进行测算,到2005年,中国需要软件高级人才6万人、中级人才28万人、初级人才46万人,再加上企业、社区、机关、学校等领域,初步测算,全国计算机应用专业人才的需求每年将增加100万人左右。

软件人才看好教育部门的统计资料和各地的人才招聘会都传出这样的信息计算机、微电子、通讯等电子信息专业人才需求巨大,毕业生供不应求。从总体上看,电子信息类毕业生的就业行情十分看好,10年内将持续走俏。网络人才逐渐吃香,其中最走俏的是下列3类人才:软件工程师、游戏设计师、网络安全师。

第五篇:计算机应用软件专业论文

计算机应用软件专业论文

在计算机术语中,“硬件”泛指各种计算设备和器械,软件则是与“硬件”这个词汇相对应产生的。根据《中国大百科全书》的解释,所谓“软件”是指计算机系统中的程序和有关的文件;包括计算机各种语言、汇编程序与编译程序、诊断程序、管理程序与操作系统、数据库管理系统、应用程序、各种维护和使用手册、程序说明和框图等。简言之,软件就是用户和计算机硬件之间联系的接口与桥梁。如果说计算机的出现源自于人类使用机器替代人力进行计算的努力的话,软件的诞生,则来源于人类操控上述计算机器的理想。在人类最早的结绳记事中,人类先祖已经开始尝试通过一定的规则设置来储存并处理信息,然而,在此后很长一个时期里,受制于简陋的计算工具,这些规则显得比较简单。但必须承认,这种使用不同的“结绳”方式对应于不同的事件的做法已经具有软件的雏形,这些预设的规则实际上类似于现在软件中的计算方法,即所谓的“算法”。

当然,直到计算机械达到一定的发达程度以后,软件的真正萌芽才开始出现。人们开始想尽各种办法操纵机器按照自己的意愿去完成更加复杂的运算,这就必须实现人与机器之间的对话,或者说要把人类的思想准确的传送给机器,让机器按照人的意志去执行运算。然而,回·顾历史却总是充满了意外和趣味,实现人机对话的始作俑者并不是研制计算机的那些前辈先贤,而是与计算机发明毫不相干的两位法国纺织机械师。1725年,法国纺织机械师布乔为了改进繁琐笨拙的编织机,想出了一个利用穿孔纸带控制编织工艺的绝妙主意。他首先用一排编织针控制所有的针线运动,然后在一卷纸带上根据图案打出若干排小孔,并把这卷纸带压在编织针上,这样就确保了编织针自动按照预先设计的图案去挑选针线。编织图案的工艺被预先储存在穿孔纸带的小孔之中,这样一来,人的思想就通过穿孔纸带传递给了编织机。80年后,另一位法国机械师杰卡德对布乔的设计做出了成功的改进,并在1805年完成了“自动提花编织机”的设计制作。令人啼笑皆非的是,这种提花编织机由于生产效率太高,曾一度遭到害怕失业的纺织工人的强烈反对。

杰卡德设计的自动提花编织机奏响了机器自动化的序曲,至今,手工编织机的基本结构仍与杰卡德编织机大体相似。在杰卡德编织机密密麻麻的穿孔卡片中,已经悄然蕴含了使用软件程序控制硬件运算的最初萌芽。无独有偶,穿孔纸带和穿孔卡片后来被广泛运用到早期计算机当中,成功实现了存储数据和控制运行的功能。因此,有人推测软件程序设计之所以称为“编程序”,也许就引申自编织机的“编织”花布的词义。此后很长一段时间,软件的发展严重滞后于硬件的迅猛演化速度。其原因在于早期的计算机,并没有严格划分软件和硬件。在很长一段时期,计算机的唯一功能就在于完成大规模的运算,而这种运算本身并不需要多么复杂的控制技术。在这个时期,计算机被作为一种替代人力进行庞大运算的工具而加以使用。除了运算,计算机不需要完成其他功能,也就无须对硬件进行其他形式的操控,相应的,也就缺乏对软件的需求,这一时期的计算机技术实际上就是计算机的硬件技术。例如,中国科学院计算技术研究所的几台小型机,自1960年代起为全国各地的科研工作者提供了长达几十年时间的运算服务。在这个时期,软件是作为硬件实现某种功能的延伸而存在。应当说,这一时期对软件的保护本身更多的体现为对硬件技术(即计算机技术)本身的保护,某种(软件)功能的实现往往成为一项计算机技术能够获得专利或者其它保护的具体性状之一①。这种软件滞后于硬件的发展格局一直延续到上世纪1960至1970年代。1960 年代末期,计算机技术进一步发展,计算机开始从科研运用和军事运用为主逐渐开始大规模向民用领域转化。这一时期是软件设计领域混沌初开的年代,在那个时期,编写软件程序的人并不多见,可供选择的编程语言也寥寥无几。用今天的眼光看,那个年代的程序员们的确苦不堪言。在这种情况下,美国达特茅斯学院的两个年轻小伙子卡梅尼和科兹开始设计一种新的编程语言。他们为这种新语言定下的设计原则是:尽可能地简单。于是,著名的软件开发工具basi。语言面世了,并在此后迅速风靡一时。1975年,计算机发展历史上最大的变革:个人电脑(PC)的风暴开始蓄势待发。此时,哈佛大学的两个年轻人盖茨和保罗正沉迷于basic和游戏之中。感谢盖茨灵敏的商业嗅觉,他们从M工TS的Altair小型计算机得到启发,并成功的预见了计算机的发展方向。这年的冬天,他们从哈佛大学辍学并创立了现在的软件巨头微软公司。

此后,软件的发展渐入佳境。方便易用的软件开始帮助人们高效率的完成那些异常繁琐的各种工作,而人们的各种需求似乎在一夜之间被引爆,满足不同层次不同领域要求的软件实现了一日千里的突破性增长。而用户经济效益大幅提高的同时,软件行业的收益也随之水涨船高。在这个领域中迅速涌现出一大批令人敬畏的生猛后生:微软、甲骨文、SaP、苹果、Cisco、高通、Google„这些软件巨头的服务已经渗入社会生活的各个细微之处,遍布在我们的周围。其中,微软的市值高居全球第一;而前十大软件巨头的财富合计到一起,则己经超过一个中等发达国家的年GDP总量。在中国,2005年软件市场全年销售额已经攀高至3900 亿元,增速超过45%,软件产业己经成为中国经济名副其实的发动机。在软件迅速升级换代的过程中,软件滞后于硬件的格局发生了天翻地搜的改变。随着软件的频繁升级,硬件的发展开始滞后于软件。近年来,软件行业的排头兵微软为了满足人们不断增加的各种需求并确保其竞争优势,每隔一段时间就推出一种新的操作系统软件,从早年的pc--dos,到此后的 dos7.0,再到讥ndows 系列。每当微软推出新的操作系统,都会对硬件提出新的更高的要求,这就刺激了硬件必须同步发展。硬件巨头英特尔和微软达成默契,当微软推出新的操作系统,英特尔也会相应的对现有硬件加以升级。这种合作关系被称为“wintel”联盟,其中包含了 windows和intel两个名称的一部分。

下载Proteus专业应用软件训练总结报告(合集)word格式文档
下载Proteus专业应用软件训练总结报告(合集).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    训练总结报告

    “教师口语(实践)”课训练总结报告 1. 请总结自己在教师口语训练中的表现。 训练时间:2016-12-15 训练地点:文科楼微格室 共同参与训练的同学: 模拟教学训练所选教学内容: 现在进......

    团队训练总结报告

    新学期刚开始,学校为了培养我们作为硕士研究生应该具备的团队精神和其他能力与素质,为我们一年级新生开了团队训练及心理辅导课程。在这一天的课程中,通过老师的教导、自己的理......

    农事训练总结报告-

    农 事 训 练 总 结 报 告 班级:姓名:学号:为期一周的农事训练不知不觉在欢快的气氛中结束了,。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。现......

    科研训练总结报告

    科研训练总结报告 科学研究,一部分是创造知识,即创新、发现和发明,是探索未知事实及其规律的实践活动;另一部分是整理知识,即对已有知识分析整理,使其规范化、系统化,是知识继承的......

    科研训练总结报告

    一、选题 选题是否成功是研究成功的前提。有一种说法,哲学社会科学不像自然科学,没有成功与不成功之说,只要愿意去做,最后必然成功。此话谬矣。没有好的选题,即便是洋洋洒洒数万......

    工程训练总结报告[范文]

    工程训练实习总结报告 课程:工程训练D/E 班级: 工程训练是一门实践性较强的课。对于多年来只基于理论学习而很少参与实践的我们来说,工程训练是一门培养我们实践能力的重......

    工程训练总结报告

    工程训练总结报告 ——纸上得来终觉浅 为期一学期每周半天的工程训练结束了,还有些恋恋不舍的感觉。在还没有开始实习的时候大家都很积极和热情的想着投入到训练中。然而,实习......

    工程训练总结报告

    Southwest university of science and techno1ogy 工程训练实习总结报告 题目: 工程训练实习总结报告 课程: 工 程 训 练 D 班级: 地 质 1101 姓名: X X X 学号: XXXXXXXX 2014......