“C语言”课程中融入“单片机”内容的教学研究

时间:2022-05-22 07:36:49

“C语言”课程中融入“单片机”内容的教学研究

摘要:针对电气信息类专业“C语言程序设计”课程教学目标不明确,与“单片机原理与接口技术”课程脱节较严重等现状,尝试在“C语言程序设计”教学中融入“单片机原理与接口技术”的内容,通过优化教学内容、构建实验环境、分阶段融合等措施实施教学改革。实际教学效果证明,课程融合后学生学习积极性提高,学习目标明确,为学生尽早参加创新活动提供了条件。

关键词:C语言;单片机;融合;教学改革

作者简介:陈景波(1978-),男,江苏常熟人,常熟理工学院电气与自动化工程学院,副教授;陈飞(1978-),女,浙江宁波人,常熟理工学院电气与自动化工程学院,副教授。(江苏 常熟 215500)

基金项目:本文系常熟理工学院教学研究项目(项目编号:JX1101286)的研究成果。

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)26-0071-02

“C语言程序设计”(以下简称“C语言”)和“单片机原理与接口技术”(以下简称“单片机”)都是电气信息类专业的重要课程,这两门课程实践性非常强,学习效果直接影响到学生就业的核心竞争力。“C语言”课程教学中关于任务驱动教学法、项目教学法的研究已经较多,在一定程度上可以激发学生学习兴趣,提高教学质量。但在电气信息类专业的“C语言”课程教学中,应该针对专业的特点,结合后续课程融入“单片机”教学内容,有针对性地进行现场教学、案例教学,可以更有效地提升教学效果,本文针对这一问题进行探讨。

一、“C语言”和“单片机”教学现状分析

目前的教学之中,两门课程的脱节较严重,“C语言”作为基础课程,往往在大一就开设,而“单片机”作为专业课程,要在“模拟电子技术”和“数字电子技术”课程之后才开设。两门课程教学时间相隔较长,往往导致学生在学习单片机的C语言程序设计时,基本忘记了C语言的基本编程方法。在讲授C语言时,电气信息类专业大多也是以谭浩强老师的《C程序设计》为教材,除了介绍语言的数据类型、控制语句、数组、指针外,还对函数、结构体、文件进行讲解。整个教学过程中,过分注重语句、语法的细节和程序设计技巧的讲授,对如何分析和解决实际问题讲得不够,从而导致学生没有明确的学习目的,更缺少学习的兴趣。即使开展项目教学法,项目的选择也是一些关于学生成绩处理、方程求解等方面。虽然在一定程度上激发了学生的学习兴趣,但这些项目与专业应用结合得不是非常紧密,学生的学习积极性难以得到充分提高。

二、“C语言”教学中融入单片机内容的可行性分析

作为电气信息类专业的学生,学习C语言的主要目的是为单片机、DSP和ARM等嵌入式系统编程打基础。C语言是一门较特别的高级语言,它把高级语言的基本结构和语句与低级语言的实用性结合起来,允许直接访问物理地址,可直接对硬件进行操作,因此既具有高级语言的功能,又有低级语言的许多功能,能够像汇编语言一样对位字节和地址进行操作单片机的指令系统和硬件结构。而汇编语言编程正是学生最头疼的内容,实际的单片机项目也大多数采用C语言开发,因此目前大多数高校也已采用C语言来讲授单片机应用程序的设计。

常熟理工学院电气与自动化工程学院的单片机实验室由教师自行开发了积木式的实验设备,同时设计了精简版的开发板,特别提出了“口袋实验室计划”,让每一个电类学生在一入学就有自己的单片机开发系统,为“C语言”教学中融入单片机内容提供了基本保障,同时让学生可以在低年级就能够在电子系统设计上快速入门。

三、具体实施过程

在具体实施过程中,务必注意引入单片机教学内容只是为了增强学生学习C语言的兴趣,提高教学效果,为学生尽早开展一些创新训练打下基础。课程的重点还是C语言知识和编程技巧的掌握,只有这样打下坚实的基础,学生的编程道路才可以走得更远。实施的思路如图1所示:

1. 教学内容的优化设计

“C语言”教学中引入“单片机”内容后,“C语言”教学时间会相应缩减,需要进一步针对单片机C语言编程选择教学内容。对于程序的基本结构、函数、指针、结构体、联合体、位字段等内容需要加强,增加一些单片机C语言殊数据类型和存储类型的讲解。

引入“单片机”教学内容,“单片机”内容的学时可以分配8个学时左右(可根据总学时相应调整),其中理论课和实验课各为4个学时,理论课可以穿插在整个教学过程中,实验课可以相对集中,分成两个实验完成。

“单片机”教学内容可选择以下几个方面:单片机基础知识,简单介绍单片机的功能、结构和引脚;Keil软件使用及外部软件资源,包括C51的库函数、寄存器库函数reg51.h,以此为实例介绍C语言中预处理命令“文件包含”的应用;并行I/O口的操作与编程,为实验作准备;LED流水灯程序设计;数码管显示原理及程序设计。

2.实验环境的构建及实验案例选择

由于实施了“口袋实验室计划”,每个学生从大一就拥有自己的开发系统,在原来的计算机实验室安装相应的单片机C语言软件开发系统Keil uVision,即可搭建基本的实验环境。

由于学生刚入学,相应的专业基础课程还未学习,可选择典型且直观的案例,进行现场演示和学生参与编程。实施过程中,选择了LED流水灯设计和数码管显示实验,只需掌握单片机简单的接口编程技术即可完成。

3. 分阶段融入“单片机”教学内容

(1)第一阶段,明确学习目标,激发学习兴趣。第一堂课可以根据之前确定的流水灯设计和数码管显示实验,老师利用开发系统进行现场演示告诉学生C语言是单片机等控制器的灵魂,有哪些应用,学生将会增强学习的目的性。

(2)第二阶段,结合典型案例学习C语言编程技术。在学生掌握C语言基本的程序框架、变量类型和语句结构后,老师可以在之前演示过的案例中将LED和数码管出现的现象与程序中的每行代码对应起来进行解释,并可以通过修改代码,产生不同的实验结果。也可以在这过程中提出一些问题,让学生思考如何修改程序,由于每行代码和具体的现象相对应,学生将会进一步产生浓厚的学习兴趣。

(3)第三阶段,通过实验,学生亲自体会程序设计的乐趣。这一阶段在实验室完成,老师通过讲解程序修改的方法,LED和数码管就可以出现不同的效果。如果学生完成得比较好,可以增加一些扩展实验部分或者让学生自由发挥编程,最后根据实验的效果进行评比,让做得好的同学讲解项目实现的思路及代码的含义,进一步树立学生的学习信心。

(4)第四阶段,多样化考核体现真实的学习效果。考核分成理论考试和实践考试两个部分,理论考试主要考核学生对C语言本身程序设计知识的掌握效果。实践考试再分为通用C语言编程部分和单片机C语言编程部分。前者可考核学生对通用C语言的实际编程、调试的能力;后者考核内容相对容易,学生完成一个工程创建、编辑、编译、调试下载的完整过程,并能实现简单的实验效果即可。

四、实践效果

经过几轮在“C语言”课程中融入“单片机”内容的教学实践后,取得了以下一些效果:大大提高了学生学习C语言的积极性和主动性,教学质量和学习效果也大为改善;使“C语言”课程中的项目教学法、案例教学法等落到实处,切实紧密结合专业开展;由于学生提前接触单片机程序设计,具备了尽快开展创新项目训练的基础,为学院提出的“口袋实验室计划”的实施也提供了前提条件,学生单片机系统的设计水平也得到了切实的提升,在各级各类电子设计竞赛中取得了丰硕的成果。

五、结束语

课程间的融合产生一加一大于二的效果,也符合工程实践中需要综合性知识的要求。这种教学方式使得“C语言”课程教学改革可以进一步深入,在电气信息类专业中具有较大的推广价值,这种课程教学改革的思路也可以给其他课程提供一些参考。

参考文献:

[1]蒋宏伟.“C语言”与“单片机”课程整合教学法探讨与实施[J].新课程学习,2012,(8):53.

[2]苏波,陶宁.“C语言”与“单片机”相结合的教学研究[A]. 2006-2010年教育部高等学校光电信息科学与工程专业教学指导分委员会及协作委员会2010年全体会议论文集[C].2010.

[3]谭浩强.C程序设计(第四版)[M].北京:清华大学出版社,2010.

[4]马忠梅,王美刚,孙娟,等.单片机的C语言应用程序设计(第5版)[M].北京:北京航空航天大学出版社,2013.

上一篇:现代远程教育与职业教育的复合模式研究 下一篇:混合式学习对“电子”课程双语教学的影响研究