Proteus和TKStudio在毕业设计中的应用

发布时间:2022-06-03 10:40:09   来源:作文大全    点击:   
字号:

摘要:针对安徽工程大学本科毕业设计中存在的问题,引入CAD技术,利用Proteus和TKStudio对毕业设计进行综合仿真和联合调试,通过实例阐述了其设计流程,降低了开发难度,提升了学生完成毕业设计的信心和兴趣,为保障毕业设计的质量做出了有益的探索。

关键词:Proteus;TKStudio;联合调试;毕业设计

作者简介:俞晓峰(1978-),男,安徽淮南人,安徽工程大学电气工程学院,讲师;江娟娟(1981-),女,安徽芜湖人,安徽工程大学电气工程学院,讲师。(安徽 芜湖 241000)

基金项目:本文系2010年安徽省教育厅质量工程一般项目(项目编号:20100733)、2010年安徽工程大学质量工程重点项目(项目编号:2010xjy05)的研究成果。

中图分类号:G642.477     文献标识码:A     文章编号:1007-0079(2012)25-0102-02

毕业设计是本科教育中非常重要的实践教学环节,着重培养学生综合运用知识与解决实际问题的能力。学生在毕业设计中可以受到一次提升其专业素质与实践能力的综合训练。单片机开发技术是电子信息、电气、通信、自动化等专业的学生必须掌握的技术之一,在完善学生专业知识技能结构上占有重要地位,对学生技能的提高和就业有着很大的作用。安徽工程大学电气工程学院(以下简称“我院”)共有自动化、电子信息工程、电子信息科学与技术、通信工程、电气工程及其自动化专业五个专业,根据以往的统计结果来看:涉及单片机类的毕业设计课题占了课题总数的相当部分,其中2009年为18.6%,2010为21.2%,2011为20.6%。涉及单片机类的毕业设计一般要求学生首先要搭建相应的硬件平台,然后完成软件设计,最后进行系统调试。设计方案在软、硬件系统最后调试之前是较难确定其成功率有多大,一旦出现严重问题,很多情况下需要重新进行系统设计和电路搭建,会影响毕业设计的进度。同时单片机开发需要购买仿真器、编程器及各类元器件,耗费经费较多。而且学生在完成毕业设计的同时,还需要直接面对日趋激烈的考研复试、就业压力等情况,势必对毕业设计工作带来很大的影响。为了解决上述问题,经过认真调研和实践验证,提出了一种完成单片机类毕业设计的新方法:利用Proteus软件搭建虚拟的硬件平台,并结合致远电子推出的嵌入式集成开发环境TKStudio,综合利用两者的仿真和联合调试功能,尝试在毕业设计中使学生摆脱实际电路进行软硬件调试,从而减少系统设计与开发难度,提升学生完成毕业设计的信心和兴趣。

一、Proteus与TKStudio介绍

Proteus软件是由英国LabCenter Electronics公司开发的EDA工具软件,由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。Proteus是目前世界上最先进、最完整的多种型号微控制器系统的设计与仿真平台之一。Proteus能够实现单片机与外设的混合电路系统、软件系统的设计与仿真。在仿真过程中,用户可以使用鼠标点击开关、键盘、电位器等动态外设模型,使单片机系统根据输入信号作出相应响应,并将响应处理结果实时地显示在LED、LCD等动态显示器件上,实现了实时交互式仿真。

TKStudio集成开发环境是广州致远电子股份有限公司开发的一款嵌入式芯片级、系统级软件开发平台,是一款内置强大编辑器的多内核编译调试环境,支持Keil C51、SDCC、GCC ARM等编译工具链,支持8051、ARM7/ARM9/ARM11等内核调试,支持Linux程序调试,可以完成从工程建立和管理,编译,链接,目标代码的生成,到软件仿真,硬件仿真等完整的开发流程。和Keil相比,TKStudio的全中文界面更加友好,且操作方式和Keil相似,学生上手简单。但在实际应用中,TKStudio的软件仿真功能不能满足系统调试的要求,而硬件仿真功能又需要挂载仿真器和实际硬件电路。因此,在毕业设计过程中将TKStudio与Proteus 结合起来,充分利用各自优越的仿真和调试功能,使毕业设计的软硬件调试便捷和直观。

二、应用Proteus和TKStudio 毕业设计的实施

1.毕业设计的选题和学生培训

首先对安徽工程大学电气工程学院申报的毕业设计课题进行审核,将适合于应用Proteus和TKStudio进行仿真的毕业设计进行汇总归类,再结合指导教师和选题学生的实际情况,最后确定适用范围。在进行毕业设计之前,对学生做6个学时的培训。培训的内容涉及Proteus软件的交互式仿真技术和TKStudio软件使用。基于Proteus的仿真电路绘制在设计理念和操作方法上和Protel及MultiSim有诸多相似之处,经过实践证明,在6个学时的培训之后,大多数学生能够较好地掌握Proteus和TKStudio的基本操作。

2.资料的收集、毕业设计方案确定及开题报告提交

选题工作结束后,学生在教师的指导下,充分利用图书馆、网络、数据库等资源,进行资料的收集和整理工作,提出毕业设计的总体方案。指导教师对学生提出的方案进行检查和修正,确定最后方案,并协助学生完成器件选型、硬件框图和软件流程图设计、开题报告撰写等毕业设计初期工作。

3.系统的设计和仿真

第一步根据开题报告中确定的方案进行硬件设计。首先将系统分解成若干功能相对独立的子模块,确定各子模块所用的芯片型号、元件参数和连接方式,预留和其他模块的接口及通信端口。接下来,在完成各子模块设计的基础上,完成整体电路的设计。在器件选型过程中,学生需要在教师的指导下,优先选取Proteus自带仿真模型的元件,对于少数未带有仿真模型的元件,可以通过修改设计方案选取其他替代元件或在Proteus中自行建立器件的仿真模型。硬件设计完成后,在Proteus中绘制原理图,完成系统的硬件设计。第二步完成硬件设计后,根据毕业设计任务书的要求,完成主程序流程的设计,并根据器件选型划分软件模块,在主程序中调用各器件的功能模块。具体将在随后的“实例分析”中具体阐述。软件代码的编写工作在TKStudio中完成,首先将其设置为“软件仿真”状态,排除代码中的语法错误并验证部分简单功能。第三步在代码编写完成后,将TKStudio设置为Proteus联合调试方式,验证系统设计正确性,在调试过程中,还需要根据实际情况,对系统进行调整和优化,以达到毕业设计任务书的要求。

4.毕业设计论文撰写及答辩

毕业设计的软硬件设计和仿真成功后,对相关文档进行整理和归类,撰写毕业设计论文。在论文撰写的工作中,以“重设计,轻介绍”为原则,要求学生对器件的介绍和基本原理一带而过,将重点放在运用所学专业知识的基本理论和方法,对毕业设计和系统调试进行具体分析、总结和提升上,使学生在论文中提出的建议、意见或解决问题的方法和措施切合实际、具有实用价值。在毕业设计的答辩过程中,将采用TKStudio和Proteus进行仿真的学生进行单独分组,要求学生在答辩时进行TKStudio和Proteus联合调试的现场演示。答辩时按照教师专长进行分组,教师在其指导学生进行答辩时必须回避。

三、应用Proteus和TKStudio 毕业设计的实例分析

以下是一个毕业设计实例,要求设计一款基于单片机的按键式密码锁,密码为6位数,能够存储10组密码,设计中用LED和蜂鸣器模拟密码锁工作状态。

1.电路原理图设计

根据设计要求,单片机选用AT89C51,具有4KB程序ROM、128B数据RAM及32个双向I/O口,完全可以满足设计需求。密码输入采用4*4矩阵式键盘,显示电路选用1602液晶显示模块,为了防止掉电丢失数据,系统利用128B的串行EEPROM24C02完成密码存储功能。

器件选型完成后,需用Proteus绘制原理图,采用如下步骤。第一步在Proteus中新建设计文件,选定模板“DEFAULT”,图纸大小设置为A4。第二步选取元器件添加到对象选择器中,单击对象选择器中的元器件名,将其添加到编辑区的适当位置,并设置、修改元器件属性。本设计采用的元器件如表1所示。需要说明的是:在Proteus中为了使用者方便,很多元件隐藏了电源和地引脚,Proteus默认加载了一些元件的电源和地引脚,仿真时即使不人为添加电源和地也会正确运行,如AT89C51、74138等。第3步进行电路图布线,完成元器件的引脚连接,并进行电气规则检查。绘制完成的原理图如图1所示。

2.系统软件设计

系统软件设计采用模块化设计方法,思路是整体把握、局部细分、逐个实现。这种设计方法的优点是设计目标明确、思路清晰,而且在检错、调试时也很方便,并具有很好的扩充性和移植性。系统的软件要完成密码锁状态的LCD显示、数据通信、接受键盘输入、声光报警等功能,各个功能模块由子程序来实现,并且由主程序来调用。子程序包括键盘扫描子程序、液晶显示子程序、24C02读写子程序、密码比较子程序。各子程序分别包含相应的头文件和C语言文件,在头文件中利用 #ifndef、#define、#endif 语句防止在工程中的头文件的重复包含。

软件开发在TKStudio平台进行,主要完成源码的编写、编译和初期调试工作。TKStudio的代码编辑器功能强大,能够完美地支持中文,具有智能感知、快速注释、列选择和编辑、自动匹配括号等功能,能够有效提升开发效率。TKStudio 具备丰富的编译器选项配置信息,对各种工具链的编译、链接、调试提供了灵活的配置参数,如果系统中安装了Keil软件,则在编译总可以使用Keil C51编译器,或者可以选择免费的SDCC C51编译器。在没有和Proteus联调以前,将TKStudio设置为软件仿真模式,主要用于排查代码编写中的语法错误,并验证部分功能的正确性,例如C语言中的软件精确延时功能等。

3.Proteus 和 TKStudio联合调试

在Proteus和TKStudio联调之前,需要进行一些相关设置:首先下载Proteus联调驱动Vdmagdi.exe进行安装,完成后在安装目录下找到VDM51.DLL文件并复制到TKStudio根目录下的TKstudioRDV文件夹中,然后打开TKStudio根目录下的McuDEV.ini配置文件,在[C51]栏目下加入TDRV10=DRV\VDM51.DLL("Proteus VSM 51")并保存。其中引号内的内容仅起注释作用,且“TDRV10”中的“10”要根据实际情况写,不能和原始文档序号重复。然后进入TKstudio工程选项进行设置,选择“调试”选项卡,将仿真器类型设置为“Proteus VSM 51”,因为是单机调试,设置选项不用修改IP,保持默认即可。最后勾选Proteus菜单栏“Debug”选项下的“Use Remote Debug Monitor”完成联调设置。

设置完成后就可以像使用仿真器和目标板一样对设计进行调试了。调试可以采用设置断点、单步执行等手段控制程序运行,可以通过寄存器和SFRS 窗口查看和更改寄存器和特殊功能寄存器的内容,可以通过鼠标获取显示变量至观察窗口,可以通过观察窗观察修改联合、结构体、多维数组及其成员。在调试过程中,先对各子程序进行调试。第一步对液晶显示子程序进行调试,调试内容为在液晶模块的指定位置显示相应字符;第二步将矩阵键盘子程序和液晶显示子程序结合进行调试,调试内容为按键按下后,要在液晶模块的相应位置显示按键的键码;第三步将矩阵键盘子程序、液晶显示子程序和24C02读写子程序结合进行调试,调试内容为按下一组按键,将所代表的字符存入24C02,并同时在液晶显示模块的第1行进行显示,随后将存入的字符读出,在液晶显示模块的第2行进行显示。子程序调试完成后,再对主程序进行调试。主程序的调试围绕功能按键进行,同样采用分步调试的方法,对各按键的功能依次验证,验证成功后再进行整体调试。

四、结论

利用Proteus和TKStudio的联合调试功能,对单片机系统进行硬件设计和仿真调试,打破了常规实验室场地、设备使用的时空限制,显著增强了学生投入毕业设计的兴趣,提升了开发效率,是对传统实物电路仿真的一种有力补充。根据我院实践表明,将Proteus和TKStudio引入毕业设计以来,在没有增加硬件投入的情况下,学生普遍反映这种虚拟毕业设计平台和实际工程系统非常接近,更易于接受,易于提高,增加了很多实践经验,拉近了毕业设计和就业的距离,综合分析能力、排除故障能力和开发、创新能力得到了进一步提升。基于Proteus和TKStudio的虚拟实验平台是对传统毕业设计指导模式的革新,非常适合应用型人才培养的新模式,具有广阔的应用前景和较高的推广价值。

参考文献:

[1]张靖武,周灵彬.单片机系统的PROTEUS设计与仿真[M].北京:电子工业出版社,2007.

[2]广州致远电子有限公司.TKScope无缝嵌接多种主流IDE环境TKStudio自主产权嵌入式集成开发环境[J].单片机与嵌入式系统应用,2009,

(11).

[3]伍冯洁,谢陈跃,谢斌.Proteus与Keil在单片机开放性实验中的应用[J].电子测量技术,2008,(6).

[4]王忠,秦英林.Proteus软件在嵌入式系统教学中的应用研究[J].现代电子技术,2010,(16).

[5]杨会成,凌有铸.提高应用型本科毕业设计质量的思考[J].中国电力教育,2010,(24).

(责任编辑:宋秀丽)