服务热线:021-60766769
设为首页| 收藏本站|联系我们

仿真与实验相结合的单片机实验教学研究


单片机是电子技术与集成电路高速发展的产物,内部集成了包括运算器(CPU)、存储器、I/O口、中断和定时器在内的所有计算机必备组件,因此它也被称为单片微型计算机。单片机常被用于控制领域,比如汽车电子、消费电子、军事技术等。在这些领域中单片机通常都是作为被控系统的核心处理器,也就是以嵌入的方式使用,因此目前一些高端的单片机也被称为嵌入式处理器,这些嵌入式处理器可以搭载不同的操作系统,在功能上更加接近一台完整的计算机,应用也更为广泛。“单片机原理”课程是普通高等院校电子、通信类工科大专业平台的一门专业必修课,这门课程的宗旨在于让学生深刻理解单片机的基本构成,熟练掌握单片机的编程方法。但在实际教学中,尤其是单片机的实验教学中,由于单片机实验要求学生有较强的动手能力和综合运用能力,所以学生学习难度和老师教学难度都比较大。
本文针对上述问题提出一种仿真与实验相结合的实验教学方法,通过在线编程软件Keil C51和在线调试软件Proteus将抽象的问题形象化、具体化,降低单片机实验的学习难度和教学难度。
1 在线仿真在单片机实验教学中的应用
“单片机原理”是一门面向各种应用的课程,其综合型、设计型的实验,内容复杂、交叉范围广、综合性强,是单片机实验教学的重点和难点。在实验教学过程中,教师不仅要讲解单片机的硬件结构、编程思路,还要讲解电路的原理图、硬件连接关系、程序设计方法以及调试注意事项等。为了降低实验难度,可以将实验分成课堂上和课堂下2个部分。课堂下就是在线仿真,而课堂上则是硬件连接与调试。
在线仿真包含了原理图设计、代码调试、程序加载运行3个阶段,每个阶段都必不可少,各个阶段密不可分。原理图设计阶段和程序下载主要由Proteus软件实现,而代码调试则由Keil C51实现,下文将对在线仿真3阶段的功能进行详细描述。
1.1 原理图设计
Proteus也可以看作是Protel use的简称。众所周知,Protel99SE是使用非常广泛的硬件制图软件,包含原理图设计、PCB设计等功能。而Proteus则是英国Labcenter electronics公司推出的一款工具软件,它不仅具有Protel99SE的原理图设计和PCB设计功能,最重要的是它可以在线加载程序并进行在线调试运行,是目前世界上唯一一款将电路仿真、PCB设计和虚拟模型仿真三合一的工具软件。其处理器模型选择范围很大,支持包括8051、HC11、PIC10/12/16/18/24/30/dsPIC33、AVR、ARM、8086、MSP430、Cortex和DSP在内的所有系列处理器,目前仍在不断扩展支持范围。在程序编译调试方面,支持IAR、Keil和MPLAB等多种编译器。
本文选择Keil作为程序编辑器。
通过Proteus软件完成原理图设计,首先要进行器件选型,Proteus软件提供丰富的元器件库,常用的处理器、IC电路、阻容器件及接插件等,都可以直接在元器件库中找到并拖入原理图中,再根据实际需要连线完成原理图设计。为了保证最终的在线仿真结果正确,在原理图设计时必须确保原理图电气特性正确,硬件连接无误,核心处理器外围电路配置得当,以及阻容器件参数选择正确。任何一个环节有误都有可能导致在线仿真得出不正确的结果。
1.2 代码调试
单片机实验教学中代码调试采用的软件平台是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,本文简称Keil C51。相对于汇编语言来说,C语言结构性更好,可读性更高,也更便于后期维护,学生学习难度也较低。而C51则是C语言在51单片机中的特殊应用,它除了C语言本身具有的特点外,还提供了丰富的库函数和功能强大的集成开发调试工具。与C语言类似,一段完整的C51代码包括头文件部分、变量定义、函数声明、主函数及多个子函数。在线调试要得到正确的结果,在代码调试环节首先必须保证语法编译通过、程序设计没有逻辑错误。最重要的一点也是最容易忽略的一点是,由于用于在线仿真的代码与直接下载到硬件中的代码类似,要想在调试中看到期望的实验现象,则必须让主体程序进入死循环无限执行下去,如果程序执行一次就停止,则很难观察到所需要的实验结果。
1.3 程序加载
在完成原理图设计和代码调试以后,在线仿真的最后一个阶段就是程序加载运行。程序加载必须以原理图设计和代码调试为基础,只有建立起正确的原理图,生成十六进制的可执行代码文件,在程序加载运行环节中才能得到正确的实验结果。
2 仿真与实验相结合的实验教学特色
传统的单片机实验教学要求学生理解硬件电路的原理图,熟练掌握原理图中核心器件的编程思路、编程方法,完成代码调试后再把程序下载到单片机中运行,最后根据实验结果再对代码进行修改,直至得到预期的实验结果。整个实验过程涉及内容较多,学生很难在课堂上完成所有教学任务,对实验内容的理解难以深入,教学目的难以达到。而仿真与实验相结合的实验教学模式,则把实验分成以下2个部分来实现:
(1)课堂下,教师提前布置好实验任务,提出明确的实验要求,学生按照要求完成原理图设计和代码调试,充分理解实验内容。通过Protues仿真软件,还可以将调试好的程序下载到单片机运行,查看实验结果。在线仿真调试类似于硬件调试,程序运行后可以查看各个外设的状态,也可以通过示波器等辅助设备查看各个接口状态,而且程序修改方便,移植性好。
(2)课堂上,将预先设计好的原理图对照硬件电路进行连接,连接无误后给硬件电路和下载器供电。
将预先调试好的程序下载到单片机中运行。通常来说,只要在线调试实验结果正确,那么下载到硬件中也会得到相同的结果。如果出现预料之外的实验结果,首先应查看硬件电路的连接是否正确,原理图中的参数选择是否与硬件电路一致,任何一个环节出错都会导致实验结果的错误。硬件电路的调试不可控因素多,存在出现各种问题的可能性,但在充分理解实验内容的基础上,通过逐步排查,最终都可以解决问题,得到预期的结果。
归根结底,仿真与实验相结合的实验教学特色在于,把实验教学从纯课堂教学变成了课堂上与课堂下相结合、硬件调试与软件仿真相结合的过程。根据实际教学情况,采用Keil C51进行代码调试,采用Proteus软件进行原理图设计和在线仿真,既降低了实验难度,也增加了实验的趣味性、生动性。学生在课堂下可以充分利用计算机进行在线仿真、调试练习,不必受课堂实验时间的约束,提高了学生的学习效率,也加强了学生自主开发的能力,下文将以一个实际的实验教学案例,对仿真与实验相结合的实验教学进行详细介绍。
3 仿真与实验相结合的实验教学设计
如前文所述,将“单片机原理”的实验教学分成课堂上和课堂下两个部分。课堂下部分就是在线仿真,而课堂上部分则是硬件连接与调试。这样可以让学生在实验课前熟悉相关的理论知识,完成原理图设计和程序设计、代码调试。而在实验课堂上,可把有限的时间最大限度地用来完成硬件连接与调试,提高实验达成度。本文以“A/D转换实验”项目为例,进行了仿真与实验相结合的教学设计。
3.1 教学内容设计
ADC0809是一款8位、并行输出的AD转换器,其功能是将输入进来的模拟电压量进行采样、量化,然后以一定的数字量结果输出出来,实质上就是一个数字量与模拟量的接口转换芯片。这里的8位就是指模拟量转换成数字量后最大输出结果为28。为了便于观察转换结果,每完成一次AD转换后,就将转换得到的数字量显示在数码管上。
本实验中,通过一个调压电路提供模拟输入源,由于ADC0809的测量范围为0~5V,所以将调压范围设置为0~5V,调压电路如图1所示。

图1 调压电路图
ADC0809有8路独立的模拟量输入端,本实验仅需要使用其中一路,芯片相关的控制信号如START、EOC、OE、CLK等,都连接到单片机相应的管脚上接受程序控制。当单片机配置完成,ADC0809启动转换信号到来后,就开始进行模拟量到数字量的转换,输入0~5V的模拟量分别对应着0~255的数字量,转换结果由4个数码管显示。
3.2 在线仿真
本实验的在线仿真包括原理图设计、代码调试和程序加载运行,其中原理图设计及程序运行结果如图2所示。

图2 原理图设计及在线仿真程序运行结果图
(1)原理图设计。本实验原理图设计的核心器件包括单片机AT89C51、ADC0809和四位数码管,在元器件库中找到相应的器件后再对其外围电路进行连接。单片机必须的外围电路包括电源、地、晶振电路、硬件复位电路,缺一不可。而ADC0809除了电源、地正确连接外,还必须将模拟电压输入源连接到指定的输入通道上,将START、EOC、OE、CLK等控制信号连接到单片机相应的I/O口上,通过程序设计提供必须的时序,启动AD转换。四位数码管采用的是动态显示方式,4个数码管共用段码,通过位选择线每次点亮1个数码管。
(2)代码调试。本实验设计的代码调试包括AD转换和数码管动态显示2个部分,鉴于篇幅所限,下面重点分析AD转换部分。AD转换的时序如图3所示。首先,输入3位地址,并使ALE为高电平,将地址存入地址锁存器中,经地址译码器译码后,从8路模拟通道中选通一路将模拟量送到比较器。然后送START一个高脉冲,START的上升沿使逐次逼近寄存器复位,下降沿启动A/D转换,并使EOC信号为低电平。当转换结束时,转换的结果送入到三态输出锁存器,并使EOC信号回到高电平,通知单片机转换结束。最后,当单片机执行读数据指令时,使OE为高电平,则从输出端D0—D7读出数据。

图3 AD转换时序图
(3)程序加载运行。在完成原理图设计和代码调试后,将生成的十六进制文件加载到单片机中开始在线仿真,程序运行结果如图2所示。当输入的模拟量为2.5V时,数码管上显示的结果为127。由于人眼能够识别的闪烁频率较低,只要每个数码管闪烁的频率不是很高,通过肉眼就看不出闪烁现象。也就是说虽然外面观察到的显示结果是一个静态的数字127,但实际上数码管分别分时段显示了数字1、2、7。
4 结语
仿真与实验相结合的教学模式,把实验教学从纯课堂教学变成了课堂上与课堂下相结合、硬件调试与软件仿真相结合的过程。这种教学模式降低了实验难度,增加了实验的趣味性、生动性,也解决了实验场地、实验设备和课堂实验时间有限的难题。通过使用计算机在线仿真,学生可以随时随地进行练习,对课堂上的实验教学起到很好的促进作用。经过2年多的教学实践探索,采用仿真与实验相结合的“单片机原理”教学效果显著,课堂上学生实验的达成度有了明显的提升,学生对单片机课程的学习兴趣大大提高。

上海育仰科教设备有限公司,立于上海,心怀天下
生产基地:上海松江工业园
销售中心:上海市嘉定区鹤旋路26弄22号
电话:021-60766769 传真:021-60766769 公司邮箱:yuykjsb@126.com
沪公网安备31010702001298号 教学设备|机械教学模型|楼宇实训设备|维修电工实验台:上海育仰公司 All Rights Reserved  沪ICP备16023097号-1
展开