仿真实例教学法在单片机理论教学中的应用

时间:2022-08-20 01:49:08

仿真实例教学法在单片机理论教学中的应用

摘 要:针对单片机理论教学中存在的实际问题,提出利用Keil和Proteus仿真软件建立单片机虚拟实验室,使其应用到展示应用实例、理解单片机原理、学习程序设计、观察实验结果等课堂教学中,让单片机的学习直观、有趣,充分调动学生学习的积极性。

关键词:单片机;仿真软件;实例教学;

Application of simulation case teaching method in single-chip microcomputer theory teaching

Li Shaoping, Peng Zhiping

Guangdong university of petrochemical technology, Maoming, 525000, China

Abstract: In view of the problems in single-chip microcomputer theory teaching, this paper proposes to build up single-chip microcomputer virtual laboratory by making use of such simulation software as Keil and Proteus, and apply it to class teaching such as displaying application examples, understanding single-chip microcomputer principle, learning program design, watching experiment results. The purpose is to let single-chip microcomputer learning intuitive and interesting, fully arouse the enthusiasm of students' learning in addition.

Key words: single-chip microcomputer; simulation software; case teaching

单片机课程是高等工科院校电子信息工程、通信工程、计算机等专业必修的专业基础课,成为专业培养计划中的重要一环。该课程是数据逻辑、电路、模电、高级语言程序设计的后续课程,实践性强,应用广泛。课程覆盖了电子硬件、软件应用知识,内容跨度大,但又相互联系,紧密渗透,用传统的教学方式让学生感到难学。问题主要在于:

(1)学生经常会问为什么学这门课有什么用?教师理论上会给学生简述,但学生没有感性认识到单片机的应用,很难激发学生学习的积极性。

(2)单片机理论教学先讲单片机原理后讲汇编语言,再讲应用,理论和实践不能同步进行。用原理来引导学生入门,学生很难懂,觉得枯燥乏味;在讲汇编语言时,又很难与硬件连接上,学生往往把单片机当做一门计算机语言来学习。

(3)单片机应用的例题,很多需要电路原理图,用传统的PPT教学,很难直观地描述原理、操作过程和运行结果,学生的学习很吃力,影响教学效果。

以上问题严重抑制了学生学习的主动性和创新意识,经过几年的教学探索,我们通过构建由Keil和Proteus仿真软件组成的虚拟单片机实验室,并在教学中采用仿真实例教学法较好地解决了以上问题。

1 仿真软件简介

1.1 仿真软件Keil

Keil是目前最流行的开发单片机的软件,提供了包括编译器、宏汇编、连接器、库管理和仿真调试器在内的完整开发方案,通过集成开发环境将这些部分组合在一起,并且提供多种视图窗口观察程序运行的动态过程。Keil支持汇编语言和C语言的程序设计(本文用汇编语言阐述),易学易用,只要安装在一台普通计算机上,即可编写、编译以及调试程序。

1.2 仿真软件Proteus

Proteus是由英国Labcenter Electronics公司开发的EDA工具软件,已有近二十年的历史,在全球得到广泛应用。用Proteus可以进行电路仿真、数字电路仿真、单片机及其电路组成系统的仿真,提供各种虚拟仪器,如示波器、信号发生器等,便于观察设计电路的执行结果,并对Keil等第三方软件提供良好的支持。

2 仿真实例的应用

单片机课程内容抽象,逻辑性强,主要体现在单片机的存储器结构,I/O口、定时器/计数器不好理解,指令不好记忆等方面。下面用仿真实例方法讲述,把抽象的知识具体化,帮助学生理解记忆。

2.1 仿真实例展示单片机应用,激发学生学习热情

如何让学生对单片机课程感兴趣,开始阶段就要明确学习目的,感受到单片机的应用情况。带学生到企业参观是比较好的方式之一,但是大部分学校没有这种条件。那么只能利用课堂时间来解决,目前最好就是用仿真的方法来展示单片机的应用,教师能用有限的课堂教学时间,通过仿真实例演示单片机的应用。以水温控制系统为实例来讲述单片机的应用。如图1所示,首先介绍AT89C51单片机控制部分,同时带一块单片机芯片给学生看,让学生感受到仿真的真实性。然后简述单片机能够根据温度传感器DS18B20所采集的温度数据来控制加热器启停,从而把温度控制在设定的范围之内。怎样控制启停?就要结合图来操作和简述。图中设定的最高温值为90度,实际温度值(仿真水温值)通过调整DS18B20按键来调整,当值高于90度时,加热提示灯灭,停止加热;当值低于90度时,加热提示灯亮,启动加热系统,继续加热。通过这样一个过程,让学生目睹单片机在控制水温中的应用。当然,也可以展示其他实例,让学生感到小小单片机能广泛应用于各行各业中,扩大了学生的眼界,从感性中来激发他们的学习热情。

图1 Proteus水温控制系统

2.2 仿真实例理解单片机原理,降低学生学习难度

单片机原理主要包括单片机的组成和结构分析,涉及很多抽象概念和电路知识,是后面学习汇编和接口技术的基础,要让单片机抽象的知识变得简单、易懂,需要仿真软件实例的辅助。Keil提供丰富的视图窗口,调试可以通过视图窗口观察值的变化。我们来看如下程序段:

MOV PSW,#00000000B

MOV R0,#05H

MOV R3,#0F3H

MOV PSW,#00001000B

MOV R0,#16H

MOV R3,#0F5H

这段程序的作用是在不同的工作寄存器区给相同的工作寄存器赋值,可以通过Keil视图窗口演示工作寄存器及其对应的存储器单元值,让学生理解它们的关系。图2是寄存器和数据存储器窗口,单片机在复位状态时,R0~R7工作寄存器及其对应的内存值为00H。单步运行第1条指令,工作寄存器工作在0区,接着运行2、3条指令,就为图2(a)的状态,这时R0和R3值分别为05H和F3H,分别对应内存00H和03H单元的值。继续运行第4条指令,工作寄存器工作在1组,接着运行5、6条指令,就为图2(b)的状态,R0和R3值被改变了,分别为16H和F5H,但00H和03H单元值保持不变,而是分别对应内存08H和0BH单元的值。通过这样的视图来演示、讲述工作寄存器R0~R7在不同的工作寄存器区与存储单元的对应关系,学生很容易理解、接受。总的来说单片机原理的大部分内容可以实例化、具体化,如时序定时单位的晶振频率、机器周期不好理解,可以通过运行延时程序来观察时间的变化,随时修改程序,动态观察时间的变化,及时分析原理,学生就很容易理解了。

(a)

(b)

图2 工作寄存器与对应的内存单元

2.3 仿真实例讲解单片机指令和编程,提高学生学习效率

学习单片机的汇编指令和编程与学习高级语言有很大的区别,汇编是低级语言,只有在理解硬件知识的基础上,才能学好汇编语言,我们以图3单片机控制彩灯为例,阐述用仿真实例方法讲解汇编指令和程序设计方法。刚开始学指令时,学生对于字和位操作指令模糊不清,我们用“CLR P1.0”和“SEBP1.0”位指令让一盏灯亮灭闪烁给学生看,学生会觉得新鲜好奇,用“MOV P1,#0FEH”和“MOV P1,#0FFH”字节指令修改程序,再次运行,发现用字节和字的方法都是一样效果,再来简述位和字节操作指令的区别与联系,学生就很容易接受。然后开展互动,让学生修改程序,如果让灯全亮和全灭,应该怎样修改?大部分学生会积极发言说出自己的方法。学习其他指令也可类同,这种实例法动静兼备,光色融为一体,学生自然而然地理解并记住了指令。

图3 Proteus彩灯图

查表程序设计是单片机汇编程序设计中最常用的程序设计方法,但对于初学者来说一个难点,用查表的方法让灯闪烁,输出到灯的数据是存放在程序存储器中。我们先存放简单的数据,让灯成流水状态,分析如何设计数据,找地址和相应的数据,然后适当修改数据,让彩灯变小样式流动或闪烁。通过这样的讲述,当大部分学生掌握程序之后,就进行多方位的启发,要求学生课后模拟广告灯、装饰灯的多种样式来编程,学生会非常积极地表现。用仿真实例教学法能让学生直接看到单片机控制信息的变化,使其更具有直观性、生动性和真实性,将那些原来难以理解的指令和程序变得简单、有趣。这种方法调动学生的感官,加深学生对所学内容的理解,提高了学习效率。

2.4 仿真实例讲解单片机应用结果,丰富课堂教学内容

单片机作为波形发生器广泛应用于医学、教育、通讯、工业控制、军事和宇航等领域,在教材上都会有单片机控制输出波形的实例。用传统方法讲述,摸不着,看不到,比较抽象。用仿真工具来简述,效果非常好,如用单片机的P1.0口输出一个矩形波,在软件方面用T0或T1的中断方式和查询方式来编程,然后用Keil生成目标文件,导入Proteus原理图运行,通过Protues的示波器直观单片机控制输出的波形(如图4所示),可以验证软件编程是否成功。同时也可以修改程序,让单片机控制输出任意的波形形状,发现单片机控制灵活,示波器输出逼真,单调的实例丰富起来了。

图4 Proteus示波器观察控制信号

3 结束语

经过几年的教学实践表明,Keil与Proteus仿真实例在单片机理论教学的应用,能从软硬件结合,应用性的角度简述理论知识,快速、直观展示应用实例,学生不但能很好地理解抽象、繁杂的理论知识,而且能感性认识单片机应用的开发过程,在锻炼学生系统掌握知识的同时,也开阔了学生的视野,调动了学生学习的兴趣,但也给教师提出了更高的要求。教师要与时俱进地学习单片机的仿真技术,才能传授学生新的知识。教师在上课前需制作好Proteus原理图,适当编好程序,这样才能在有限的课堂时间里传授更多的知识。

参考文献

[1] 朱清慧,张凤芯.Proteus教程―电子线路设计、制版与仿真[M].北京:清华大学出版社,2008.

[2] 张子红,刘鑫.基于Proteus的单片机课程教学改革[J].单片机与嵌入式系统应用,2010,11.

[3] 高卫东,辛友顺.51单片机原理与实践[M].北京:北京航空航天大学出版社,2008,1.

[4] 万志平.仿真软件在电类课程教学中的应用[J].实验室技术与管理,2009,4.

上一篇:例谈高考语文主观题中“隐形的翅膀” 下一篇:信息技术会考策略谈