基于“单片机课程设计”,努力提高学生实践能力及创新能力

时间:2022-08-05 10:58:30

基于“单片机课程设计”,努力提高学生实践能力及创新能力

1、引言

随着单片机技术的迅猛发展,单片机的应用领域也越来越广泛,特别是工业自动化控制、通信、仪器仪表的智能化及我们日常生活中的各个领域都得到广泛的应用。作为工科类专业的学生,怎样学好《单片机原理》这门专业基础课,作为教师,怎样通过《单片机原理》课程的学习及《单片机课程设计》来培养在校大学生理论联系实际、敢于动手、善于动手和独立自主解决实际问题的实践能力,一直是教育工作者探索的课题。由于这门课程自身的特点和教学目标,实践动手能力的培养非常关键。在实际教学中,我们采用了《单片机课程设计》的教学模式, 激发学生的学习积极性,并对实验内容进行教学改革,引导、鼓励学生积极参加各类竞赛,着力培养学生的实践能力、科研能力及创新能力。

2、利用单片机课程特点,为学生创建一个实践与创新的学习平台

“单片机原理及应用”课程是一门技术性、应用性极强的学科。历年来的全国大学生竞赛试题(电子类)都几乎会汲及到单片机技术的灵活运用。而实验与课程设计又是一个极为重要的环节。我们将实验课与课程设计有机地结合起来,首先做一定数量的验证性实验,让学生充分掌握单片机的基本原理、指令系统、接口技术,使其具备初步的单片机硬件设计、软件开发能力基础上,才进行综合性实验,在综合性、设计性实验做得得心应手的时候,再进行课程设计。单片机课程设计是一个十分重要的环节,它包括单片机软件设计、硬件设计,调试等实践内容。通过这些环节的实践、教学,可以充分调动学生的主观能动性,实现知识向能力的转化。这样,学生通过实践、实战,一步步深入,当学生们将每个实验内容完成、理解、吃透后,就会有能力提升到一个新的高度:独立、高效、有创造性地去开发新的项目。这样,就能很好地、充分地利用实验课及课程设计为学生构造一个实践与创新的学习平台(如图1)。同时又为他们将来参加各类竞赛做了很好的铺垫。

3、对实验内容进行教学改革,提高开发效率,培养具有创新精神、适应能力强、实践能力强的高素质人才

3.1 改用C语言作为开发单片机的主流语言

以前,我们进行实验时主要是以汇编语言为主。因为汇编语言能直接操作计算机的硬件,学习汇编语言能帮助我们去了解单片机的硬件构造,当然同学们必须掌握汇编语言的基本方法。但采用汇编语言编写单片机应用系统程序所花的时间长,且调试及排除错误亦比较困难。为提高编制计算机系统和应用程序的效率,适应社会竞争的需要,改善程序的可读性和可移植性,我们在要求学生了解汇编语言的基础上改用了高级语言编程,用C语言作为开发单片机的主流语言。要求学生用C语言来编写目标系统软件,这样就会缩短开发周期,增加软件的可读性,便于改进和扩充,同时,亦方便学生将C语言编写的程序很容易在不同类型的计算机之间移植。

3.2 采用Keil C51 Windows集成开发软件及51MCU DEMO试验板作开发平台

我们采用了Keil C51 Windows集成开发软件及51MCU DEMO试验板作学生学习单片机技术的开发平台。Keil C51是德国Keil公司开发的基于Windows平台的单片机集成开发环境,可以讲是目前世界上最优秀、最强大的51单片机开发应用平台之一。它包含一个高效的编译器、一个项目管理器和一个MAKE工具。它集编辑、编译、仿真于一体,支持汇编、PL/M语言和C语言的程序设计,界面友好,易学、易用。特别是,它内嵌的仿真调试软件可以让学生采用模拟仿真和实时在线仿真两种方式对目标系统进行开发,而且学生在软件仿真时,不但可以随时模拟单片机的I/O口、定时器、中断之外,甚至还可以仿真单片机的串行通信。而51MCU DEMO试验板功能强大、用途广泛,它集与PC机通信的电平转换电路驱动字符液晶及点阵图形液晶接口、行列式键盘、音响实验电路、中断实验电路、I2C总线、DIP开关、程序的ISP在线下载接口等于一体的51单片机开发板。学生除了能在其上进行一般的验证性、综合性实验外,还可以学习开发、设计较高级的智能化、应用型实验项目如:单片机与PC机的远程交互通信、单片机在线编程控制等。

3.3 开好(重视)综合性、设计性实验,强调学生自己动手完成实验的全过程

在确立了开发语言及实验平台搭建好后,强调学生必须认真对待每一个综合性、设计性实验。在选题时要求学生结合理论课及平时的资料收集,自己确定题目。自己分析、设计、自己动手编程、调试安装,并最后完成一个单片机应用系统设计与实现。强调学生自己动手的目的是使学生在设计过程中,通过查阅资料、确定方案、软硬件设计及调试和撰写设计说明书等,从而对单片机应用系统的设计过程得到一次全面的实践训练,从而使学生获得单片机应用系统开发的基本知识和基本技能,进一步强化学生的动手能力和应用能力的培养,为以后参加种类比赛及将来去设计和实现单片机应用系统打下良好基础。

4、课程设计典型案例分析

4.1 课程设计目的

单片机技术是一门实践性很强的专业基础课程,要求通过理论教学和实验、课程设计等实践性教学环节,使学生能在理论的指导下,主要依靠实践活动,设计出一个小型单片机应用系统。课程设计目的是使学生增进对单片机的感性认识,加深对单片机理论方面的理解,掌握单片机内部功能模块的应用,如:定时器/计数器、中断、片内外存贮器、I/O口等,熟悉单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。同时,树立严谨的科学作风,培养学生综合运用理论知识解决实际问题的能力。学生通过单片机软硬件设计、调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。

4.2 课程设计要求

要求学生独立完成课题设计,掌握单片机应用系统设计方法;完成系统的软硬件设计及调试工作;在课程设计中要注重培养工程质量意识,并写出课程设计报告;通过查阅手册和有关文献资料培养学生独立分析和解决实际问题的能力;通过实际电路方案的分析比较、器件的选取、安装、调试等环节,掌握单片机应用系统的分析方法和工程设计方法;掌握常用仪器设备实验仿真开发系统的使用方法,学会实验调试,提高动手能力;综合应用课程中学到的理论知识去独立完成一个设计任务;培养严肃认真的工作作风和严谨的科学态度。

4.3 单片机课程设计总学时安排

单片机课程设计总学时为18学时,安排学生每天用2学时进行课程设计,具体安排见(表1)同时还安排专门的老师作指导。包括对学生所选课题的深入分析,对实施方案的探讨,对学生所拟定的总体设计方案进行认真研究、论证,以避免定稿后才发现方案上的疏忽,造成开发进程的延误。

4.4 课程设计实例

4. 4. 1 实验题目:单片机与PC机的通信实验

系统开发环境: 采用MCS-51单片机软件Kei C51及51MCU DEMO试验板作开发主平台;采用C语言作为开发单片机的主流语言

实验所需器材:并口下载器、16×2字符液晶显示模组、128×64点阵图形液晶显示模组、5V高稳压电源、一台PC机

实现方法探讨: PC机发送一个字符给单片机,单片机收到后即在个位、十位数码管上进行显示,同时将其回发给单片机。要求:单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机时用查询方式。

4. 4. 2 MCS-51单片机软件Kei C51的开发过程

1)开发的全过程的过程,请见图2。

2)单片机C源程序清单

#include

#define uchar unsigned char

#define uint unsigned int

uchar code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uchar code ACT[4]={0xfe,0xfd,0xfb,0xf7};

/*************************************************************/

uchar code as[]=" Receving Data:\0";

uchar a=0x30,b;

//****************************************************

void init(void)

{

TMOD=0x20;

TH1=0xfd;

TL1=0xfd;

SCON=0x50;

TR1=1;

ES=1;

EA=1;

}

//************************

void delay(uint k)

{

uint data i,j;

for(i=0;i

{

for(j=0;j

}

//**************************************

void main(void)

{ uchar i;

init();

while(1)

{

P0=SEG7[(a-0x30)/10];

P2=ACT[1];

delay(1);

P0=SEG7[(a-0x30)%10];

P2=ACT[0];

delay(1);

if(RI)

{

RI=0;i=0;

while(as[i]!='\0'){SBUF=as[i];while(!TI);TI=0;i++;}

SBUF=b;while(!TI);TI=0;

EA=1;

}

}

}

//*****************************************

void serial_serve(void) interrupt 4 ;

{

a=SBUF;

b=a;

EA=0;

}

5、引导、鼓励学生积极参加各类竞赛培养学生科研、创新能力

学生通过理论与实践结合,通过单片机课程设计后,已经掌握了一定的分析问题与解决实际问题的能力,在有了单片机课程设计的经验和掌握了技术知识及具有了实际操作能力的的基础上,老师再去有的放矢地引导、鼓励学生积极参加各类竞赛、全国“跳战杯”、广东省的软件大赛等,通过竞赛努力去培养学生的科研能力与创新能力。为学生们毕业后找工作打下良好的基础。实践证明:《单片机课程设计》做得好,参加过各种类竞赛、参加过学校学生科研立项,广东省大学生创新实验立项、做过大量项目的学生,毕业后都能找到好工作,都会受到用人单位的热烈欢迎,都会成为单位的重要的技术人才。

6. 结论

通过“单片机课程设计”,使学生初步掌握了单片机系统的设计方法,并使学生得到了对项目开发及应用方面的初步训练。懂得了如何去开发一个项目:从总体方案的初步设计、编程、软件硬件调试、编写设计报告、系统使用说明书,到系统功能的最终实现的全过程。真正做到理论联系实际,提高了学生的动手能力和分析问题与解决问题的能力及创新能力,体现了由理论知识的学习到理论知识的实际应用的过渡过程。实践证明,经过这样循序渐进的学习学生的动手能力、实践能力及创新能力普遍得到极大地提高。

参考文献:

[1]张志良.单片机原理与控制[M].北京:机电工业出版社,2002.

[2]周兴华.手把手教你学单片机C程序设计[M].北京航空航天出版社,2007年.

[3]梁立新.项目实践精解:基于Struts-Spring-Hibernate 的Java应用开发[M] .北京: 电子工业出版社, 2008

上一篇:高校新生入学教育现状及启示 下一篇:调整传统美术的学习方法