刘春雅
摘 要: 本文以基于单片机的电子密码锁设计为例,介绍了项目教学法在单片机教学中的应用。
关键词: 单片机 电子密码锁 教学应用
引言
单片机是计算机发展的一个分支领域,它诞生时就以体积小、功能强、可靠性高等优点迅速地应用于自动化控制领域,并逐步取代传统控制系统。它是从事家用电器、仪器仪表、机电控制等领域工作的技术人员必须掌握的技术。单片机的学习要比一般的编程困难,主要原因在于完成一个单片机系统,不仅要掌握编程技术,而且要知道如何针对不同的应用场合选择适合的方案和器件,以及用软件控制这些器件工作。
在单片机课程教学中,针对现代高职学生的特点,不能采用本科那种以知识体系传授为主的教学方法,而是侧重学生单片机应用能力的培养和训练。本文以单片机控制的电子密码锁设计为例,介绍了项目教学法在单片机课程中的应用。
1.单元目标
通过电子密码锁的设计项目训练,学生实现以下目标,如表1所示:
表1 项目训练目标
2.项目训练过程设计
2.1明确训练任务
训练要求学生设计基于单片机的电子密码锁,具体要求如下:
(1)通过键盘输入密码,如果输入密码正确,则将锁打开;(2)显示器采用LED数码管;(3)如果密码输入错误,显示器将出现错误提示;(4)如果密码输入错误次数超过三次,蜂鸣器报警并且将键盘锁定。
2.2划分软硬件功能
单片机系统由软件和硬件两部分组成。在应用系统中,有些功能既可由硬件实现,又可用软件完成。硬件的使用可以提高系统实时性和可靠性;使用软件实现可以降低系统成本,简化硬件结构。因此在总体考虑时,必须综合分析以上因素,合理地制定硬件和软件任务的比例。划分软硬件功能进一步将学生任务具体化。
根据控制要求划分控制系统软、硬件功能分别如下:硬件电路设计主要包括键盘电路设计,LED显示电路设计,开锁电路设计和报警电路设计;软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。
2.3硬件电路设计
2.3.1键盘电路设计
选用行列式键盘,减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,一般都采用这样的方法。其原理如图1所示:
图1 矩阵键盘
如图1所示,4条行线与4条列线的交叉处互不相通,而是通过一个按键连通,利用这种行列式矩阵结构只需要4条行线和4条列线,即可组成具有4×4个按键的矩阵键盘。键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有键按下后,下一步就要识别按下的是哪一个按键。
密码锁键盘具体的功能设计如表2所示:
表2 按键功能
2.3.2LED显示电路设计
密码锁的显示选用串行显示方式,仅用单片机的一个串行口,利用74LS247驱动数码管发光显示数码,用74LS138控制位选信号,实现单片机的显示功能,显示电路的原理图如图2所示。
图2 LED显示电路
2.3.3开锁电路设计与仿真
用发光二极管的亮、灭表示是否开锁成功,其仿真电路图如图3所示。当P2.0口输出为低电平时,二极管发光,表示开锁成功,否则开锁失败。
图3 开锁电路
2.3.4报警电路设计与仿真
图4 报警电路
报警模块主要由蜂鸣器组成。设计选用压电式蜂鸣器,压电式蜂鸣器在工作时需要约100mA的驱动电流。当89C51的P2.1口输出为低电平时,蜂鸣器发声,当89C51输出为高电平时,蜂鸣器不发声。
2.4软件设计
2.4.1软件设计思路
电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,做出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。
密码的设定方法如下:程序中可将密码固定在40H—45H中,假设初设密码为“123456”共6位密码。由于采用两个按键完成密码的输入,一个按键作为功能键,另一个按键作为数字键。输入时,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都输入完毕;再输入确认键,表示密码的输入过程结束。然后进入密码的判断比较处理过程并给出相应的处理结果。
2.4.2软件设计
2.4.2.1键盘扫描子程序
键盘扫描程序流程图如图5所示:
图5 键盘扫描程序流程图
2.4.2.2显示部分子程序
LED顯示流程图如图6所示:
图6 LED显示流程图
2.4.2.3密码比较和报警程序
输入密码比较及输错报警流程图如图7所示:
图7 密码比较和报警流程
结语
本文以单片机电子密码锁设计为例论述了项目教学法在单片机教学中的实施过程。通过该项目的训练,学生掌握矩阵式键盘的接口设计方法,矩阵式键盘的按键识别方法,LED的动态显示方法,LED显示器的接口设计方法,为学生单片机课程的后续学习奠定基础。
参考文献:
[1]刘继光.单片机应用技术[M].北京邮电大学出版社,2013.
[2]郭天祥.51单片机C语言教程[M].电子工业出版社,2009.
[3]朱芙菁,田影.单片机原理及应用技术[M].航空工业出版社,2010.
[4]董海棠,张旭,冯中毅.基于单片机的电子密码锁设计[J].自动化与仪器仪表,2014(10).