第七章 电子密码锁控制系统ppt课件_第1页
第七章 电子密码锁控制系统ppt课件_第2页
第七章 电子密码锁控制系统ppt课件_第3页
第七章 电子密码锁控制系统ppt课件_第4页
第七章 电子密码锁控制系统ppt课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章第七章 电子密码锁控制系统电子密码锁控制系统课程目标、课程重点及难点课程目标、课程重点及难点课程目标:课程目标: 了解微机控制系统键盘的构建及工作原理;了解微机控制系统键盘的构建及工作原理;认识微机控制系统的键盘设计,掌握单片机键认识微机控制系统的键盘设计,掌握单片机键盘的应用。盘的应用。课程重点及难点课程重点及难点 独立式键盘及其接口电路;矩阵式键盘及其独立式键盘及其接口电路;矩阵式键盘及其接口电路;按键扫描驱动程序的设计。接口电路;按键扫描驱动程序的设计。7.17.1电子密码锁控制系统任务分析电子密码锁控制系统任务分析一、一、 电子密码锁实物图:电子密码锁实物图: 二、任务分析二、任

2、务分析(1 1状态状态1 1:开机复位,等待输入,输入四位密码,按:开机复位,等待输入,输入四位密码,按EnterEnter键结束。键结束。(2 2状态状态2 2:若密码输入正确,则数码管显示:若密码输入正确,则数码管显示“god”god”。驱动。驱动继电器,使小马达运行。延时五秒返回重新输入。继电器,使小马达运行。延时五秒返回重新输入。(3 3状态状态3 3:若密码输入不正确,则数码管第一位显示输入:若密码输入不正确,则数码管第一位显示输入次数,后二位显示次数,后二位显示“ER”ER”,延时三秒后返回重新输入。,延时三秒后返回重新输入。(4 4状态状态4 4:当错误输入次数满三次时,起动蜂鸣

3、器报警。:当错误输入次数满三次时,起动蜂鸣器报警。延时五秒返回重新输入。延时五秒返回重新输入。7.17.1电子密码锁控制系统任务分析电子密码锁控制系统任务分析三、硬件控制线路三、硬件控制线路 1234ABCD4321DCBATitleNumberRevisionSizeA4Date:14-Dec-2005Sheet of File:D:电子密码锁.ddbDrawn By:12MHzC122ufVCCR41K1MR51KR61KR71KabfcgdeDPYLEDgn1234567abcdefgLED1abfcgdeDPYLEDgn1234567abcdefgLED2abfcgdeDPYLEDgn

4、1234567abcdefgLED3EVCCK10GND9GND8R81KVCCC230uF7R91KC130uF6R11K5R21KR101K4GND32VCCVCCGNDR31K901398C2051RSTP3.0P3.1XTAL2XATL1P3.2P3.3P3.4P3.5ENDVCCP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3.79013R111KGNDVCC7.17.1电子密码锁控制系统任务分析电子密码锁控制系统任务分析7.17.1电子密码锁控制系统电子密码锁控制系统7.17.1电子密码锁控制系统电子密码锁控制系统四、项目所需元器件四、项目所需元器件(1 1实验

5、控制板。实验控制板。(2 24 4个共阳极个共阳极LEDLED数码管、数码管、1111个按钮。个按钮。(3 3继电器、电动小马达、三极管、喇叭等继电器、电动小马达、三极管、喇叭等(4 4晶振晶振12M12M,启振电容,启振电容30pf230pf2个,复位电容个,复位电容22uf,22uf,电阻若干。电阻若干。五、项目所涉及的知识内容五、项目所涉及的知识内容(1 1键盘的构成、扫描及编码。键盘的构成、扫描及编码。(2 2键盘的编程。键盘的编程。 7.17.1电子密码锁控制系统电子密码锁控制系统7.2 7.2 键盘及其接口电路键盘及其接口电路一、键盘的基本概念一、键盘的基本概念 键盘是一组开关的集

6、合,是最常用的输入设备之一。组键盘是一组开关的集合,是最常用的输入设备之一。组成键盘的按键有触点式和非触点式两种。成键盘的按键有触点式和非触点式两种。 触点式按键通常是机械触点开关,它利用了机械触点的触点式按键通常是机械触点开关,它利用了机械触点的通、断特性完成信息的输入。通、断特性完成信息的输入。 非触点式按钮主要指利用电子器件的通、断来完成信息非触点式按钮主要指利用电子器件的通、断来完成信息的输入,如工作在开关状态的三极管、电力电子器件的输入,如工作在开关状态的三极管、电力电子器件IGBTIGBT等。等。 在单片机控制系统中常用触点式开关来组成键盘。在单片机控制系统中常用触点式开关来组成键

7、盘。 7.2 7.2 键盘及其接口电路键盘及其接口电路 在实际键盘接口设计时,必须考虑以下一些问题:在实际键盘接口设计时,必须考虑以下一些问题: 按键开关的消抖问题按键开关的消抖问题 重键重键 连击连击(1 1按键开关的抖动问题按键开关的抖动问题 由于按键的结构为机械弹性开关,因此按键从最初按下由于按键的结构为机械弹性开关,因此按键从最初按下到接触稳定需数毫秒的弹跳时间,这样的抖动时间一般到接触稳定需数毫秒的弹跳时间,这样的抖动时间一般在在510ms510ms,松开键时也有同样的问题。,松开键时也有同样的问题。7.2 7.2 键盘及其接口电路键盘及其接口电路 键盘消抖动的方法有两种。键盘消抖动

8、的方法有两种。 硬件消抖动:利用双稳态电硬件消抖动:利用双稳态电 路、单稳态电路及路、单稳态电路及RC积分电积分电 路去抖。路去抖。 软件消抖动:利用延时子程软件消抖动:利用延时子程 序来完成,既在第一次检测序来完成,既在第一次检测 到按下按键后,经过一定抖到按下按键后,经过一定抖 动时间后再次检测按键是否动时间后再次检测按键是否 按下,从而消除抖动的影响。按下,从而消除抖动的影响。延时的选择非常重要,太延时的选择非常重要,太快了,起不到消除抖动的快了,起不到消除抖动的效果,太慢了又让键盘太效果,太慢了又让键盘太不灵活,错过的按键信号不灵活,错过的按键信号7.2 7.2 键盘及其接口电路键盘及

9、其接口电路 (2重键:是指无意同时或先后按下两个以上的键。重键:是指无意同时或先后按下两个以上的键。 (3连击:是指一次按键产生多次击键的结果。连击:是指一次按键产生多次击键的结果。 通常在单片机应用系统中,对于重键或连击现象,也通常在单片机应用系统中,对于重键或连击现象,也多利用软件来进行控制,如采取单键按下有效、多个多利用软件来进行控制,如采取单键按下有效、多个键按下无效,并且在某个键被按下时,键按下无效,并且在某个键被按下时,CPU等待此等待此键释放的过程中不响应其它按键等策略来解决。键释放的过程中不响应其它按键等策略来解决。7.2 7.2 键盘及其接口电路键盘及其接口电路 二、键盘的结

10、构方式二、键盘的结构方式 键盘有两种基本类型:编码键盘和非编码键盘。键盘有两种基本类型:编码键盘和非编码键盘。 编码键盘采用硬件线路来产生键码,每按下一个键,键盘编码键盘采用硬件线路来产生键码,每按下一个键,键盘 能自动生成按键代码。能自动生成按键代码。 非编码键盘是靠软件来识别键盘上的闭合键,并由软件编非编码键盘是靠软件来识别键盘上的闭合键,并由软件编 成来确定按键代码。非编码键盘具有结构简单、价格便宜成来确定按键代码。非编码键盘具有结构简单、价格便宜 等特点,因此在单片机系统中普遍采用非编码键盘。等特点,因此在单片机系统中普遍采用非编码键盘。 非编码键盘按结构方式划分,有独立式键盘和矩阵式

11、键盘非编码键盘按结构方式划分,有独立式键盘和矩阵式键盘 两大类。两大类。 7.2 7.2 键盘及其接口电路键盘及其接口电路 1、独立式键盘及其接口、独立式键盘及其接口 独立式键盘,是一种最简单的键盘构成方法,它将每个独立式键盘,是一种最简单的键盘构成方法,它将每个按键的一端接到单片机的按键的一端接到单片机的I/O口,另一端接地,如下图。口,另一端接地,如下图。 主要特点是各个键相互独立,每一个按键对应一根输入主要特点是各个键相互独立,每一个按键对应一根输入口线。键盘软件结构简单,但当键盘数目较多时,需占口线。键盘软件结构简单,但当键盘数目较多时,需占用大量的输入口线,所以在使用上受到了很大的限

12、制。用大量的输入口线,所以在使用上受到了很大的限制。 7.2 7.2 键盘及其接口电路键盘及其接口电路 独立式键盘接口原理图 矩阵式键盘接口原理图 7.2 7.2 键盘及其接口电路键盘及其接口电路 2、矩阵式键盘及其接口、矩阵式键盘及其接口 在键盘中按键数量较多时,为了减少在键盘中按键数量较多时,为了减少I/O口的占用,通常口的占用,通常将按键排列成矩阵形式。将按键排列成矩阵形式。 在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接,如下图。这样,一个通,而是通过一个按键加以连接,如下图。这样,一个端口如端口如P1口

13、就可以构成口就可以构成4*4=16个按键,比独立个按键,比独立式键盘多出了一倍,而且线数越多,区别越明显,如再式键盘多出了一倍,而且线数越多,区别越明显,如再多加一条线就可以构成多加一条线就可以构成20键的键盘,而直接用端口线则键的键盘,而直接用端口线则只能多出一个键只能多出一个键9键)。键)。7.2 7.2 键盘及其接口电路键盘及其接口电路 (1矩阵式键盘的按键识别方法矩阵式键盘的按键识别方法 逐行扫描法:逐行扫描法: 扫描法是一种逐行或逐列判断是否有键按下的方法。扫描法又称为逐行扫描法是一种逐行或逐列判断是否有键按下的方法。扫描法又称为逐行或列扫描查询法,是一种最常用的按键识别方法。利用行

14、扫描法或列扫描查询法,是一种最常用的按键识别方法。利用行扫描法判断矩阵键盘中被按下的键时主要经过以下步骤:判断矩阵键盘中被按下的键时主要经过以下步骤: 第一步,识别有无键按下第一步,识别有无键按下 让所有的行线均置为让所有的行线均置为0电平,即电平,即P1.4P1.7均输出低电平,读取列线均输出低电平,读取列线P1.0P1.3的值,若的值,若P1.0P1.3均为高电平,则表示无键按下;均为高电平,则表示无键按下;若不全为高电平,则表示有键按下。若不全为高电平,则表示有键按下。7.2 7.2 键盘及其接口电路键盘及其接口电路 第二步,若有键被按下,识别出具体的按键第二步,若有键被按下,识别出具体

15、的按键 方法是采用逐行扫描的办法,即逐行置零电平,检查各列方法是采用逐行扫描的办法,即逐行置零电平,检查各列线的电平。如首先置第一行为线的电平。如首先置第一行为0 0,其余行为,其余行为1 1,也就是让,也就是让P1.4P1.4P1.7P1.7输出输出01110111,读取列线,读取列线P1.0P1.0P1.3P1.3的值;若不全的值;若不全为为1 1,则根据读取的列值即可判断出按键在第一行第几列,则根据读取的列值即可判断出按键在第一行第几列上,从而识别出按键的位置;若全为上,从而识别出按键的位置;若全为1 1,表示第一行无键,表示第一行无键按下,那么就再置第二行为按下,那么就再置第二行为0

16、0,其余行为,其余行为1 1,即,即P1.4P1.4P1.7P1.7输出输出10111011,再读取列值,根据列值结果,判断第二行上有,再读取列值,根据列值结果,判断第二行上有无键被按下,依此类推,识别出按键的键值。无键被按下,依此类推,识别出按键的键值。 7.2 7.2 键盘及其接口电路键盘及其接口电路 扫描法在判断键值时,是采用的逐行扫描法,当被按下扫描法在判断键值时,是采用的逐行扫描法,当被按下的键在最后一行时,需经多次扫描才能获得被按下键所的键在最后一行时,需经多次扫描才能获得被按下键所在的行、列值。在的行、列值。 反线法:反线法: 反线法的特点是无论被按下的键处于第一行或最后一行,反

17、线法的特点是无论被按下的键处于第一行或最后一行,均只需经过两步便能获得此按键所在的行列值。均只需经过两步便能获得此按键所在的行列值。7.2 7.2 键盘及其接口电路键盘及其接口电路其操作步骤如下:其操作步骤如下:第一步:将行线编程为输入线,列线编程为输出线,并使第一步:将行线编程为输入线,列线编程为输出线,并使输出线输出为全零电平,则行线中电平由高到低所在输出线输出为全零电平,则行线中电平由高到低所在行为按键所在行。行为按键所在行。第二步:同第一步完全相反,将行线编程为输出线,列线第二步:同第一步完全相反,将行线编程为输出线,列线编程为输入线,并使输出线输出为全零电平,则列线编程为输入线,并使

18、输出线输出为全零电平,则列线中电平由高到低所在列为按键所在列。中电平由高到低所在列为按键所在列。综合一二两步的结果,可确定按键所在行和列,从而识别综合一二两步的结果,可确定按键所在行和列,从而识别出所按的键。出所按的键。 7.2 7.2 键盘及其接口电路键盘及其接口电路 假设3号键被按下,那么第一步即在P1.0P1.3输出全0,然后,读入P1.4P1.7位,结果P1.4=0,而P1.5、P1.6和P1.7均为1,因而,第一行出现电平的变化,说明第一行有键按下;第二步让第二步让P1.4P1.4P1.7P1.7输出全输出全0 0,然后,读入,然后,读入P1.0P1.0P1.3P1.3位,位,结果结

19、果P1.0=0P1.0=0,而,而P1.1P1.1、P1.2P1.2和和P1.3P1.3均为均为1 1,因此第,因此第4 4列出现列出现电平的变化,说明第电平的变化,说明第4 4列有键按下,从而可以得知按键在列有键按下,从而可以得知按键在第一行第四列,即第一行第四列,即3 3号键被按下,如下图。号键被按下,如下图。7.2 7.2 键盘及其接口电路键盘及其接口电路(2 2键盘的编码键盘的编码 对于矩阵式键盘,按键的位置由行号和列号确定,所以对于矩阵式键盘,按键的位置由行号和列号确定,所以分别对行号和列号进行二进制编码,然后将两值合成一分别对行号和列号进行二进制编码,然后将两值合成一个字节,高个字

20、节,高4 4位是行号,低位是行号,低4 4位是列号,非常直观位是列号,非常直观 。如:。如:3 3号键的编码号键的编码1110011111100111,写成十六进制为,写成十六进制为E7HE7H。 无论以何种方式编码,均应以处理问题方便为原则。按无论以何种方式编码,均应以处理问题方便为原则。按键所处的位置即行号和列号是各种编码之间相互转键所处的位置即行号和列号是各种编码之间相互转换的基础。换的基础。7.3 7.3 键盘程序设计键盘程序设计 一、键盘扫描程序的工作方式一、键盘扫描程序的工作方式 键盘扫描程序的工作方式通常有三种,即编程扫描、定键盘扫描程序的工作方式通常有三种,即编程扫描、定时扫描

21、和中断扫描。时扫描和中断扫描。 编程扫描:采用程序不断扫描控制方式。当进入键扫描编程扫描:采用程序不断扫描控制方式。当进入键扫描状态,就反复地扫描键盘,等待用户从键盘上输入命令状态,就反复地扫描键盘,等待用户从键盘上输入命令或数据,在执行键入命令或处理键入数据过程中,或数据,在执行键入命令或处理键入数据过程中,CPUCPU将将不再响应键入要求,直到不再响应键入要求,直到CPUCPU返回重新扫描键盘为止。返回重新扫描键盘为止。7.3 7.3 键盘程序设计键盘程序设计 定时扫描:利用单片机内部的定时器产生定时定时扫描:利用单片机内部的定时器产生定时中断来进行键盘的扫描,当有键按下时,识别中断来进行

22、键盘的扫描,当有键按下时,识别出该键的键值并执行相应的键功能程序。出该键的键值并执行相应的键功能程序。 中断扫描:当有键被按下时,键盘接口电路就中断扫描:当有键被按下时,键盘接口电路就向向CPUCPU申请中断,若申请中断,若CPUCPU响应中断,就执行判键响应中断,就执行判键程序得到键值,从而去执行相应的键功能程序。程序得到键值,从而去执行相应的键功能程序。 7.3 7.3 键盘程序设计键盘程序设计二、键盘扫描程序二、键盘扫描程序 1 1、逐行扫描法、逐行扫描法7.3 7.3 键盘程序设计键盘程序设计#include #include reg51.hreg51.h#define uchar u

23、nsigned char#define uchar unsigned char;#define uint unsigned int#define uint unsigned int;void dlms (void)void dlms (void);uchar kbscan(void)uchar kbscan(void); / /* * 函数说明函数说明 * */ /void main (void)void main (void) uchar keyuchar key; while (1)while (1) key=kbscan()key=kbscan(); / /* *调键扫描函数,返回键码送

24、调键扫描函数,返回键码送keykey保存保存* */ / dlms() dlms(); 7.3 7.3 键盘程序设计键盘程序设计void dlms (void) /void dlms (void) /* * 延时延时 * */ / uchar iuchar i; for (i=200for (i=200;i i0 0;i- -)i- -); uchar kbscan (void) /uchar kbscan (void) /* * 键盘扫描函数,逐行扫描键盘扫描函数,逐行扫描 * */ / uchar sccode, recodeuchar sccode, recode; P1=0 xf0;

25、/P1=0 xf0; /* * P1.0 P1.0P1.3P1.3放全放全0 0, P1.4P1.4P1.7P1.7输入输入 * */ / if(P1 & 0 xf0)!=0 xf0) / if(P1 & 0 xf0)!=0 xf0) /* * 如如P1P1口高四位不全为口高四位不全为1 1有键按下有键按下 * */ / dlms ( )dlms ( ); / /* * 延时去抖动延时去抖动 * */ / if (P1 & 0 xf0)!=0 xf0) /if (P1 & 0 xf0)!=0 xf0) /* *再读输入值再读输入值* */ / sccode=0

26、xfesccode=0 xfe; / /* *最低位置为最低位置为0 0* */ /7.3 7.3 键盘程序设计键盘程序设计 while(sccode & 0 x10)!=0) / while(sccode & 0 x10)!=0) /* *不到最后一行循环不到最后一行循环* */ / P1=sccodeP1=sccode; / /* *P1P1口输出扫描码口输出扫描码* */ / if (P1 & 0 xf0)!=0 xf0) /if (P1 & 0 xf0)!=0 xf0) /* *如如P1.4P1.4P1.7P1.7不为全不为全1 1,该行有键按,该行有键按下下* */ / recode=P1 & 0 xf0; /recode=P1 & 0 xf0; /* * 保留保留P1P1口高四位输入值口高四位输入值* */ / sccode= sccode & 0 x0f; / sccode= sccod

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论