李杏彩1刘雁2
广州应用科技学院电气与汽车工程系广东广州
摘要:借助先进的仿真技术,在课堂中引入Proteus软件,讲练结合,从根本上改变单片机课程的传统教学模式,使得学生在学习过程中能更好的把理论和实践结合在一起,实现“教、学、做”一体化。借助Proteus软件,能够为学生学习单片机创造更好的实验条件,大大激发学生的学习兴趣和热情,提高学生的单片机系统开发能力,提升单片机的教学质量。
关键词:Proteus软件;仿真;单片机;改革
一、引言
《单片机原理与应用》是电类相关专业的一门极其重要的专业基础课程,该学科的理论与实践性均非常强。该课程软硬件紧密结合,软件方面涉及汇编语言知识和C语言知识,硬件方面综合了输入输出接口、数字电路、通信技术等知识,总的来说,单片机具有较强的技术性、工程性、实践性,走在现代电子技术的前沿。该课程作为电子专业最重要的核心课程之一,它是“电子”高素质复合技能型人才所需全部自动控制类知识结构的载体,占据着相当重要的地位[1]。
教师在教室里采取多媒体和板书相结合的教学方式按部就班的传授课本里系统的理论知识,这是单片机课程理论课传统的教学方式,也是大多数高校普遍采用的方式。教学内容主要包括单片机的硬件和软件两部分,硬件部分主要是:硬件结构及基本原理、单片机的中断系统、I/O接口电路等几部分内容;软件部分主要是:单片机的汇编语言、单片机的C51语言。讲授完理论知识后,通过若干验证性的实验对相应的知识进行巩固和加强。理论课与实验课是分离的,甚至是脱节的,这样的教学方式后患无穷。学生在理论课上学到的单片机知识没有及时结合和联系实践,导致学生理论知识掌握不到位,不能很好地把理论应用于实践。另一方面,在实验课上,因为技能训练得不到及时的理论指导,容易导致学生在软硬件设计及调试上能力不足,往往面对设计要求,无从下手。许多学生学完单片机后仍然不能掌握它的基本使用方式,致使在单片机教学中,学生觉得难,学得吃力,老师教得累,达不到令人满意的教学效果。因此需要对单片机的教学方式进行改革,彻底改变这种“难教”、“难学”的现象。
二、Proteus软件简介
Proteus嵌入式系统仿真软件与开发平台是由英国Labcenter公司开发,是目前世界上 、最完整的嵌入式系统设计与仿真平台。Proteus软件的功能强大,它集电路设计、制版及仿真等多种功能于一身,真正实现了从概念到产品的完整设计[2]。是目前世界上 将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台[3]。
Proteus深受广大单片机用户的青睐,其主要特点:(1)具有完美的可视化功能。(2)具有大规模的元件库,包括模拟电路、数字电路、单片机及其他外围电路。(3)具有功能完备的各种调试器、仿真器和各种虚拟仪器。(4)支持多种类型单片机。
三、Proteus软件在单片机教学中的应用
(一)引入Proteus的必要性
单片机集多门应用技术于一体(如图1所示),其作为控制中心,可以通过接口与各门技术相结合。单片机的实践性、应用性很强。按照传统的教学模式,要让学生把单片机和其他课程结合在一起用硬件实现一个系统电路的综合性设计,存在着很大的困难。因为一方面受到硬件设备条件限制,另一方面耗时大,完成综合性设计占用课时太多。
图1单片机课程与其他课程的关联
引入Proteus软件,可以仿真单片机及外围器件,只需要一台计算机、一套仿真软件,就能摆脱各方面的限制,轻松建立一个功能齐全的虚拟实验室。学生熟悉软件操作之后,就可以在计算机上学习单片机应用系统,并进行电路设计、仿真、调试等,一定程度上弥补设备不足的问题。另一方面,引入软件仿真技术能更好地把单片机课程与其他课程结合起来,完成系统电路的综合设计。利用软件可缩短软硬件设计周期,克服传统教学方法的不足,极大地提高单片机的教学效果。借助这个虚拟实验室,学生可以利用课余时间,完成各种单片机综合电路的设计,进一步提高电路设计和软件设计能力。在单片机教学中引入虚拟仿真,有利于高校培养单片机方面“双能力”应用型、创新型人才[4]。
(二)Proteus软件与单片机理论教学相结合
,引入Proteus软件使理论教学结合实践
Proteus软件有着丰富的硬件资源库,可以实现单片机教学过程中所有涉及的实例[1]。在课堂理论教学中,针对一些关键的知识点,构建虚拟硬件电路,借助多媒体用Proteus软件来进行单片机电路仿真的演示。通过仿真演示,使得学生更直观、更形象地看到单片机知识的应用,帮助学生更好地接受和理解相关的重点、难点。
第二,引入Proteus软件改革单片机教学
把Proteus软件仿真技术引入到单片机理论课教学中,同时整合、优化单片机课程教学内容,由简到繁、由易到难、讲练结合、循序渐进地设计典型项目和学习任务[5],从单片机教学内容、教学方法以及教学内容组织方式三个方面对课程进行改革。
(1)改革教学内容
单片机教学内容涉及软件和硬件。硬件方面,以传统知识为根基,在讲授51系里单片机传统内核的基础上,适当引入新的先进器件,使学生跟上现代电子技术发展的步伐。软件编程方面,传统的教学以讲授汇编语言为主,汇编语言直接面向CPU,效率高,对硬件的可操控性强,但汇编语言与CPU紧密结合,必须基于单片机内部结构及功能的基础上,因此,大部分学生会觉得学起来很难。而c语言面向程序员,效率低,硬件可操控性差,但对单片机内部结构及功能的要求很低,相对来说,学生会更容易掌握。所以,应当以汇编语言为基础,在课堂上要求学生掌握基本的程序结构,熟悉常用的汇编指令即可。
(2)改革教学方法
利用Proteus软件仿真技术将理论教学和实践教学有机结合,将理论知识充分合理的应用到实践,同时将实践贯穿到理论教学中,真正实现“教学做”一体化[6]。在理论课堂教学中,理论和实践交替进行,直观和抽象交错出现,没有固定的先实后理或先理后实顺序,而是教师的教和学生的学有机结合,边做边学,边学边做。[6]传统教学在普通多媒体教室上课,单纯讲授理论知识,脱离实践,枯燥无味。采用在机房上课的方式,在教学中,通过多媒体广播平台利用Proteus软件仿真技术贯穿整个教学环节,针对每个重要知识点结合例题向学生演示仿真结果。另外,针对每个重要知识点设计程度相当的仿真设计练习,让学生在课堂通过练习,进一步巩固相关知识。在教学实施过程中,可以 限度地培养学生的思维能力、观察能力和动手能力,增强学生解决实际问题的能力。
(3)改革教学内容组织方式
每次教学均围绕一个任务目标进行各教学环节的组织,以任务目标为主线,进行各相关知识点和技能点的讲解。任务中用到什么知识点和技能点就讲解什么知识点和技能点,用到多少就讲多少,在哪里用就在哪里讲。以教师为主导,以学生为中心,边讲边学,边学边练。教师讲解过程中,要求学生在计算机上用Proteus和KeilC软件进行仿真和验证,并要求部分学生上讲台进行分析和操作。教师对学生存在的疑问进行实时解答,要求学生对课堂教学任务电路和程序进行局部修改,以培养学生单片机应用电路和程序的设计方法。
(三)Proteus软件单片机应用范例
在单片机的理论教学过程中,重点和难点内容是定时器、中断、输入/输出接口这几部分。由于理解不透彻,大多数学生难以掌握这部分知识的应用,因此这些内容一直是学生的“痛点”。要除去这些“痛点”,就要把抽象的内容简单化,利用Proteus软件,使知识的应用变得直观,可视,设计相应的实例,结合仿真结果,形象生动地进行讲解,可使学生更加容易理解和吸收。下面以电子秒表的设计与仿真作为实例。
,硬件电路设计
该实例是基于单片机设计一个电子秒表,完成00-99秒的计数及数码显示。硬件电路的主要组成部分如下:AT89C52单片机作为控制中心,两个共阳极LED数码管用于显示秒数,两个按键用于控制秒表的启动/暂停及清零,另外有单片机的时钟电路和复位电路。其中K1为启动/暂停按键,首次按下K1键,启动电子秒表工作,两个LED数码管所显示数值每一秒加1,循环显示秒数00—99,再次按下K1键,电子秒表停止工作;K2为清零按键,若K2键按下,电子秒表清零,两个LED数码管显示00。
打开Proteus软软,根据电路选取各元件,绘制电路如图2所示。
图2电子秒表原理图
第二,软件程序设计
根据实例的电路功能,确定软件设计思路如下:利用单T0工作于16位的定时方式(工作方式1),设置计数初始值为0B03CH,产生50ms的定时,定义计数变量Counter,用于对50ms计数20次,从而得到1s的延时;定义Second变量,对1s定时进行进制加法计数,即可得到00-99秒,并将相应的时间送往LED动态扫描显示;定时器T0采用中断方式。另外,利用两个外部中断,实现清零、启动和暂停。该实例把单片机的定时器、中断、I/O接口这几部分内容都结合在一起,能帮助学生更好的理解和掌握这些知识。
用C语言编写的程序代码清单如下:
#includereg51.h
#defineucharunsignedchar
sbitP3_0=P3^0;sbitP3_1=P3^1;
ucharcodeTab[16]={0xC0,0xF9,0xA4,0xB0,
0x99,0x92,0x82,0xF8,0x80,0x90};
//驱动共阳极数码管显示0-9的字段代码
ucharSecond=0,Second_0=0,Second_1=0,Counter=0;
voidLED_Display(void);//数码管显示函数
{
P2=Tab[Second_1];
P3_0=1;P3_1=0;//十位的显示
Delay();
P3_0=0;P3_1=0;
P2=Tab[Second_0];
P3_0=0;P3_1=1;//个位的显示
Delay();
P3_0=0;P3_1=0;
}
voidMYWZD_0()interrupt0//INT0中断对应函数
{TR0=!TR0;}//启动与暂停切换
voidMYWZD_1()interrupt2//INT1中断对应函数
{Second=0;Counter=0;Second_1=0;Second_0=0;}//清零
voidMYDSQ_0()interrupt1//T0中断对应函数
{
TH0=0x3c;TL0=0xb0;//重新初始值,50ms的定时
Counter++;//每50ms,计数变量加1
if(Counter==20)//累计1s
{Counter=0;Second++;
if(Second==60){Second=0;}
Second_1=Second/10;//秒的十位
Second_0=Second%10;}//秒的个位
}
voidDelay(void)//延时子函数
{uchardatai;
for(i=;i0;i--){;}}
main()//主函数
{TMOD=0x01;//定时器0工作于16位定时
TL0=0x3c;TH0=0xb0;//50ms的定时
EA=1;//开总中断
ET0=1;//开T0中断
TR0=0;//T0暂停工作
EX0=1;//开外部中断0
IT0=1;//脉冲触发
EX1=1;//开外部中断1
IT1=1;//脉冲触发
PT0=1;
while(1){Display();}//显示
}
第三,仿真调试
利用Proteus绘制电路原理图,根据电路功能完成C语言程序的编写,并用KeilC软件对源程序进行编译产生可执行文件,可执行文件后缀名为.HEX。把可执行文件添加到AT89C52中,单击运行按钮,对电路系统进行虚拟仿真。按下K1键,然后放开,电子秒表进入工作状态,每秒加1,数码管循环显示计数值00-59。当再一次按下K1键,则暂停,若需继续工作,则再次按下K1键即可。若按下K2键,然后放开,电子秒表实现清零,数码管显示00。仿真结果显示在电路原理图上,非常直观。
四、结束语:
近几年,我们在单片机理论教学中,结合Proteus软件进行电路功能的仿真,对单片机的教学方法和教学内容的组织方式进行全面深入的改革。其中,理论课在机房上课,通过多媒体广播软件,边讲述理论知识,边通过电路实例向学生展示仿真结果,让学生直观看到知识的应用。同时课堂上,针对一些关键的知识点,让学生进行堂上练习,通过Proteus和KeilC软件进行程序编译和虚拟仿真,理论结合实际,现学现用,实现“教、学、做”一体化。实践证明,Proteus仿真软件成为单片机课程改革的强有力工具,它的应用推进了实训教学的实施,节省了教学成本,激发了学生学习的积极性,改善了教学效果,学生的设计与应用能力有了较大的提高。[7]把Proteus仿真软件引入单片机教学中能极大地提升单片机的教学质量和教学效率,具有较高的推广价值[8]。
参考文献:
[1]胡海峰.基于创新创业能力培养的单片机实验教学模式研究[J].科技资讯,,15(31):-.
[2]朱清慧,张凤蕊.Proteus教程-电子线路设计、制版与仿真(M).北京:清华大学出版社,,ⅲ-ⅳ,1.
[3]胡品伟,赵俊杰.Proteus仿真软件在单片机教学改革中的应用[J].江苏理工学院学报,,23(04):-
[4]张启升,邓明,闫晋锋,牛芗洁.软件仿真技术在单片机教学中的应用(下)——仿真技术在单片机教学中的应用实例[J].科技信息(科学教研),(25):59-60.
[5]张银君,陈梦吉.虚拟仿真在机电类教学中的应用,《教师教学能力发展研究》科研成果集(第十三卷)(北京):工程科技Ⅱ辑,机械工业,社会科学Ⅱ辑,,-.
[6]张翠英,王洪涛,郑秀红,解丽华,温卫中.《单片机原理及接口技术》“教、学、做”一体化教学模式的研究与实践[J].教育教学论坛,(41):-.
[7]张英平,王立忠,王春武,张朝阳.Proteus仿真软件在单片机课程教学改革中的应用[J].廊坊师范学院学报(自然科学版),,16(02):-
[8]冯友谊.Proteus软件仿真技术在单片机教学中的应用[J].武汉职业技术学院学报,(02):70-72+82
作者简介:
李杏彩(-),女,汉族,广东省江门市新会人,广州应用科技学院讲师,硕士。研究方向:智能控制与应用。
刘雁(-),女,汉族,青海省西宁市人,广州应用科技学院讲师副教授,硕士。研究方向:控制技术与应用。
基金项目:广东省教育厅年度普通高校认定类科研项目“基于多学科交叉特色的工科专业学生工程创新能力培养研究”(KTSCX);年广东省高等教育教学研究和改革项目“虚拟仿真技术在电类课程教学改革中的应用”;年广州大学松田学院教改项目“Proteus软件仿真技术提升单片机教学质量的教学改革探索和研究”(PX-)
投稿邮箱:xfdk
.转载请注明地址:http://www.abmjc.com/zcmbhl/1776.html