基于AT89C51的C语言实验与实践教学改革与探索
摘 要:文中针对AT89C51的汇编语言系统开发与设计移植性差,可读性差的缺点,从AT89C51的原理和C语言程序设计相结合的角度出发,通过实验等实践教学的探索,寻求了一套系统的实验与实践教学体系。并以AT89C51的理论为基础,结合通用的C语言编程原理和C51程序设计的特点,采取“C51程序设计基础—基础实验—课程设计—技能培训”的模块化教学模式,以培养动手能力强,具有应用产品设计和开发的创新型人才。这种教学模式可为同类专业的实验和实训教学提供参考,符合二本院校应用型人才培养转型发展的需要,该方法具有一定的推广价值。
关键词:AT89C51;C语言程序设计;实验与实践教学;课程设计;技能培训
0 引 言
随着时代的发展,实践教学也应与时俱进,针对现在学生的不同特点与现代社会的智能化要求,采取“C51程序设计基础—基础实验—课程设计—技能培训”的模块化教学模式,以培养学生的动手能力和创新能力。
1 单片机原理及应用的实验与实践教学现状
实践教学环节是高等院校最重要的教学环节之一,学生的实践能力和创新能力是衡量高等学校办学的重要指标。传统单片机实验教学主要存在以下问题:
(1)采用一个实验围绕一个知识点的做法;
(2)实验的编程基本上采用汇编语言设计;
(3)实验设备采用连线方式,实验项目内容具体化,实验过程完全照搬实验指导书步骤按部就班。
这种实验方法、实验仪器、实验原理都完全固定的模式,使得学生在整个实验过程中被动地达到了实验指导书的要求,只起到 “装配”实验的作用,缺乏对学生能力的培养,创新更无从谈起。随着教育教学改革研究和实践的深入,各高等学校对实验教学内容和教学方法等都在不断探索和改革,从更新教育观念、强化师资队伍建设、整合教学内容、优化资源配置、建立开放式实验教学模式到开放实验室等,已取得初步成效。
2 基于AT89C51的C语言实验与实践教学内容
针对目前高校单片机原理实验与实践教学的现状,从AT89C51的基本原理和C语言程序设计相结合的角度出发,寻求一套系统的实验与实践教学体系,采取了“C51程序设计基础—基础实验—课程设计—技能培训”的分阶段模块化教学模式,总体结构如图1所示。
2.1 C51程序设计基础教学模块
考虑到AT89C51的汇编语言程序设计移植性和可读性差,而C语言语法简单、可读性和移植性好,培养学生用C51对AT89C51进行程序设计。学生接触到的第一门高级程序设计语言就是C语言,因此具备一定的基础,通用的C语言和C51语法是一样的,但在面向机器时,C51编程有它自身的特点。本教学模块要求学生不仅要掌握C51和AT89C51之间的联系,还要了解C51和通用C语言的区别,主要从以下两方面入手:
(1)首先把AT89C51的存储单元包括数据存储器单元、直接寻址单元、间接存储单元、片外数据存储单元和存储器中的表格数据等与C51中的数据表达方式即变量和数据类型表示方法一一对应起来,只有这样才能让学生理解并掌握AT89C51如何与内外数据和电路通过C51程序来对应。
(2)培养学生学习基于AT89C51的C51程序的基本结构,包括主程序、子程序、中断服务程序和表格数据的布局,以及全局变量和局部变量的布局。通过本模块的学习,让学生掌握利用C51对AT89C51编程的方法与Keil软件的使用方法,为后续实验和实践教学环节提供扎实的基础。
2.2 基础实验教学模块
信息技术学科是实践性极强的学科。本模块教学过程采用教师精讲,学生多练的教学方法,选择以实现单个简单功能的实验作为教学主要内容,目的是让学生掌握AT89C51各种功能的实现方法,进行有目标、有实际效果的操作。采用从AT89C51内部功能到外部扩展,从简单功能到复杂功能的实现方式。具体包括AT89C51I/O端口的控制和编程、定时器的工作原理、中断的控制、串行通信、键盘和数码管显示、字符型液晶显示、汉字显示、热电偶传感器和数字式传感器的测温、蜂鸣器的控制、红外收发控制、直流电机控制和步进电机控制等。通过在实验室内完成一系列的实验项目,培养学生掌握AT89C51基础知识和外围资源应用以及相关编程的知识,培养学生的应用编程意识,为后续的课程设计和技能培训打下坚实的基础。
2.3 课程设计教学模块
该模块教学采取教师为主导、学生为主体的教学模式,在教学过程中注重发掘和培养学生的主动性,以学生自主设计为主,根据自己所掌握的知识,确定一个设计课题,课题应具有一定的综合性,要求学生能够基本自行完成电路制作、程序编写、下载及调试运行,直至达到设计要求,教师起辅助指导作用,直接参与学生的讨论。具体过程包括单片机最小系统的制作、设计项目单元电路的设计和制作、程序编写、程序下载并联机调试。通过实施一个具体的项目来培养学生掌握AT89C51产品开发和设计的一般过程,并提高学生综合运用所学知识的能力和动手能力。
2.4 技能培训教学模块