APP下载

关于让学生轻松学懂单片机的探讨

2019-09-10叶优良

学习与科普 2019年9期
关键词:项目教学法单片机程序

叶优良

摘要:单片机体积小功能强大,广泛应用于各种自动控制设备,已经成为自动化控制专业的必修课程。早期教学,或因实验条件不足,或因学习方法欠佳,导致很多学生觉得单片机是高大上,难以懂。作者根据多年的教学经验,提出一个教学思路:正确认识单片机,采用C51编程语言,通过项目教学法,强调同步实验加深对课程知识的理解,逐步培养学生的单片机的开发应用能力,让学生轻松学懂51单片机。

关键词:单片机 硬件电路 C51 程序 项目教学法

上世纪80年代诞生的单片机因其控制功能强大被广泛应用于各种电子设备,随即国内外各大高校掀起了学习单片机课程的热潮。但早期课本是以芯片生产商提供的技术资料、微机接口技术和汇编语言作为主要内容,可谓是深奥难懂;加上当年实验设备昂贵实验机会不多,以及当时教育模式是理论课程和实际操作课程分步进行,导致大部分人对这门课程的感觉是雾里看花。今天,单片机技术飞速发展,已成为自动控制领域的重要技术,职业院校的自动控制专业把单片机控制技术作为主干课程,对单片机掌握程度直接影响学生专业技能水平的高低。因此,怎样让学生轻松学懂单片机,已经成为授课教师苦思冥想的问题,本文将逐步探讨让学生轻松学懂单片机的方法。

首先,正确认识单片机和单片机系统。单片机的全称是单片微型计算机,它是在一块集成芯片上制作了计算机的主要组成部分,它根据存储器中的程序(工作步骤表)的内容控制其它电路工作。凡是应用单片机控制技术的电路都可以称为单片机系统,控制环节的硬件电路包含最小系统和外围拓展电路两部分:最小系统为单片机提供最基本的工作条件(供电、时钟和复位),外围电路包含检测外界状况的输入电路和控制电路实现各种操作的输出电路。为了便于理解,现在用比喻的方法介绍单片机系统:没有烧录程序的单片机相当空白的大脑(不会工作的),整个单片机硬件电路像是人体,最小系统像是躯干部位给这个大脑提供基本生存条件,输入电路像是眼、耳、皮肤等视觉听觉触觉器官,输出电路像是手、脚、嘴巴等运动器官;单片机这个大脑是按内部烧录的工作步骤表工作,所谓工作步骤表就是程序员所编写的程序;单片机这个大脑通过I/O接口接收感觉器官送来的信号,同样通过I/O接口发送信号控制行动器官实施动作。需要注意的是人的器官是健全的,而单片机系统的外围电路是设计者根据需要来设置的,可多可少,甚至是没有输入只有输出。比如单片机控制临时红绿灯,它从不看实际交通状况,只是按事先设定的步骤表,交替亮起红、黄、绿三色灯,也就是说这个单片机系统没有输入电路只有输出电路。

然后,明白单片机系统是怎样工作的,明白理解硬件电路是编程的前提条件。单片机是在程序的指导下工作,通过检测I/O引脚电平的变化来感受外围电路送来的信号,通过对I/O引脚的电平置1或置0控制外围电路完成功能操作。输入信号的检测和控制信号的传输是单片机程序完成控制的决定性因素,而信号的检测传输的规则由单片机I/O口结构、拓展芯片的结构等硬件决定,因此理解硬件电路是编程的前提条件。很多人学单片机,一头扎在编程研究上,但到了实际项目编程时就束手无策,其原因是忽视了硬件的学习。只有看懂了硬件电路、单片机单元电路结构方框图、拓展芯片内部结构方框图,才能理解各种芯片的功能表、控制引脚电平设置、工作时序图,编程才能胸有成竹。

接着,选择C51作为单片机编程语言。单片机系统的灵魂是存储器里的工作步骤表,即程序员编写的程序,编程必须使用计算机语言。早期单片机编程主要使用汇编语言,是因为汇编语言的指令与硬件紧密关联,每条指令都有固定的机器周期,在时间上可以做到精确掌控,生成目标代码精简占用的存储空间小,执行时间短,非常适合当时的单片机速度慢、存儲空间很小的状况;加上汇编语言出现得早,当时的程序设计人员对它是耳熟能详,故广泛应用。但汇编语言指令的数量多、理解难度大、寻址方式复杂,编写源程序的代码较长,令无数初学者头痛。今天,单片机的存储空间大、速度快,已经不再苛求代码数据量和程序执行速度。单片机编程语言C51,虽然程序运行时间不能精确控制,目标代码较多,但通俗易懂,容易掌握,程序移植性好,使得C51成为目前主流的单片机编程语言。也就是说:C51编程语言最适合初学者,有利于提高学习效率,让学习事半功倍。

重点:项目教学法是让学生轻松学懂单片机的关键所在。掌握单片机开发技术,所需要的硬件和软件方面的知识非常多。传统教学法完成理论学习后再进行实习,理论知识难度大且容易混淆,以至实验时头脑混乱,不能做到理论指导实践,导致难以学懂。项目教学法只学习即将用到的知识点,将实操与理论学习同步进行,理论指导实践,实践验证理论,可谓是“学以致用,用以促学”,极大降低学习难度,大大提高学习兴趣,使学习变成轻松愉快。

通过项目教学法,将数量庞大的硬件和软件知识分解到每一个项目中,逐个掌握,逐项应用,逐步提高学生应用单片机的能力。单片机开发人员需要掌握的软硬件知识非常繁多,首先要理解全局硬件电路、单片机单元电路方框图和芯片结构方框图;接着理解信号的传输途径、拓展芯片的功能表和控制引脚电平设置、工作时序图、控制寄存器的设置、定时器初始值设置等知识;还需掌握众多软件知识,如各种变量、数组、各种运算符、语法规则、程序结构、while、for 、if、switch指令,以及如何用位操作指令模拟时序的方法等。面对如此庞大的知识量,项目教学法成功的把这个“大馒头”分成很多小块,逐快吞咽。因为单个项目只学习即将用到的一两个知识点,逐个学习单片机项目,就能逐项掌握相关软硬件专业知识。

单片机项目教学法关键点是实践。单片机是控制硬件电路的,非常注重实际效果,实验成为重要教学环节。硬件电路实验和软件仿真实验,使单片机项目教学法实验环节非常可行,保障实际操作跟理论学习同步进行,让学生成为学习的主导者,快乐学习。硬件电路实验是指利用学校的实验箱或开发板进行实验,首先读懂电路图,然后参照给定的例程,在KEIL软件上编写自己的程序并编译,最后通过烧录软件将目标程序烧录到单片机内,通电实验。软件仿真实验是指在电脑上利用PROTEUS软件(需要和KEIL联动)进行仿真实验,它是一个虚拟实验室,有很多种类的虚拟器件,不受实际条件限制的进行各种实验,我们只需在原理图窗口绘制电路图,程序代码窗口编写软件,然后进行仿真实验。初学者每在书本上完成一个项目的学习,即刻实验观看控制效果,加深对知识的理解,提升动手能力。

项目教学法可以快速提高初学者的单片机开发能力。通过给学生布置设计课题,引导学生从分析设计意图和项目功能开始,然后去设计硬件电路,研究硬件电路所用芯片,构思程序的流程图,设置控制寄存器,编写程序代码(用位操作指令模拟工作时序),进行多次实验,逐步实现项目功能。通过项目开发练习,学生能够把所学的知识及时应用,提升电路设计和软件编程能力,快速掌握单片机专业知识。

本文从正确认识单片机系统及其工作过程开始,提出理解硬件电路是编程的前提条件的观点,选择C51作为编程语言,运用项目教学法,将众多软硬件知识分解逐个掌握,通过实验逐渐培养单片机应用能力,让学生轻松学懂单片机。

参考文献:

赵兴宇等 单片机的应用与设计(项目式教学)

猜你喜欢

项目教学法单片机程序
给Windows添加程序快速切换栏
简化化学平衡移动教学程序探索
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
探析项目教学法在化工管路拆装实训中的应用
项目教学法在中职flash课程教学中的应用探究
C8051F020与80C51单片机的异同点
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器