设计与开发

单片机测控系统 详解单片机的按键检测与控制

小编 2024-10-09 设计与开发 23 0

详解单片机的按键检测与控制

按键在单片机控制系统中起到人机交互的作用,通过按键可以输入数据、命令和各种参数,按键侧键测处理是单片机系统设计和开发中一个重要的内容,关系到整个系统的交互性能和稳定性。按键处理形式在单片机系统中有两种形式:直接按键和矩阵编码键盘,下面分别对这两种按键检测电路的特点及编程思路和方法进行分析和介绍。

按键抖动问题产生的原因及解决方法

按键的抖动问题是指按键的触点在闭合和断开瞬间由于接触情况不稳定,从而导致电压信号的抖动现象(由按键的机械特性造成,不可避免)。图8-1所示为一次按键的抖动过程,在按键的前沿和后沿都会有5~10ms的抖动。

图8-1 按键抖动示意图

对于时钟是微秒级的单片机而言,键盘的抖动有可能造成单片机对一次按键的多次处理。为了提高系统的稳定性,我们必须采用有效的方式消除抖动。

去除抖动可以采用硬件方式和软件方式。硬件方式一般是在按键与单片机的输入通道上安装硬件去抖电路(如RS触发器)。软件方式的实现方法是:当查询到电路中有按键按下时,先不进行处理,而是先执行10~20ms的延时程序,延时程序结束后,再次查询按键状态,若此时按键仍为按下状态,则视为按键被按下。

按键检测电路及应用

1. 独立式按键

独立式键盘相互独立,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他按键的工作状态,CPU可直接读取该I/O线的高/低电平状态。这种按键硬件、软件结构简单,判键速度快,使用方便,但占用I/O口线较多,适用于按键数量较少的系统中。

独立连接式键盘连接如图8-2所示。当没有键被按下时,所有的数据输入线均为高电平;当任意一个按键被按下时,与之相连的数据输入线将变为低电平;通过相应指令,可以判断是否有键被按下。

图8-2 独立式键盘接口设计

【例8-1】 利用单片机的P1.0~P1.34个I/O口检测4个按键的触发信息,以实现不同功能的控制。

硬件电路参见图8-2所示,C51参考程序如下:

2. 矩阵式按键

在单片机系统中,当按键数量较多时,为了减少IO口的使用,通常将按键排列成矩阵型式。例如下例中的16个按键,被排列成了如图8-3所示的4X4矩阵方式。该矩阵式键盘由4根行线和4根列线组成,每个行线和列线的交叉点是一个按键。

【例8-2】 将矩阵式键盘的按键值通过数码管显示出来。

电路连接如图8-3所示(电源和震荡电路未标出)。

图8-3 矩阵式键盘按键显示电路图

如何判断被按下的键值呢?

分析如下:

根据下面的电路图,如果已知P1.0端口被置为低电平“0”,那么当按键K0被按下时,可以肯定P1.4端口的电平也变为了低电平“0”。基于这个原理,总结矩阵键盘识别按键的步骤如下:

a)首先判断是否有按键被按下

本例中矩阵键盘中P1端口低4位连接的是列线,高4位连接的是行线。将全部行线置为低电平“0”,全部列线置为高电平“1”。然后检测列线的状态。只要有一根列线的电平为低,则表示有按键被按下。否则没有按键按下。

b)按键消抖

当判断到有按键被按下后,还要进行消抖处理,以确认真正有按键被按下。

c)按键识别

当确认有键被按下后,采用逐行扫描的方法来确定是哪一个按键被按下。先扫描第一行,即将第一行输出低电平“0”,然后读取列值,那一列出现低电平“0”,则说明该列与第一行交叉处的按键被按下。如果读入的列值全部为"1",说明与第一行连接的按键均没有被按下。那么接下来开始扫描第二行,以此类推。直到完成全部行线的扫描。

C51程序如下:

矩阵式键盘与I/O接口应用

【例8-3】 四位数字密码锁

四位数字密码锁功能:通过键盘输入密码,当输入密码与内置密码相同时,继电器动作,表示密码锁解开。为了简化功能,该密码锁只使用12个键(即4x3键盘),其中S1~S9为1~9数字键,S10为0数字键,S11为“*”键作为确认键使用,而S12为“#”键作为复位键,键盘接口电路如图8-4所示,键值布局如表8-1所示。

图8-4 行列式键盘电路连接图

表8-1 键盘布局表

单片机上电时,数码管显示“0000”,此时输入数字,数码管将显示按键值,数字逐个向左递增,四次输入完毕,四个数码管显示输入的数,此时按“*”号按键将启动比较,若输入数字与内设密码相同,继电器动作。如不同,则系统复位等待重新输入密码。当按“#”号键,系统复位,数码管显示“0000”。

在上面键扫描程序基础上增加的源程序如下:

单片机控制的防盗系统设计

方案设计

防盗报警系统是以51单片机为核心构成防盗报警系统,当热释电红外传感器检测到人体时,LED灯发光,单片机接收到信号后,通过外接报警电路立即发出报警信号,达到预期报警效果。电源模块供电,时钟模块设定好时间和日期,通过LCD1602液晶显示器显示时间和日期。

系统硬件与软件设计

(一)报警电路设计

报警电路采用的是蜂鸣器报警,当红外感应源在接收到人体红外辐射时后续电路经检测处理后就能产生报警信号。接收到报警信号,LED灯变亮,蜂鸣器鸣叫报警,当报警延迟10s一段时间后自动解除,也可以人工手动解除报警信号。当警报解除,复位电路复位系统,或报警10s,自动取消报警定时器。如果人体进入检测区域,它不会移动,则温度没有变化,传感器也没有信号输出,51单片机没有接收到信号,LED灯变暗,蜂鸣器不鸣叫,不会发生报警现象。

报警电路原理图如图2.1所示,蜂鸣器用一个三极管Q4来驱动。单片机引脚P1.1接三极管的基极输入端。当P1.1输出高电平1时,三级管导通,蜂鸣器两端获得约+5V的电压而鸣叫;当P1.1输出低电平0时,三级管截止,蜂鸣器停止发生。

(二)显示模块设计

LCD1602液晶显示器的显示原理:字符的显示:在LCD上显示字符很复杂,因为一个字符由6×8或8×8点阵组成。它必须找到并显示与屏幕上某些位置相对应的显示RAM区域的8个字节,并创建每个字。该部分的不同位为“1”,其余为“0”,“1”亮起,“0”熄灭。这形成了一个标志。但是,由于字符发生器的控制,显示字符比较容易,因此控制器可以根据LCD上显示的行数和列数以及文本模式下每行的列数来操作,以找到相应的显示RAM。设置地址,光标,发送字符的代码。

(三)单片机控制的防盗系统总体设计

单片机控制的防盗系统总体设计是由AT89C52控制DS1302芯片,通过显示模块LCD1602液晶显示器显示日期和时间。有热释电红外传感器,LED灯,按键,蜂鸣器和其他一些微控制器外设应用,以及微控制器复位电路。其中D1是绩效指标,从P10口输入信号,P11口和P12口输出信号。当热释电红外传感器接收到信号,P10口接收到信号为高电平时,P12口为高电平,LED灯亮,同时P11口也为高电平,蜂鸣器鸣叫,达到报警效果。当热释电红外传感器没有接收到信号,接收到信号为低电平,P12口为低电平,LED灯灭,同时P11口也为低电平,蜂鸣器不发出鸣叫就不会报警,系统不反应继续检测。

单片机控制的防盗系统总体设计实物图如图2.4所示。它是由AT89C52控制时钟模块DS1302芯片,通过显示模块LCD1602液晶显示器显示日期和时间。热释电红外传感器检测到人体时,LED灯发光,由于人体温度和环境温度之间的差异,约10微米。通过菲涅耳透视滤光器放大从人体发射的红外线辐射的m微米,然后集中在红外线感应源上。当红外感应源接收到人体的红外辐射时会失去电荷平衡。释放电荷,然后产生一个高电平和高电平输出到外围电路,报警电路检测和处理可以产生一个报警信号,蜂鸣器发出声音以达到预期的报警效果。

(四)防盗报警系统程序设计流程

当人体感应器开始检测到信号,这意味着有人进入检测区域。51单片机内部处理后,51芯片微控制器外围电路蜂鸣器被激活以启动警报。闹钟在10秒后自动停止。然后程序开始循环。它检查是否有下一个触发信号。等待警报。让闹钟继续工作。当人体感应器开始检测不到信号时,系统不反应,继续检测。

测试结果及分析

首先对上面制作的电路板按照原理图用数字万用表进行逐一测试排除虚焊,短路等情况同时观察极性原件是否焊反,然后采用接触式上电的方法对电路进行上电测试,上电后用手触摸芯片表面看是否发热,一旦有发热的情况立即关闭电源,然后排查解决,待触摸测试结束后对电路板进行较长时间的供电,与此同时在单片机里面装入预先设定好的功能测试程序对电路进行功能测试,一直到电路板各项功能都达到预期为止。下面是LCD1602液晶显示器和热释电红外传感器的测试结果。

当人体进入检测区域时,LED灯发光。由于人体温度和环境温度之间的差距,约10微米。从人体发出的红外辐射被菲涅耳透视滤光器放大,然后会聚到红外传感器源。红外传感器源接收人体的红外光束。当辐射损失时,电荷平衡失去,电荷输出到外部,然后产生高电平,高电平输出到外部电路。报警电路在检测和处理后可能会产生报警信号。时钟模块设定好时间,LCD1602液晶显示器显示时间和日期,达到预期报警效果。

当无人进入检测区,温度没有变化,当红外传感器没有接收到来自人体的红外辐射时,它将保持电荷平衡,并且不会将电荷传送到外部,然后产生低电平并向外围电路输出低电平。传感器也没有信号输出,LED灯变暗,报警电路检测处理后就没有产生报警信号。时钟模块设定好时间,LCD1602液晶显示器显示时间和日期,达到预期报警效果。

相关问答

单片机 温度 测控系统 主要元件?

[最佳回答]单片机温度测控系统的主要元件包括:单片机:作为主控系统,负责数据采集、处理和控制输出。温度传感器:用于采集温度数据,并将其转换为电信号。常见的温度传感...

单片机 主要应用于哪些领域? - 潘耶耶- 的回答 - 懂得

(2)智能仪表用单片机糅合到测量、控制仪表中,使仪表向数字化、智能化、多功能化、综合化、柔性化方向发展,使长期以来难以解决的误差修正、线性化等...

要做一个无线水位 测控系统 除了传感器模块,A/D转换模块,无线...

[最佳回答]无线模块的话看你的距离和数据量。单片机的话51的任何一个型号都可以实现你的要求,如果你要用到AD的话,那建议你用STC的芯片,它大多都带10bit的AD,...

单片机 最多应用在什么地方?有什么功能?

[最佳回答]7、多机分布式系统。可用单片机构成分布式测控系统,它使单片机进入了一个新的水平。基本功能:1、8位数据总线,16位地址总线的CPU;2、具有布尔处理能力和位处...

单片机 水位 监测系统 程序,要求如下 - 懂得

LJMPQ0032HORG0032HQ0032H:JBP1。0,QA;如果开关1接通转灯2亮则水位过高CLRP1。3SJMPQBQA:SETBP1。3;水位过高灯2亮CLRP1。4;水位

mcs-51 单片机 的特点及应用?

[最佳回答]因此,在工业测控系统中,使用单片机是最理想的选择。单片机属于典型的嵌入式系统,所以它是低端控制系统最佳器件。MCS-51的开发环境要求较低,软件资源十...

什么叫51 单片机 啊?

[最佳回答]因而在工业测控领域中,单片机系统是最理想的控制系统。所以,单片机是典型的嵌人式系统,是嵌入式系统低端应用的最佳选择

什么是 单片机系统 ?

[最佳回答]1单片机:单片机就是将CPU、存储器、定时计数器、I/O接口电路等集成在一个芯片。也叫单片微型计算机。2单片机系统:以单片机为核心的控制系统。3单片机应用系...

STC 单片机 温湿度 监测系统 所需元件清单?

[最佳回答]温控器74HC595D可控硅BT137光藕MOC3063放大器OP07继电器OJESS-124HMAD转换器ADS1110(选用件)

什么是单片机?它由哪几部分组成?什么是 单片机 应用 系统 ?二者...

单片机是一种路芯片,模集成电路技术把具有数处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱...

猜你喜欢