单片机应用仿真促进核心能力培养
2017-09-17徐春燕汪媛
徐春燕+汪媛
【摘 要】本文首先介绍了Proteus 与Keil仿真软件的特点,然后以“矩阵式键盘控制数码管显示设计”为例介绍如何在Proteus与Keil软件中构建虚拟平台进行硬件电路和软件代码的仿真设计与调试,最后介绍单片机课程教学中如何引导并推进学生学习应用Proteus与Keil仿真调试,从而激发了学生浓厚的学习兴趣,促进了课程培养目标以及专业核心能力的达成。
【关键词】虚拟平台;仿真调试;培养目标;核心能力
一、引言
单片机课程是电气工程及其自动化专业、自动化专业一门重要的技术类课,具有抽象、逻辑性强、实践性强的特点,学生要掌握好单片机原理及接口应用技术,具备小系统开发能力,一定需要进行硬件设计和软件编程,并且需要进行硬件和软件调试,以调试结果来论证硬件方案和软件程序的可行性与否。以武昌首义学院电气工程及其自动化专业为例的实际情况为:(1)单片机实训教学环节有:实验课、课外实践作业、课程设计、毕业设计;(2)目前单片机实验室硬件实训教学平台为40套(我专业学生规模为:2012级学生为9个自然班、2013级学生均为9个自然班,2014级学生有8个自然班);(3)学生个人配备单片机实验开发系统需200元人民币左右;(4)④硬件设备跟新换代以及元器件故障率会导致资金投入大;(5)⑤硬件设计方案变更会导致项目周期延长以及硬件投入增大等。
基于以上问题,课程组围绕课程教学目标,以专业核心能力三(核心能力三:以PLC、单片机为核心的电气控制系统的设计、应用及维护能力)为导向,积极进行教学研究与探索,在单片机教学中引导并推进学生学用Proteus 与Keil仿真软件整合构建单片机虚拟实训室,进而在虚拟平台上开展硬件和软件仿真调试工作。
二、Proteus 与Keil软件介绍
(一) Proteus 软件介绍
Proteus是英国Labcenter公司开发的电路仿真软件,Proteus 软件提供了 3O 多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。该软件的仿真功能和调试程序的功能很强大。其特点有:(1)用户可以实时采用 RAM,ROM,LED,LCD,键盘,A D/D A,部分SPI、I2C等资源;(2)可仿真5l系列、ARM 、PIC、AVR等常用主流单片机;(3)可以直接在绘制的原理图上,配合虚拟示波器、信号发生器、电流表、电压表等器件,结合程序运行后看到输入输出的效果 。此外,Proteus还具备以下功能:(1)原理布图功能;(2)SPICE 电路仿真功能:(3)PCB自动或人工布线功能。
(二) Keil软件介绍
K eil软件是目前最流行的单片机C语言开发软件,Keil软件中能新建工程项目、编写C语言程序、编译及调试程序,有存储器和变量观察窗口等。Keil uVision4就是一款功能强大的51单片机C语言开发利器,其开发的程序无论是在功能上还是在可读上都比C语言具有明显的优势,而且易用易学,支持C编程+汇编编程混合编程,内置丰富的函数库。
三、虚拟实训平台构建
单片机控制系统是软、硬件结合的应用系统,我们引导学生在电脑上学习Proteus和Keil仿真软件,利用仿真优势,构建一个适合“教、学、做”一体化的单片机虚拟实训平台,下面以“矩阵式键盘控制数码管显示设计”课题为例讲解虚拟实训平台的构建。
(一)硬件电路的设计、制作
第一步,运行 Proteus 的ISIS 程序后,即进入该仿真软件的主界面,如图1所示 ;第二步,通过主界面左下方P/L/DEVICES选项 ,选择并放置所需元器件并调整其相对位置,如图2所示;第三步,对元器件进行参数设置,并依据硬件设计方案完成元器件间连线,即完成硬件电路图设计,如图3所示,之后,保存该文件(.DSN)。
(二)程序代码(软件)的编写与调试
打开Keil uVision软件,第一步,依次完成“建立工程项目、选择仿真单片机、编写单片机C语言程序,添加文件到源代码组,配置闪存工具、创建目标文件、编译当前文件”等工作,若编译结果显示“0个错误0个警告”,如图4所示,则说明所编写的软件代码没有语法错误,可进行第二步,反之,则需根据提示查找并解决软件代码语法问题(或Keil uVision软件设置类问题);第二步,对软件代码进行功能调试,对应的重要功能菜单分别是“调试”和“视图”,调试模式可以选择的有“连续运行、步进、步越、运行到光标处、断点运行”等多种,调试过程中,为了跟踪变量或观察存储器内容的变化,可以打开“监视和调用堆栈窗口”和“存储器窗口”进行数据观察,如图5所示,根据观察情况,做软件代码的修改或完善工作,完成软件代码所要达到的功能后,对应生成.HEX文件并保存。
(三)硬件和软件联合调试
第一步,在ISIS软件中打开之前保存的.DSN文件;第二步,打开菜单“源代码-添加源代码”,然后找到.HEX文件添加后点击“确定”,如图6所示;第三步,打开“调试”菜单,选择“开始仿真”,仿真調试有多种模式可以选择,若联合调试成功,即可直观看到课题要到达的效果,如图7所示为仿真调试成功效果。
四、单片机仿真的引导与实践
课程组在单片机课程教学中引导并推进学生学习应用Proteus 与Keil两款软件的步骤如下:
第一步,教师在课堂教学中介绍 Proteus 与Keil两款软件的特点,让学生建立它们可以帮助大家学好学通单片机课程的概念,同时在课堂教学中把Proteus 与Keil仿真设计案例演示给学生看,仿真设计案例演示使单片机控制应用变得直观和生动,大大激发了学生学习单片机的兴趣。
第二步,推进所有学生自主学习并熟练掌握Proteus 与Keil两款仿真软件的用法及联合调试方法。具体实施细节为:(1)布置检测测试题。要求学生4人左右自行分组交流讨论学习,3周后进行验收。检测测试题为教材P90中例【5-1】:设计一电路,监视某开关K,用发光二极管LED显示开关状态,如果开关合上,LED亮;开关打开,LED熄灭。图8和图9均为教材例题中已经给出的硬件电路设计图和软件代码;(2)抽查考核。3周后检查学生测试题仿真作业完成情况。学生只要是认真完成了该例题的仿真调试,就可说明初步掌握了Proteus 与Keil两款仿真软件的基本用法及联合调试方法,因为测试题是例题,均已给出了硬件设计方案和软件代码,所以完成测试题的工作主要是学习与掌握这两款仿真软件的基本用法及联合调试方法。为了更好的了解学生掌握该软件的基本用法及调试方法情况,教师利用课外时间抽查2/3学生进行考核(如硬件中元器件的选取、放置、连线、设置以及软件中项目工程的建立、语法调试和功能调试方法等等),考核成绩重比例计入平时成绩; (3)翻转课堂教学课。在学生能用 Proteus 与Keil完成仿真测试题后,单片机教学中布置的所有课后作业均要求学生进行仿真调试,并将调试成功后的作业发送给任课教师检查。学生在完成这些仿真作业的过程中会碰到较多问题,他们会以与同学交流、查资料、网上求助等多种方式解决,当然学生学习能力的差异会导致仿真作业的完成顺利与否情况。针对此差异,在仿真作业完成了3~4道题左右,教师根据与学生的交流及他们提交的仿真作业完成情况,选取并通知了3~5名学生做好准备讲习题,习题课时间总共为2节课,以翻转课堂形式开展。预先做好准备的学生需备课充分,从“软件基本应用与调试方法”、“习题解题与设计思路”、“调试常见问题汇总与解决”等方面为台下同学展开讲解,教师和台下同学均认真听讲,积极思考并向台上同学提问。经实践,该措施对“推进大面积学生掌握Proteus 与Keil的应用与调试方法”取得的效果非常好。
有了第一步和第二步的实践,学生掌握了Proteus 与Keil的应用与调试后,可以利用 Proteus 与Keil仿真调试环境,来验证设计方案的可行性,在仿真调试成功的基础上,觉得有必要时,再搭建实物电路进行调试,这样可以减少硬件设计过程中浪费。
五、结束语
武昌首义学院电气工程及其自动化12级、13级、14级学生实践证明,Proteus与Keil仿真调试手段的应用,使大部分学生对单片机应用系统的开发有一个完整性的认识和掌握,对单片机应用系统的设计与开发产生了浓厚的学习兴趣,学生在课题拓展、课程设计、毕业设计、电赛实训等环节中用仿真调试缩短了开发周期、减少了元器件的损耗,尤其在硬件平台不够或硬件投入跟不上的情况下、该仿真调试手段促进了课程培养目标以及专业核心能力的达成。当然,软件仿真并不能达到与实际硬件完全一致的情况,也不考虑实际应用中存在元器件参数的分散性、误差和干扰等现象,这需要学生在实物试验中去进一步体会和掌握。
参考文献:
[1]李群芳,肖看,张士军. 单片机微型计算机与接口技术[M]. 北京:电子工业出版社,2012.
[2]徐爱钧. 单片机原理与应用:基于Proteus虚拟仿真技术[M].北京:机械工业出版社,2010.
[3]刘 丹.Protues与K eil联合仿真在单片机教学中的应用[J].科教导刊.2013.(8):120-121.
[4] 赵巧妮.Proteus在单片机仿真中的应用[J].自动化技术与应用 ,2009 (6 ) :113 一l14.
作者简介:
徐春燕:1978年出生、女、汉族、湖北鄂州、武昌首义学院、副教授、研究生。
汪媛: 1982年出生、女、汉族、湖北武汉、武昌首义学院、讲师、研究生。endprint