基于EDA仿真软件的单片机实践教学改革探索

2014-09-07 06:58祁文青
湖北理工学院学报 2014年4期
关键词:单片机程序驱动

田 嵩 ,纪 鹏,祁文青

(湖北理工学院 计算机学院,湖北 黄石 435003)

基于EDA仿真软件的单片机实践教学改革探索

田 嵩 ,纪 鹏,祁文青

(湖北理工学院 计算机学院,湖北 黄石 435003)

根据单片机理论教学和实践教学的现状,结合EDA仿真软件在单片机实践教学中的应用情况,探讨了利用EDA仿真软件进行单片机实验教学改革的优势。通过选择合适的EDA软件进行单片机教学改革创新,取得了良好的教学效果,提高了学生的动手能力和创新能力。

EDA;仿真技术;Proteus;KEIL

随着高校体办学模式制以及社会需求的不断变化,高校越来越重视对学生综合素质的培养。培养应用型人才是应用型本科院校办学的目标,培养学生的实践应用能力是应用型人才培养的重要任务。笔者根据在单片机课程教学中总结的经验以及传统教学过程中存在的问题和弊端,结合EDA仿真软件在硬件仿真中的使用和实验的可行性[1],将EDA仿真软件应用于单片机的实践教学改革中,在相关课程的具体实验教学中取得了良好的效果,学生的动手能力和创新能力也得到了明显地提高。

1 传统单片机教学的现状

在计算机、机电、电气等专业中单片机课程是一门专业必修课程,该课程内容还涉及到单片机应用和单片机控制等相关课程。单片机是一种面向控制的大规模集成电路芯片,教学中存在很多的难点。在传统的理论教学中,单片机课程通过文字和图片等形式进行教学,学生在学习过程中缺乏对单片机系统构造和连线的认识,而通过仿真软件的现场连线设计和单片机总线的链接,则有利于学生更好地掌握理论知识。

在传统的实践教学中,一般依赖于实验箱进行教学,例如我校计算机学院在过去的单片机实验课程中,使用的教学实验箱是启东DICK-K51专用单片机实验箱,在这个实验箱中,可以采用硬件实验和软件实验2种方式。软件实验可以巩固单片机课堂中汇编和C语言的学习成果,让学生了解在汇编语言环境下的基本汇编指令,比如清零程序、拆字程序、拼字程序、数据区传送子程序等,有相应的窗口可查看实验结果,让学生可以很好地掌握课堂知识。在硬件实验中,如P1口亮灯实验、转弯灯实验以及工业顺序控制实验等,也可通过实物小灯闪亮的情况让学生将程序的驱动具体到实物,有很强的视觉效果,但是在实际操作过程中,学生缺乏单片机开发的设计思路和学习理念,且存在设备容易损坏、不易维修以及成本高等问题。基于此,笔者结合在过去实践教学中存在的问题以及仿真软件的便利性,探索一种基于EDA的教学模式,将EDA仿真软件和实践教学有机地结合起来,进行了单片机教学改革创新,取得了良好的教学效果。

2 仿真软件在单片机实验教学改革中的应用研究

2.1 EDA在仿真教学中的作用

传统的电子产品设计主要依靠设计者手动设计,要求设计者有较高的绘图水平,随着电子软件的不断发展,EDA技术的出现给电子设计带来了崭新的一面。EDA是电子设计自动化(Electronic Design Automation)的缩写,它是融合了计算机技术、智能化信息技术以及应用电子技术,并随着这些技术的发展而发展起来的。由于使用了EDA工具,产品设计师可以从协议、算法、概念等方面开始设计芯片和电子系统以及内部的连接系统,并可以将电子产品从性能分析、电路设计到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成[2]。

2.2单片机教学改革中PROTEUS的使用

在全球广泛使用的PROTEUS软件是来自英国Labcenter Electronics公司的EDA工具软件,采用PROTEUS作为单片机教学改革的软件,首先是由于它除了具有处理EDA设计的相关功能外,还具备设计单片机和外围仿真电路的功能,在单片机的实验教学中起着举足轻重的作用。其次,采用PROTEUS还便于教师在有限的实践教学学时内进行系统的教授,学生对课程内容也比较容易掌握。而且PROTEUS还便于开发和维护,它是目前世界上唯一将虚拟模型仿真软件、PCB设计软件和电路仿真软件三合一的设计平台,其模型处理器支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并仍在持续增加其他系列处理器模型。PROTEUS在编译中支持MPLAB、KEIL和IAR等多种编译器[3],支持KEIL也具备很多的优点,KEIL在单片机高级语言的设计中,具有开发容易和编译简单的特点,PROTEUS也是在KEIL的基础上进行仿真和开发的,因此,单片机实验教学改革是采用PROTEUS作为开发工具。

2.3基于EDA的单片机实践教学改革的可行性分析

在单片机实践教学改革中,主要从硬件和软件以及学生接受等方面分析其可行性。不仅要考虑教学改革中的成本还要考虑软件的开发性和可移植性,同时实验器材的可维护性也很重要,在教学中还要注重学生对实验的兴趣以及教学改革对学生创新能力的培养。

1)硬件方面。在过去的单片机实验教学中,实验室里每台计算机需要配置一台DICE-K51的单片机实验箱,在实验箱中可以完成相关的实验,其中包括软件实验和硬件实验,但这样的硬件环境存在实验箱笨重、容易损坏等缺点。例如在实验课中经常出现仿真串口不能正常连接的情况,易打消学生的学习积极性。而且在该实验箱的教学中,教学器材已将实验项目内部连接线完全连接好,在驱动实验中,也只需将接口中的连接线连接好,操作过于简单,不便于学生发挥主观能动性,也不便于学生更好地了解单片机的基本构造和原理。传统的教学实验箱还存在成本高和不易维护等缺点。为了便于教学,在上学期的实验教学中(包括本科和专科),笔者结合EDA仿真软件对单片机实验教学进行了改革,从学生的学习态度和学习效果来看,改革取得了良好的成效。

2)软件方面。在单片机仿真教学中,采用PROTEUS软件和KEIL-C软件作为教学改革的软件平台。在KEIL-C中用高级语言进行程序的设计与开发,KEIL通过一个集成开发环境(uVision)将宏汇编、C编译器、库管理、连接器和仿真调试器等整合在一起,在WINDOWS XP以上的开发环境中都可以运行。KEIL-C可以使用C语言进行开发,使学生能够较全面地巩固和应用汇编语言编程方面的理论知识,并且在KEIL-C的环境中,可以驱动PROTEUS的仿真程序,实现仿真效果,使用PROTEUS 软件进行微机仿真设计,实现计算机多媒体技术和虚拟仿真技术的有机结合,有利于培养学生的动手能力和实际开发的能力[4]。

3 EDA仿真实验教学改革的具体实施

在“单片机原理与应用”和“单片机应用技术”这2门课程的理论教学改革中,除了结合PPT讲解以外,还在课堂中穿插了PROTEUS软件的学习。在讲授PROTEUS软件时,先用案例教学的方式激发学生的学习兴趣,然后讲授在PROTEUS中各个部件的代号和画法,再从背景的设置等方面展开PROTEUS软件的学习。例如在讲解完基本组成、双列直插式引脚以及总线的连接后,直接在PROTEUS中教授ATM89C51的放置以及引脚的功能[5],通过放大电路图来深入讲解,可大大提高学生的学习兴趣。

在程序的开发和设计中,采用KEIL-C作为开发工具进行汇编语言和C语言的开发和驱动,通过界面可以了解PC的运行情况以及寄存器的分布和存储情况,同时可以连接到PROTEUS进行驱动和仿真,大大提高了学生的学习兴趣。

除了对理论教学进行了一些改革之外,在实践教学的改革中也使用了仿真软件,学生在理论课学习仿真软件的基础上,通过实践教学巩固课堂所学单片机原理的理论知识,学生的程序编写能力以及单片机开发能力也明显得到提高。通过PROTEUS将开发过程具体细化,进一步巩固了学生的动手能力,学生的学习能力和开发能力也有较大提高。

4 实践教学改革典型案例

在本科教学的实践教学改革中,实验学时占16个学时,分为8个实验。每个实验都结合EDA仿真软件实现,在前期的实践教学中让学生熟练掌握KEIL-C的设计软件,熟练应用C语言进行程序的设计和调试,在后期的设计中学生需学会使用KEIL-C进行仿真驱动,要求电路能在PROTEUS的环境下设计成功,并能通过驱动模拟单片机运行的结果。例如“0~99计数器”的实验项目,在该实验中要实现仿真LED显示器进行加1和减1的功能,以下通过该案例说明改革的效果。

在PROTEUS环境下的仿真设计图如图1所示,在该环境下测试连线没有问题之后,即可对程序进行调试和驱动。

图1 在PROTEUS环境下的仿真设计图

其次,在KEIL的环境下进行源代码驱动的编写如下:

#include "reg51.h"

#define uint unsigned int

#define uchar unsigned char

sbit p21=P2^1;

sbit p20=P2^0;

uchar count;

uchar counth,count1;

const uchar tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

void delay()

{

uint i;

for(i=0;i<244;i++);

}

void it0() interrupt 0using 1

{

count++;

if(count==100)

{

count=99;

}

}

void it2() interrupt 2using 2

{

if(count !=0)

{

count--;

}

}

void main()

{

IT0=1;

IT1=1;

EA=1;

EX0=1;

EX1=1;

PX1=1;

while(1)

{

counth=count / 10;

count1=count % 10;

P1=tab[counth];

p21=1;

delay();

p21=0;

P1=tab[count1];

p20=1;

delay();

p20=0;

}

}

将其调试成功并烧录成HEX程序。

最后,将烧录好的程序在PROTEUS的环境下进行仿真驱动,仿真的效果图如图2所示。

图2 仿真的效果图

该单片机实验通过仿真图文并茂地展现了实验结果,取得了良好的教学效果,学生的动手能力和创新能力也得到了明显地提高。

[1] 李燕.微机原理与接口实验模式的改革与实现[J].湘潭师范学院学报,2007(4):83-85.

[2] 丁永军,兰才会,张晶晶.EDA技术与开启EDA教学[J].甘肃高师学报,2006(2):71-72.

[3] 刘心红,郭福田,孙振兴,等.Proteus仿真技术在单片机教学中的应用[J].实验技术与管理,2007(3):96-98.

[4] 乔建华,李临生,田启川.Proteus在单片机教学中的应用分析[J].电气电子教学学报,2008(6):70-73.

[5] 许文斌.Proteus软件在单片机系统仿真实验教学中的应用[J].商业经济,2006(3):90-93.

(责任编辑高嵩)

Exploration on Reform of Experimental Teaching ofMicrocomputer Principle Based on EDA

TianSong,JiPeng,QiWenqing

(School of Computer,Hubei Polytechnic University,Huangshi Hubei 435003)

According to the present situation of theory teaching and practical teaching of SCM,combined with the application of EDA simulation software in SCM practical teaching,this paper discusses the advantages of the reform of practical teaching by using EDA simulation software.The good teaching result has been achieved by selecting the suitable EDA software to reform the SCM teaching and accordingly the students' practical and originative ability have been improved.

EDA;simulation technology;Proteus;KEIL

2013-12-02

湖北理工学院校级青年项目(项目编号13xjz060);2014年湖北省教育科学“十二五”规划研究课题立项项目。

田嵩(1981— ),女,讲师,硕士。

10.3969/j.issn.2095-4565.2014.04.018

G642.0

A

2095-4565(2014)04-0067-04

猜你喜欢
单片机程序驱动
基于模糊PI控制的驱动防滑仿真系统分析
屈宏斌:未来五年,双轮驱动,砥砺前行
基于单片机的SPWM控制逆变器的设计与实现
轨旁ATC系统门控柜接收/驱动板改造
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
试论我国未决羁押程序的立法完善
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
基于S3C6410的Wi-Fi驱动移植实现