<p><font face="Verdana">单片机虚拟实验室的建立<br/>单片机课程是机电、自动化等专业的一门重要课程,可以充分体现学生利用已学知识解决实际工程问题的能力。由于该学科是多基础、多理论的实践性学科,在教学过程中必须软件硬件结合,因此有学生感到难学,教师感到难教这样的尴尬。<br/>现代科技的发展,促进了计算机技术在软件和硬件上的飞速发展,利用计算机软件的仿真技术,可以充分地仿真诸如电路的工作等实际的工程问题。作者无意中找到一款软件Proteus,解决了许多的问题,而单片机虚拟实验室也是以该软件为核心建立起来的。</font></p>
<p><font face="Verdana">1 实验的组织<br/>在单片机的理论教学和实验中,所涉及到的内容包括了四方面,即单片机系统资源、软件技术、硬件接口电路、软件和硬件结合的应用系统。因此教师在进行教学时,应该充分考虑课程的特点并作合理的模块划分,在每次实验课程前作适当的准备工作,以使教学任务能集中和突出。以下例子中所涉及到的单片机均为51 系列。</font></p>
<p><font face="Verdana">(1)系统资源的实验教学<br/>任何一种单片机均提供了一定的系统资源。对于51 系列单片机来讲,其所提供的资源是以寄存器和存储器的方式体现出来的。对于寄存器内容的查看,可以采用多种可以模拟仿真51 单片机的软件来实现。对于Proteus 软件来讲,可以执行在debug 菜单下registers 菜单项命令打开相应的窗口。对于系统内部存储器的查看,同样是执行debug 菜单下的 internal memory 菜单项命令打开相应的窗口。</font></p>
<p><font face="Verdana">(2)软件技术<br/>在软件技术的实验中所涉及到的内容主要包括对语言中具体语句的执行效果验证、算法的具体实现、程序中语法错误的检查和逻辑错误的验证等内容。对于纯软件的实验教学内容,教师在实验设置时应充分考虑到学生的能力并作好具体的准备工作,以达到预期的教学目的。<br/>例如,对于两个16 位二进制数的乘法运算R4R5×R6R7=R3R4R5R6R7 的汇编语言实现。为了较为直观地验证程序执行的正确性,教师在之前应该设计一个硬件电路,能完成数据的输入(带显示)和结果的输出(显示),并设计主程序、bcd 码到二进制的转换、二进制码到bcd 码的转换、bcd 码到显示码的转换、显示等程序的设计,学生只在实验中进行乘法运算的算法设计并作为子程序加入系统中即可。</font></p>
<p><font face="Verdana">(3)硬件接口电路<br/>单片机的接口电路所涉及到的知识涵盖了电子电路设计的相关领域,也涉及到单片机应用系统具体的工作需要。接口电路部分涉及到线路的连接、元器件的选择、工作方式的设置、电路工作的稳定性和可靠性、电路的空间需求等等许多方面的知识和内容;但就学生实验来讲,所涉及到的并不需要这么全面。作为Proteus 仿真软件,其仿真电路时所模拟的元件真实工作情况,和单片机应用系统的实际工作环境还是有一定的差别。因此只能根据教学的需要,让学生自行设计电路并设置其工作方式。其实验可以通过两种方式组织实施,一是根据具体的要求,让学生设计接口电路并编写相应的程序;一是根据程序的要求,设计单片机接口电路。例如,对于键盘输入和显示(数码管)接口电路的设计,可以采用比较多的方法来实现。选择何种方法,与键盘中键的数量和数码管的个数以及显示的方式等都有关系。选择一种采用几种方法都能实现的键盘键数(如12 个)和显示位数(如4 位或4 位半),提出具体的诸如必须预留的口地址、成本控制等要求,让学生自行设计接口电路。当然,对于如A/D 转换等接口电路的设计,教师应该在事先设计出单片机电路的其它部分,并以模块的方式进行处理,给学生提供电路的接口信号。</font></p>
<p><font face="Verdana">(4)软件和硬件结合的应用系统<br/>软件和硬件的结合,就是一个单片机的应用系统了。这一步的实验可以在课程设计中以课题的方式提出来处理,也可以将其分解成不同的接口部分在接口电路的多次实验中分次完成。在这一阶段,硬件电路的设计已经不是最为关键的了,而软件系统的设计、调试和运行才是实验的主要内容。因此可以以建议性的意见给出具体的硬件电路,并提出该电路所需要完成的具体工作,由学生进行软件的设计和调试。</font></p>
<p><font face="Verdana">(5)观摩实验<br/>学生自行设计的硬件系统和软件,一般存在着某方面的不足,当给出了相应的实验设计任务后,学生就算能顺利的完成,但其中所涉及到的有些方式方法并不能在自己的设计中充分领悟。Protues 系统提供了相应的一些范例,比如单片机系统中的计算器示例,当教师讲述了其中涉及到的所有(子)程序的功能并将其<br/>合理地组织在一起的时候,结合该系统的硬件,将对学生进行程序的设计和系统硬件的设计方法,产生比较大的影响。</font></p>
<p><font face="Verdana">2 用Proteus 软件虚拟单片机实验的优点<br/>采用Proteus 仿真软件进行虚拟单片机实验,具有比较明显的优势,如涉及到的实验实习内容全面、硬件投入少、学生可自行实验、实验过程中损耗小、与工程实践最为接近等。当然其存在的缺点也是有的。</font></p>
<p><font face="Verdana">(1)内容全面<br/>内容全面包括其能实验的内容包括软件部分的汇编、C51 等语言的调试过程,也包括硬件接口电路中的大部分类型。对同一类功能的接口电路,可以采用不同的硬件来搭建完成,因此采用Protues 仿真软件进行实验教学,克服了用单片机实验教学板教学中硬件电路固定、学生不能更改、实验内容固定等方面的局限性,可以扩展学生的思路和提高学生的学习兴趣。</font></p>
<p><font face="Verdana">(2)硬件投入少,经济优势明显对于传统的采用单片机实验教学板的教学实验,由于硬件电路的固定,也就将单片机的CPU 和具体的接口电路固定了下来。在单片机的实际教学中,如果要涉及到51 系列,也要涉及到PIC16 系列,那么为了教学必然要投入两种单片机的实验教学板;同时在教学过程中所涉及到的接口电路,也需要有较大的投入和储备,以利于实验的进行和在实验过程中元件损毁后的更换。Protues 所提供的元件库中,大部分可以直接用于接口电路的搭建,同时该软件所提供的仪表,不管在质量还是数量上,都是可靠和经济的。如果在实验教学中投入这样的真实的仪器仪表,仅仪表的维护来讲,其工作量也是比较大的。因此采用软件的方式进行教学,其经济优势是比较明显的。<br/>(3)学生可自行实验,锻炼解决实际工程问题的能力<br/>实验能力和实验设计能力的培养,是工科学生解决实际工程问题能力中较为重要的。传统的实验教学中,忽视了学生实验能力的培养,对于实验设计能力的培养,则很少涉及到。因此学生学习了理论,要想将其应用到实际的工程实践中,其难度是比较大的。还有,学生毕业后想对单片机控制技术或智能仪表等有较深的研究和学习,如果采用传统的实验教学方法,则学生需要购置的设备比较多,增加了他们学习和研究的投入。采用仿真软件后,学习的投入变得比较的小,而实际工程问题的研究,也可以先在软件环境中模拟通过,再进行硬件的投入,这样处理,不仅省时省力,也可以节省因方案不正确所造成的硬件投入的浪费。<br/>(4)实验过程中损耗小,基本没有元器件的损耗问题<br/>在传统的实验教学过程中,都涉及到因操作不当而造成的元器件和仪器仪表的损毁,也涉及到仪器仪表等工作时所造成的能源消耗。采用Protues 仿真软件进行的实验教学,则不存在上述的问题,其在实验的过程中是比较安全的。<br/>(5)与工程实践最为接近,可以了解实际问题的解决过程<br/>在进行课程设计或进行大实验的时候,可以具体的在Protues 中做一个工程项目,并将其最后移植到一个具体的硬件电路中,让学生了解将仿真软件和具体的工程实践如何结合起来,利于学生对工程实践过程的了解和学习。<br/>(6)大量的范例,可供学生参考处理<br/>在系统的设计时,存在对已有资源的借鉴和引用处理,而该仿真系统所提供的较多的比较完善的系统设计方法和设计范例,可供学生参考和借鉴。同时也可以在原设计上进行修改处理。<br/>(7)协作能力的培养和锻炼<br/>一个比较大的工程设计项目,是由一个开发小组协作完成的。了解和把握别人的设计意图和思维模式,是团结协作的基础。在Proteus 中进行仿真实验时,所涉及到的内容并不全是学生独立设计完成的,因此对于锻炼学生的团结协作意识,是有好处的。</font></p> |