基于软件仿真和硬件电路联调的单片机课程设计

2014-05-30 13:05聂娅琴
新校园·上旬刊 2014年4期

聂娅琴

摘 要:单片机课程设计是电子、自动化等专业学习中重要的必修实践课。在对单片机课程设计的安排中包括:对汇编语言或C语言的学习,对基于Keilc51的编译和调试的学习,对电路仿真联调的学习,程序烧写的学习等,以使学生掌握应用单片机的技术,从而完成电路功能的设计。本文将对基于软件仿真和硬件电路联调的单片机课程设计的流程进行介绍,并对其进行总结。

关键词:单片机课程设计;软件仿真;硬件电路联调

在开发单片机嵌入式系统时,使用最多的软件就是Keilc51软件,此软件是由Keil公司研发出来的,软件以uVision2为开发平台,具有的功能包括项目管理、编码、程序生成器等。Keilc51的优点在于:其界面的友好性较高、操作便捷,支持对汇编语言、C语言及混合语言的编程、编译和调试工作,可以在很大程度上缩短设计周期,在对程序进行修改时也是很方便的。与此同时,Keilc51还能够加载Proteus软件的VSM仿真器,加载之后就可以和Proteus软件进行联机调试。

一、课程设计流程

1.编写相关指导文件

在对课程设计着手之前,需要对课程设计的流程进行文档编写,为扎实掌握单片机技术打下基础。相关指导文件包括:单片机项目开发的相关教程和例程材料,Keilc51和Proteus软件的教程和例程材料,单片机课程设计完成程度的标准,课程设计大纲等。

2.选择题目

在制作课程计划时,需要根据每个章节内容的不同和课程进展程度对学生的实际学习情况进行考量,通过对学生掌握情况的判断再对课程设计进行拟题。课程设计的题目包括针对各章内容的,也包括针对综合应用的:关于MSC-51与A/D转换方面的课程设计题目,关于MCS-51串口方面的课程设计题目,关于定时器与中断方面的课程设计题目,关于I/O接口方面的课程设计题目,关于MCS-51的综合使用方面的题目等。除此之外,还要列出详细的元件表,供学生选择和参考,并对课程设计题目的实现提出相应的具体要求。

3.使用仿真软件和实现电路功能

在课程设计实现中,教师可指导学生分组进行,根据学生所选题目对学生如何在软件和硬件等方面进行设计给予指导,以完成设计的初步内容。在对学生进行指导时,可按照以下步骤进行:

(1)绘制程序流程图,可以使用Visio或Word进行绘制。学生在绘制程序流程图时,不但要依据所选题目的设计要求,还要结合教师的指导内容进行绘制,为接下来的程序设计做铺垫。

(2)设计硬件电路,可以使用Proteus软件进行设计。在这一步骤中,首先要对Proteus软件进行学习,在掌握基本应用原理和方法的基础上,再依据设计要求设计电路。在学习Proteus软件的基础上,由教师组织学生先进行软件的实际操作学习,需要学生掌握的内容有:建立工程文件、选取和使用元件、连接电路和进行调试运行等。

(3)编写程序和编译调试,根据上一步骤得到的硬件电路使用汇编语言编写源程序,再在Keilc51软件中进行编译和调试。教师要指导学生,让他们依据课程设计要求把编写好的汇编代码导入到Keilc51软件中,进行编译调试。

(4)联合调试,对Proteus软件和Keilc51软件进行联合调试。将在Proteus中画好的原理图在ISIS上打开,在Proteus软件里的DEBUG菜单中选择use remote debug monitor选项,并对联机仿真参数进行设置。将在第三步中编译好的Keilc51工程文件打开,并设置相关参数:在Keilc51的project菜单中点击进入option for target“工程名”,在DEBUG选项的右上方下拉菜单中选择Proteus VSM Monitor-51 Driver,并设置联机仿真参数。

4.面包机设计和电路功能的实现

在这一阶段,教师要先组织学生对集成芯片的用途和管脚功能进行学习,之后再在面包板上建电路,电路连接无误后,使用编程器将程序烧写到单片机的CPU上,最终使电路功能得以实现。

5.实行课程设计考核答辩制

教师采用答辩制的形式对学生的课程设计进行考核,在答辩中真正判断出学生对课程设计的体悟到底有多深。

二、成果总结

本课程设计将软件和硬件的使用集合了起来,完成了对单片机的开发设计,在实践过程中取得了良好的结果,让学生对软件电路、硬件电路以及软硬件联调设计和面包板设计都有了更加深入的了解。

1.理论与实践结合

在教学中,不仅要将学生的实际情况与学习内容結合起来,还要单片机学习中各个章节的内容和实际动手操作结合起来。在本课程设计中,拟定了MSC-51与A/D转换、MCS-51串口、定时器与中断、I/O接口、MCS-51的综合使用等方面的数十个设计题目,并对课程设计提出了具体要求。

2.让学生告别“眼高手低”

仿真联调的结果虽然不能完全代表在实际情况中的结果,但是在很大程度上已经实现了电路设计的功能在虚拟情景中的实现,为判断抉择提供依据。根据仿真联调的结果,我们可以在硬件操作中实际运行,通过这种方式,可以对仿真结果的正确性和准确程度进行校正。在学生进行实践之前,要让学生对集成芯片的芯片用途和管脚功能有所了解,之后在面包板上建电路,然后将程序通过编程器烧写到单片机的CPU上,这样就可以完成对电路功能的实现了。在课程设计的一系列环节中,学生既可以学习到各环节所需工具的相关知识,又可以提高学生的动手能力,增强学生的学习积极性。

3.对能力的培养

在实践课程设计的过程中,通过绘制流程图、画电路图和编程等,可以锻炼学生有步骤地实现目标的能力;通过要求学生对程序进行标注,可以有效锻炼和提高学生的编程能力,增强他们独立思考的能力。

先进和完善的软件能够使硬件的运行达到更好的效果。在单片机课程设计中引入软件,可以使学生在了解和掌握单片机的设计流程的基础上,熟悉联调的技巧与方法。与一般的单片机仿真软件不同,在课程设计中所使用的仿真软件除了能仿真单片机CPU的实际情形,还能仿真单片机周边电力和未参加工作的电路情况。此仿真实验能够很好地将实验和工程衔接起来,仿真结果的无误将为电路的实际实现提供重要依据。同时这样的课程实训也是工程师的最基本实践内容,这也为学生今后的学习和工作奠定了基础。

参考文献:

[1]乔建华.李临生.Proteus在单片机教学中的应用分析[J].电气电子教学学报,2009,2(6):24-25.

[2]陈淑芳.基于51单片机的教学实验系统的设计与开发[D]青岛:中国海洋大学,2011.

[3]吴慧芳,陆茵.“单片机原理及应用”课程设计引入Proteus软件的实践[J].中国电力教育,2010,5(9):123-124.

[4]彭小峰.雷李.基于Proteus和Keil的整合建构单片机虚拟实验室[J].重庆工学院学报(自然科学版),2009,4(11):67-68.

[5]李海鲲.Proteus在单片机课程设计中的应用[J].电脑知识与技术,2010,6(16):62-63.