基于PROTEUS与C语言的单片机实验教学探索实践

时间:2022-10-04 08:15:44

基于PROTEUS与C语言的单片机实验教学探索实践

【摘要】对单片机实验课程的实验教学改革情况进行了介绍,详细论述了PROTEUS仿真软件的优点和对单片机实验教学的帮助,以及C语言在单片机应用开发中的优势。实践证明本实验课程的教学改革达到良好效果,激发学生对单片机的学习兴趣,提高了学生动手实践能力,培养了学生的独立思考能力。

【关键词】单片机实验;教学改革;PROTEUS软件

单片机课程是各高校电子信息类专业的一门非常重要的专业基础课程,其实践性、操作性,工程性都很强,学好单片机的应用开发对后续专业课程的学习起着重要的作用。单片机教学分理论教学和实验教学两部分,实验教学是对理论知识的检验实践,对培养学生的电路设计能力和编程能力都起着非常重要作用。单片机应用开发能力的培养需要的实验环节较多,涉及知识面较广,对初学者来学习单片机时会存在一定困难,为了得到更好的教学效果,调动学生的积极性,本文对单片机实验教学环节进行改革探索。

1.传统实验教学的不足

传统的单片机实验教学是在实验室中进行,每个实验桌配置PC机和一个体积较大的单片机实验箱,学生在做实验时需要了解实验电路图,实验接口按钮以及实验连线等,操作比较复杂,如果初学者对这些不熟悉的话做实验就比较困难,影响学生学习的兴趣,老师也只能忙于指导学生对硬件进行操作,浪费实验时间。另外如果实验箱出现故障不能及时修复的话会严重影响实验的进度和效果。

因为学校的实验室资源有限,而学生人数较多,因此学生能利用实验室进行更多的实验操作的机会有限,制约了学生对单片机开发应用水平的提高。构建传统的单片机实验室除了需要购置单片机实验箱外,还需要购置直流稳压电源,示波器,信号源,仿真器的仪器等配套设备,需要投入的资金较大,且日常维护成本较高。单片机实验箱的硬件资源有限,且已经固定不能改变,在实验时教师和学生都感觉到使用实验箱进行单片机实验不够灵活,学生的电路设计能力得不到很好的锻炼,也不能更深入地理解电路的性能或作用,因此,传统的单片机实验教学有诸多弊端。

2.基于PROTUES的实验模式的优势

Proteus是Labcenter公司出品的电路分析、实物仿真系统。它可仿真各种电路和集成IC,它还支持许多型号的单片机的仿真,还提供电路原理图绘制与PCB设计功能。它的元件库齐全,使用方便,是非常好的电子电路设计辅助软件。Proteus软件不仅能对单片机进行仿真调试,对单片机的其他电路同样可以仿真,不管是否是与单片机相关的电路。因此在进行仿真调试时,既可以看到单片机程序语句的执行情况,又可以看到其他电路运行的结果,这与实际工程开发非常接近,有利于培养学生工程应用开发能力。

构建基于Proteus软件的单片机实验室只需要一台PC机即可,这样就使得实验室的通用性很强,硬件成本投入大大减少。用Proteus软件进行单片机实验开发,仪器设备资源损耗小,没有元器件损坏的问题,学生不需要操作真实的仪器设备,使得实验过程安全系数增高。实验内容可灵活设置,学生可以自行设计实验电路,可以尝试相同功能的接口电路用不同的器件构成,有利于扩展设计思路,培养和提高设计能力。用Protues仿真软件进行单片机课程实验教学,可以克服用传统实验箱带来的硬件电路固定,实验内容固定等方面的局限性,学生只要有电脑即可安装软件自行学习,减少学习资金的投入,从而提高学生的学习效果和学习兴趣。

在学生学习过程中,会接触到多种单片机,学校也会开设各种单片机的选修课,如AVR单片机,PIC单片机等,为了教学需要就要购买相应的实验设备,建设和维护成本较高。而Proteus软件可以支持多种单片机的仿真实验,并且提供了大量的元件库,有数千种元件供使用,包括模拟电路,数字电路相关元件,以及交流和直流相关元件;另外Proteus软件提供了丰富的仪器仪表资源,包括常用的示波器、信号发生器、直流电压表、逻辑分析仪、计数器等,这是实验室必备的设备,为建立仿真实验室提供了可靠的资源保障,这体现了软件仿真的经济优势。Proteus软件还具有图像显示模块,以及提供多种激励测试信号,这些资源在调试电路时发挥很大的作用,为调试电路提供方便。

在单片机实验完成后会安排单片机课程设计环节,这时要求学生做出具体的硬件电路来,把在Proteus软件上验证好的工程项目移植到具体电路中,让学生体会仿真运行结果和具体硬件电路运行结果的差别,提高学生的工程设计和调试能力,为将来工作时做更复杂的电路设计做好准备。虽然Proteus的仿真运行与实际硬件运行结果存在一些差别等缺点,但只要稍微调整程序参数就实现在硬件上的良好运行,相比它带来的学习开发优点来说,这些缺点是可以接受的。Proteus软件提供了很多例子,学生可以参考和借鉴好的设计方案,也可以在原来电路基础上加以修改处理,满足自己的设计需求,这都是很好的学习资源。

3.用C语言进行单片机编程的优势

单片机程序设计是学习的重点,在传统单片机理论教学中,都是以学习汇编语言为主,而C语言只进行简单介绍,在单片机实验中也是主要用汇编语言进行程序设计,其优点是占用资源少,执行效率高。但是汇编语言是面向机器的程序设计语言,是最接近机器码的一种语言,其指令较多,学生难以掌握,编写的代码难读懂,不好调试,开发效率低,需要对单片机内部资源非常熟悉,而且不同的CPU的汇编语言有差异,不好移植。因为学生是初次接触到这种编程语言,也没有单片机编程基础,对单片机内部资源不够熟悉,所以学习效果不理想,在进行单片机实验时暴露出了很多问题。

本次单片机实验教学改革中教师要求学生采用C语言进行程序设计,并与理论教师沟通在上理论课时多讲用C语言编程的知识。学生在大一时就进行了C语言的学习,有一定的基础,因此用C语言进行单片机程序开发对学生来讲会容易理解些,复杂的程序一般都用C语言进行开发,这也符合现在企业用人的要求。使用C语言进行单片机程序开发有诸多优点:

(1)语言简洁,使用方便灵活,可大幅度提高开发速度,系统越复杂,开发效率越高。

(2)无须深入了解单片机内部结构,和复杂的单片机汇编语言指令集。

(3)可进行模块化开发,软件逻辑结构清晰,有条理,易于分工合作。

(4)可移植性好,写好的一个c语言算法,可方便地移植到其他单片机上,而汇编语言相对要复杂的多。

(5)可直接操作硬件,易于编写、调试和维护。

随着单片机的内部资源越来越多,存储空间越来越大,资源已经不是考虑的首要问题,因此用C语言进行单片机程序设计是单片机开发应用的必然趋势。C语言是初学者的首选语言,当掌握好用C语言进行单片机编程后,再学习汇编语言就会轻松很多。

4.单片机实验教学组织

单片机实验所涉及到的内容较多,而单片机实验课程一般只安排8次实验共16学时,实验时间有限。有关单片机的相关理论知识在理论课中已经学习过了,如单片机内部资源,常用接口电路,编程设计,系统开发设计等知识在理论课中都会涉及到,单片机实验课程的目的主要是让学生提高动手能力,验证理论知识的正确性,加深单片机应用的理解,直观感受单片机在电路运行过程中发挥的作用,提高编程设计能力。

在首次实验中让学生掌握Proteus仿真软件和keil编程软件的使用方法,掌握单片机应用开发步骤。keil是目前世界上使用最广泛的单片机编程开发工具,很多型号的单片机都用它进行程序开发,它支持汇编、C语言以及混合编程,同时具备强大的仿真功能。在实验指导书中要编写软件的详细操作步骤,让学生会能快速掌握两款软件的使用方法。

接下来的实验根据理论教学内容的进度由易到难地安排相关的实验内容,包括单片机IO口的应用设计,单片机外部中断开发设计,定时器计数器开发设计,串行通信开发设计,数码管显示器件应用开发,器件的控制开发(模数转换器件、数模转换器件),综合系统设计等,循序渐进地让学生学习单片机相关知识,从而提高学生的兴趣和实验信心。

5.一个具体的实验教学例子

以单片机IO口应用设计为例子,实验电路图如图1所示,实验要求是让接在P0口的8个LED从左到右循环依次点亮,产生流水灯效果,这是单片机典型的入门开发例子,涉及的知识内容包括单片机最小系统电路,单片机IO口的输出编程,延时程序设计等,内容丰富。

实验电路比较简单,在实验之前让学生跟据实验指导书要求用Proteus仿真软件设计好电路图,到实验室做实验时主要进行程序的设计开发调试,因为程序设计和调试是实验学习的重点。对于学生来说,程序设计是一个难点,实验课时教师可以结合实验电路讲解程序设计的思路,让学生从实现一个最简单的功能开始,如只让一个LED亮,然后逐步添加程序实现流水灯功能。在实验指导书中可以给出程序设计流程图和程序设计框架,让学生根据框架添加设计程序。程序框架如下:

#include

void DelayMS(unsigned x)

{ unsigned i;

while(x--)

{

for(i=0;i

}

}

void main()

{ P0=0xfe;

while(1)

{//在下面添加自己的程序

}

} }

6.结束语

通过本次单片机实验教学探索证明,在Proteus仿真软件建立的虚拟平台上进行实验的教学效果良好,Proteus仿真软件不但在课堂教学中发挥重要作用,对学生在课外的学习也提供了极大地便利,学生不会因为手上没有开发板而失去学习的兴趣,充分调动了学生学习的积极性和主动性,提高学生单片机应用编程能力。使用C语言进行单片机编程设计,加快了学生学习的步伐,也符合企业用人单位的需要,为将来工作做好准备。

参考文献

[1]栾淑丽.如何用Proteus软件建立单片机仿真虚拟实验室[J].价值工程,2011(1).

[2]谭炳菊,富钰.单片机C语言编程方法探讨[J].辽宁高职学报,2010(4).

[3]高林.基于工作过程的课程设计方法及实施条件分析[J].职业技术教育,2008(13).

作者简介:李德明(1983—),男,广西桂林人,桂林电子科技大学信息科技学院电子工程系讲师,主要研究方向:精密测量与自动控制、电路系统的EDA技术。

上一篇:超导量子场推进技术在宇航领域中的应用 下一篇:高职深化教学改革的重要环节是教材的研究与开...