摘 要: 单片机技术是工业自动化领域最主要的技术之一,综合性和实践性很强,传统的教学方法已不适应社会对高职类单片机人才的要求。本文探索如何将虚拟仿真平台融合到单片机教学过程中,从而缩短学生技能和岗位要求之间的差距,为单片机教学方法改革提供了思路。
关键词: 单片机;虚拟仿真; 教学改革;高职教育
中图分类号: TP 368 文献标识码:B The Research of PID control Based on PSO in load forecasting Chen Jun1,Qiang Jun2, Tian Li3
Abstract: Singlechip Microcomputer(SCM) is one of the most primary technologies in the field of industry automatization, with high synthesis and practice. The traditional teaching method is not suitable to the desire from society to higher vocational education SCM professional. This paper quests for how to introject the virtual simulation software into the SCM teaching process, consequently shorten the distance between students skill and post standard, and provides new ideas for SCM teaching method reformation.
Keywords: Singlechip Microcomputer; virtual simulation; teaching reformation; higher vocational education
0 引言
《单片机原理及应用》课程是高职类院校电子、自动化、计算机等专业的必修专业课程[1]。在我国,本课程以MCS-51系列单片机为例,阐述单片机的硬件结构、指令系统、中断和定时/计数器、程序设计、扩展技术及应用,涉及电子和计算机技术等众多领域,该专业课具有综合性强、实用性强和工程性强等特点。这样一门多基础、多理论的实践性学科,如采用传统的板书灌输式教学,难免会让学生感到难学,教师感到难教[2]。
授课教师应积极探索出适合现代单片机教学的平台,采用现代化教学手段,提高教学质量和效果。而伴随着计算机软件技术的飞速发展,大量的仿真工具在电子信息领域出现,proteus和Keil C51就是其中较为杰出的两种。基于此建立起的仿真实验平台,只需由电脑和这两个软件就可建立,完全不用仿真器、编程器、实验板以及电源等装置,结构清晰明了,功能强大,硬件损耗极低,无论是实践教学还是配合投影仪课堂教学,其教学效果都会非常好。
1 Proteus简介
Proteus是英国Lab center electronics公司出版的EDA工具软件。它不仅具有其他EDA工具软件的仿真功能,还能仿单片机及外围器件,是目前最好的单片机及外围器件的仿真工具[3]。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。将其与KeilC51集成开发环境连接,用汇编和C语言编写的程序编译好之后,立即可进行软硬件结合的仿真工作,使得仿真工作可以从工程的角度直接看程序运行和电路工作的过程和结果,弥补了实验和工程应用间脱节的矛盾和现象[4]。
Protues主要具有以下几个特点:
(1)Protues可以代替传统的Protel 99更简易的完成原理图绘制、PCB设计以及自动布线,实现一个完整的电子设计系统;
(2)Protues可以仿真、分析各种模拟器件和集成电路,支持多种单片机仿真,并进行电路分析;
(3)Protues提供了虚拟示波器、逻辑分析仪、信号发生器、计数器、电表、VirtualTerminal(使用电脑的键盘和显示器通过串口与外部的单片机系统通讯)等虚拟仪器仪表供选择用,使得仿真结果能够更加直观清晰的反应给用户;
(4)Protues只带汇编编译器,不支持C语言,但可以将其与KeilC51或Matlab等软件整合使用,仿真效果极佳。
所以,利用此软件,在低硬件损耗的前提下,可以将单片机实例形象化,易于学生理解系统硬件组成,激发学习兴趣,可显著提高单片机教学的效果。 Keil C51简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外,Keil C51生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。
Keil与Proteus之间的连接捷便,在同一PC平台上,将Proteus中的VDM51.dll和Tools.ini分别复制到Keil的bin子目录和安装目录下,打开Proteus的uVision,运行Proteus Debug,单击Setting,点击ok,再进入Keil开发环境,创建新的Project,选定合适的单片机CPU部件,,最后进入Proteus的ISIS,点击Debug,选中“use remote debug monitor”,至此即可完成Proteus ISIS与Keil的连接。
3 实例仿真
单片机开发系统的仿真与调试可以在Keil和Proteus ISIS中同时进行。这个基础实验仿真系统可直观地看到程序运行结果,效果非常好。在Keil里对汇编源程序进行编译、连接成功后,可以在仿真仪上调试,随时可以观察软硬件的互动工作的过程和结果。结合Proteus里的虚拟仪表,可以观测电路的波形和数据。
我们以液晶显示计数器为例,先在Proteus平台构建硬件系统,如图1所示:
图1 液晶显示计数器硬件结构
所需主要元件包括CAP-ELEC,LM016L,LPC2106,RES等,通过Proteus强大的原理图编译功能,很快便能完成硬件图的构建工作。
硬件平台构建完成后,打开Keil C51,使用可读性高的C语言对液显计数器的程序进行编译,如图2所示:
图2 Keil C51程序编译
在软硬件平台都构建完成后,将Protues和Keil C51进行互联,利用Protues的仿真功能即可对程序进行调试,通过对仿真结果的观测,实现互动调试,如图3所示。
图3 液晶显示计数器仿真过程
至此,让学生完成了对单片机案例学习的感性认识,为了将感性认识进一步深化,我们组织学生检验设计成果,将调试的程序固化到实物电路板单片机中,得到的实验结果与Protues结合Keil C51的仿真结果完全一致。
4 结论
将虚拟平台应用到复杂的单片机教学中,可以显著提高学生的认知能力,激发他们对单片机学习的兴趣,同时,虚拟平台的介入,可以大大降低硬件损耗,有效解决学生单片机学习中理论与实际脱离,动手实践能力不足的问题,大幅提高教学效率和效果。 参考文献 [1] 周润景,张丽娜.基于Protues的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.
[2] 林志琦,郎建军,李会杰,等.基于Proteus的单片机可视化软硬件仿真[M].北京:北京航空航天大学出版社,2006.