单片机按键电路的原理

单片机按键电路的原理

单片机按键电路是通过连接按键和单片机的电路,实现按键输入功能。按键电路主要由按键、上拉电阻(或下拉电阻)和单片机的IO口组成。下面详细介绍按键电路的原理。

按键通常是一个开关,也称为按钮或键盘。按键电路可以分为正常闭合型和正常断开型两种类型。正常闭合型按键在未按下时闭合,按下时打开;正常断开型按键则相反。我们首先以正常闭合型按键为例进行说明。

按键电路的核心部分是一个按键元件。按键元件通常由固定触点和可移动触点组成,当按下按键时,固定触点和可移动触点之间会发生电子触点闭合或断开的状态变化。按键元件的两端分别连接到电路的正极和负极。

为了确保按键电路的稳定性,通常会在按键两端添加一个上拉电阻。上拉电阻的一端连接到电源的正极,另一端连接到按键的一个端口,起到拉高按键端口电平的作用。当按键未按下时,上拉电阻会将按键端口拉高为高电平状态。这样在按键未按下时,按键端口的电平就稳定在高电平状态上。

单片机的IO口是可以设置为输入模式和输出模式的。当我们将IO口设置为输入模式时,可以检测到与该IO口连接的外部电路中的信号变化。为了检测到按键的状态变化,在按键端口和单片机IO口之间通常还会添加一个电容。这个电容的作用是消除按键在按下和释放的瞬间可能产生的干扰信号,保证按键信号的

稳定性。

当按键未按下时,单片机IO口可以通过读取按键端口的电平状态来判断按键的状态,如果IO口读取到的电平为高电平,则表示按键未按下;如果IO口读取到的电平为低电平,则表示按键被按下。当按键被按下时,就可以在程序中根据按键的状态进行相应的处理。

需要注意的是,单片机IO口只能接受一个电平信号的输入,为了检测到多个按键的状态变化,可以采用矩阵式按键电路。矩阵式按键电路通过将多个按键连接在一个按键矩阵上,然后将按键矩阵的行线和列线连接到单片机的IO口上,这样通过扫描行线和读取列线的电平状态,就可以检测到多个按键的状态变化。

以上就是单片机按键电路的原理。按键电路通过连接按键和单片机的电路,实现按键输入功能。通过上拉电阻、电容和IO口的设置,可以稳定地检测到按键的状态变化,为单片机程序提供按键输入的信号。

51单片机矩阵按键电路图+程序(数码管显示)

51单片机矩阵按键电路图+程序(数码管显示) 下面是数码管部分电路原理图: 下面是矩阵键盘部分的电路原理图: c51单片机程序如下:

#include #define uchar unsigned char #define uint unsigned int //数码管的段码编码 uchar table[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e, 0x79,0x71}; uchar seg[4]={0xfe,0xfd,0xfb,0xf7}; uchar shu; void Delay_1ms(uint i)//1ms延时 { uchar x,j; for(j=0;j>4)|0xf0; for(i=0;i<4;i++) { if(x==seg[i]) { x=i; shu=4*y+x+1; }

} } } } } void segdisplay(uchar i) { P0 = 0; //消隐 P2 = 6; //第7位数码管显示 P0 = table[(i / 10)%10]; //在这里取i 的十位数 Delay_1ms(5); //延时0.5秒后显示下一个数P0 = 0; //消隐 P2 = 7; //第8位数码管显示 P0 = table[i % 10]; //在这里取i 的个位数Delay_1ms(5); P0=0; } void main() { shu = 0; while(1) { keyboard(); segdisplay(shu); } }

键盘电路

键盘电路 在单片机应用系统中,除了复位按键外,可能还需要其他按键,如键盘按键,以便控制系统的运行状态或向系统输入运行参数。键盘电路一般由键盘接口电路、按键(由控制系统运行状态的功能键和向系统输入数据的数字键组合)以及键盘扫描程序等部分组成。 1、按键结构及其电压波形 在单片机控制系统中广泛使用的机械键盘的工作原理是:按下键帽时,按键内的复位弹簧被压缩,动片触点与静片触点相连,按键两个引脚连通,接触电阻大小与按键触点面积及材料有关,一般在数十欧姆以下;松手后,复位弹簧将动片弹开,使动片触点与静片触点脱离接触,两引脚返回断开状态。可见,机械键盘或按扭的基本工作原理就是利用动片触点和静片触点的接触和断开来实现键盘或按钮两引脚的通、断。 在如图所示的键盘电路中,按键没有被按下时,P1口内部上拉电阻将P1.3-P1.0引脚置为高电平,而当S3-S0之一被按下时,相应按键两引脚连通,P1口对应引脚接地。 在理想状态下,按键引脚电压变化如图6-29(a)所示。但实际上,在按键被按下或释放的瞬间,由于机械触点弹跳现象,实际按键电压波形如图6-29(b)所示,即机械按键在按下和释放瞬间存在抖动现象。抖动时间的长短与按键的机械特性有关,一般在5~10ms之间,而按键稳定闭合期的长短与按键时间有关,

从数百毫秒到数秒不等。为了保证按键由按下到松开之间仅视为一次或数次输入(对于具有重复输入功能的按键),必须在按键或软件上采取去抖动措施,避免一次按键输入一串数码。 硬件上,可利用单稳态电路或RS触发器消除按键抖动现象,但在单片机应用系统中最常采用的方法是利用软件延迟方式消除按键抖动问题,这样可以不增加硬件成本。因此,在单片机系统中按键识别过程是:通过随机扫描、定时中断扫描或中断监控方式发现按键被按下后,延时10~20ms(因为机械按键由按下到稳定闭合的时间为5~10ms)再去判断按键是否处于按下状态,并确定是哪个按键被按下。 对于每按一次仅视为一次输入的按键设定来说,在按键稳定闭合后对按键进行扫描,读出按键的编码(或称为键号),执行相应操作;对于具有重复输入功能的按键设定来说,在按键稳定闭合期内,每个特定时间,如250ms或500ms 对按键进行检测,当发现按键仍处于按下状态时,就输入该键,直到按键被释放。 2.键盘电路形式 根据所需按键个数、I/O引脚输出级电路结构以及可利用的I/O引脚数目,确定键盘电路形式。 对于仅需要少量按键的控制系统,可采用直接编码输入方式,其特点是键盘接口电路简单。例如,在空调控制系统中,往往仅需要“开/关”、“工作模式转换”等按键。 (1)直接编码输入键盘 通过检测单片机I/O引脚电平状态来判别有无按键输入就构成了直接编码

单片机的电路原理

单片机的电路原理 单片机技术自发展以来已走过了近20年的发展路程。单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。小到遥控电子玩具,大到航空航天技术等电子行业都有单片机应用的影子。针对单片机技术在电子行业自动化方面的重要应用,为满足广大学生、爱好者、产品开发者迅速学会掌握单片机这门技术,于是产生单片机实验板普遍称为单片机开发板、也有单片机学习板的称呼。比较有名的例如电子人DZR-01A单片机开发板。 单片机开发板是用于学习51、STC、AVR型号的单片机实验设备。根据单片机使用的型号又有51单片机开发板、STC单片机开发板、AVR单片机开发板。常见配套有硬件、实验程序源码、电路原理图、电路PCB图等学习资料。例如电子人单片机开发板,针对部分学者需要特别配套有VB上位机软件开发,游戏开发等教程学习资料。开发此类单片机开发板的公司一般提供完善的售后服务与技术支持。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。 单片机(Microcontrollers)诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。 而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。高端的32位Soc单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 常见配套资源如下: 1、硬件实验板及其配件如:连接线、CPU芯片、流水灯、点阵显示、ds18b20温度检测、彩色TFT液晶屏,SD卡,游戏开发(推箱子游戏)、收音机、mp3解码等。 2、实验程序源码,包含汇编源程序、C语言源程序。 3、电路原理图、PCB电路图。 4、实验手册、使用手册。 5、针对单片机开发板的详细讲解视频。 6、附加PCB设计制作、VB软件开发等计算机学习资料 1、8个LED灯,可以练习基本单片机IO操作,在其他程序中可以做指示灯使用。

单片机按键电路工作原理

单片机按键电路工作原理 1 单片机按键电路简介 单片机按键电路,是指在单片机系统中,通过按键来输入信号, 并且控制相应的操作。按键电路一般由按键开关、电阻、电容、滤波 电路等组成,实现信号输入、去抖动等功能。本文将介绍单片机按键 电路的工作原理。 2 单片机按键电路原理 当按键按下时,按键被连接的引脚会将电平拉低。当单片机检测 到这个引脚的电平由高变低,即被称为下降沿触发,此时单片机开始 执行相应的操作。 按键引脚的电平由于存在去抖动电路和滤波电路的干扰,会在刚 刚触发时产生一些波动,这种波动会导致按键信号被误检测。因此, 按键电路中必须加入去抖动和滤波功能,来保证信号的稳定和正确。 3 去抖动电路 去抖动电路是为了解决按键被弹起时,由于按键内部接触的不良,会引起按键触点反复接触的问题。常用去抖动电路有RC电路和较新的 狗屎水晶(CS)电路。 RC电路的原理是将一个大电容和一个小电阻放在按键两端,当按 键被按下时,大电容被充电,当按键弹起时,电容放电时间远远大于

按键反弹的时间,达到去抖的效果。RC电路的缺点是,当按键触点老 化时,会导致电容充电电路变差,去抖效果受到影响。 狗屎水晶(CS)电路的原理是使用一个晶体管控制一个电阻和一个 电容的充放电过程,根据晶体管的最小电压放大系数来控制电容充电 时间,从而达到去抖的效果,CS电路有一个很大的优点,就是它是数 字化的,因此精度高,不受长期使用而导致松脱等因素的影响。 4 滤波电路 滤波电路一般是为了消除信号中的杂波和抖动,使信号更加稳定。常用的滤波电路有LC滤波电路和RC滤波电路。 LC滤波电路是通过一个电感和一个电容组成的,它的原理是在输 入信号中移除高频杂波和电磁干扰,并从输入信号中提取出的低频信号,以保证输入信号质量。 RC滤波电路是由一个电阻和一个电容组成的,它的原理是在输入 信号中移除杂波和抖动,以保证输入信号没有误检测。 5 实际应用 在实际应用中,单片机按键电路的原理和应用可以推广到各种电 路控制中。应根据不同的需要来设计合理可行的按键电路并进行优化。所以强调在单片机系统中,按键电路的设计必须留有余地,即预留好 输入电路电平浮动的余量,以避免造成信号输入不稳定和误检测的现象,特别是在输入信号传输长距离的情况下。

51单片机按键电路

51单片机键盘接口电路(含源程序) 键盘是由若干按钮组成的开关矩阵,它是单片机系统中最常用的输入设备,用户能通过键盘向计算机输入指令、地址和数据。一般单片机系统中采和非编码键盘,非编码键盘是由软件来识别键盘上的闭合键,它具有结构简单,使用灵活等特点,因此被广泛应用于单片机系统。 按钮开关的抖动问题 组成键盘的按钮有触点式和非触点式两种,单片机中应用的一般是由机械触点组成的。在下图中,当开 <键盘结构图> 图 1 图2 关S未被按下时,P1。0输入为高电平,S闭合后,P1。0输入为低电平。由于按钮是机械触点,当机械触点断开、闭合时,会有抖动动,P1。0输入端的波形如图2所示。这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全能感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个“漫长”的时间了。前面我们讲到中断时曾有个问题,就是说按钮有时灵,有时不灵,其实就是这个原因,你只按了一次按钮,可是计算机却已执行了多次中断的过程,如果执行的次数正好是奇数次,那么结果正如你所料,如果执行的次数是偶数次,那就不对了。 为使CPU能正确地读出P1口的状态,对每一次按钮只作一次响应,就必须考虑如何去除抖动,常用的去抖动的办法有两种:硬件办法和软件办法。单片机中常用软件法,因此,对于硬件办法我们不介绍。软件法其实很简单,就是在单片机获得P1。0口为低的信息后,不是立即认定S1已被按下,而是延时10毫秒或更长一些时间后再次检测P1。0口,如果仍为低,说明S1的确按下了,这实际上是避开了按钮按下时的抖动时间。而在检测到按钮释放后(P1。0为高)再延时5-10个毫秒,消除后沿的抖动,然后再对键值处理。不过一般情况下,我们常常不对按钮释放的后沿进行处理,实践证明,也能满足一定的要求。当然,实际应用中,对按钮的要求也是千差万别,要根据不一样的需要来编制处理程序,但以上是消除键抖动的原则。 键盘与单片机的连接

【精品】第13讲51单片机按键电路

标题:键盘接口电路 教学目标与要求: 1。键盘去抖动和连接、控制方式 2。独立式按键及其接口电路 3。矩阵式键盘及其接口电路 授课时数:2 教学重点:。矩阵式键盘及其接口电路 教学内容及过程: 一、键盘接口概述 1、按键开关去抖动问题

机 械 式 按 键 再 按 下 或 释 放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图9-11所示,抖动时间的长短与开关的机械特性有关,一般为5 10ms 在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施。这一点可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。在硬件上可采用在键输出端加R-S触发器(双稳态触发器)或单稳态触发器构成去抖动电路。图9—12是一种由R—S触发器构成的去抖动电路,当触发器一旦翻转,触点抖动不会对其产生任何影响。 软件上采取的措施是:在检测到有按键按下时,执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态。同理,在检测到该键释放后,也应采用相同的步骤进行确认, 从而可消除抖动的影响。

2.编制键盘程序 一个完善的键盘控制程序应具备以下功能: (1)检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。 (2)有可靠的逻辑处理办法。每次只处理一个按键,其间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序。 (3)准确输出按键值(或键号),以满足跳转指令要求。 二、独立式按键 单片机控制系统中,往往只需要几个功能键,此时,可采用独立式按键结构。 1。独立式按键结构 独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O 口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图7。4所示. 独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。 2。矩阵式键盘 I/O端线分为行线和列线,按键跨接在行线和列线上,按键按下时,行线与列线发生短路。特点: ①占用I/O端线较少; ②软件结构教复杂。 适用于按键较多的场合。 3.键盘扫描控制方式 ⑴程序控制扫描方式 键处理程序固定在主程序的某个程序段。 特点:对CPU工作影响小,但应考虑键盘处理程序的运行间隔周期不能太长,否则会影响对键输入响应的及时性。 ⑵定时控制扫描方式 利用定时/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描。 特点:与程序控制扫描方式的区别是,在扫描间隔时间内,前者用CPU工作程序填充,后者用定时/计数器定时控制.定时控制扫描方式也应考虑定时时间不能太长,否则会影响对键输入响应的及时性。 ⑶中断控制方式 中断控制方式是利用外部中断源,响应键输入信号. 特点:克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高CPU运行效率,但要占用一个宝贵的中断资源. 三、独立式按键及其接口电路 1、按键直接与I/O口连接

单片机按键电路的原理

单片机按键电路的原理 单片机按键电路是通过连接按键和单片机的电路,实现按键输入功能。按键电路主要由按键、上拉电阻(或下拉电阻)和单片机的IO口组成。下面详细介绍按键电路的原理。 按键通常是一个开关,也称为按钮或键盘。按键电路可以分为正常闭合型和正常断开型两种类型。正常闭合型按键在未按下时闭合,按下时打开;正常断开型按键则相反。我们首先以正常闭合型按键为例进行说明。 按键电路的核心部分是一个按键元件。按键元件通常由固定触点和可移动触点组成,当按下按键时,固定触点和可移动触点之间会发生电子触点闭合或断开的状态变化。按键元件的两端分别连接到电路的正极和负极。 为了确保按键电路的稳定性,通常会在按键两端添加一个上拉电阻。上拉电阻的一端连接到电源的正极,另一端连接到按键的一个端口,起到拉高按键端口电平的作用。当按键未按下时,上拉电阻会将按键端口拉高为高电平状态。这样在按键未按下时,按键端口的电平就稳定在高电平状态上。 单片机的IO口是可以设置为输入模式和输出模式的。当我们将IO口设置为输入模式时,可以检测到与该IO口连接的外部电路中的信号变化。为了检测到按键的状态变化,在按键端口和单片机IO口之间通常还会添加一个电容。这个电容的作用是消除按键在按下和释放的瞬间可能产生的干扰信号,保证按键信号的

稳定性。 当按键未按下时,单片机IO口可以通过读取按键端口的电平状态来判断按键的状态,如果IO口读取到的电平为高电平,则表示按键未按下;如果IO口读取到的电平为低电平,则表示按键被按下。当按键被按下时,就可以在程序中根据按键的状态进行相应的处理。 需要注意的是,单片机IO口只能接受一个电平信号的输入,为了检测到多个按键的状态变化,可以采用矩阵式按键电路。矩阵式按键电路通过将多个按键连接在一个按键矩阵上,然后将按键矩阵的行线和列线连接到单片机的IO口上,这样通过扫描行线和读取列线的电平状态,就可以检测到多个按键的状态变化。 以上就是单片机按键电路的原理。按键电路通过连接按键和单片机的电路,实现按键输入功能。通过上拉电阻、电容和IO口的设置,可以稳定地检测到按键的状态变化,为单片机程序提供按键输入的信号。

单片机:按键

独立式按键和矩阵式按键的工作原理 1.独立式按键:一键一线,各键相互独立 连接图如下 1.单片机P1,P2口分别接数码管控制其要显示数字。 2.按键KEYI,KET2分别接单片机P 3.0,P3.1口,实现按键对数码管的控制 3.按键连接是要并联一个电容,防止按键抖动。 相应的控制程序如下 ORG 0000H SJMP MAIN

MAIN: MOV SP,#60H 由于后面的延时程序用到了寄存器R7,所以要将SP的值赋为60H,防止R7的地址被占用。 LCALL DISP 调用子程序DISP,使数码管显是00 按键1的作用是计数1-----100,按下一次数码管显示数字加1 LOOP: JB P3.0,NK1 判断按键1是否被按下 LCALL DL 延时程序看是否为误按 JB P3.0,NK1 判断按键1是否仍处于被按下状态,确定按键确实被按下,未被按下跳转到NK1 JNB P3.0,$ 判断按键是否被松开,完成了一次按键 INC 40H 40H单元地址加1 MOV A,#100 100付给A,设置显示数字1---100 CJNE A,40H,NN 判断40H单元内容与A相等为100,不想等则转移到NN MOV 40H,#0 当40H内容为100是,从新开始计数,将40H 内容赋为0 NN: LCALL DISP 调用子程序DISP 按键2的作用是清零.无论之前的数字是几。 NK1: JB P3.1,NK2 判断按键2是否被按下 LCALL DL 延时程序看是否为误按 JB P3.1,NK2 判断按键2是否仍处于被按下状态,确定按键确

实被按下,未被按下则跳转到NK2 JNB P3.1,$ 判断按键是否被松开,完成了一次按键 MOV 40H,#0 40H内容为0 LCALL DISP 调用子程序DISP实现清零 NK2: SJMP LOOP 跳转到LOOP 按键1被按下要显示的数字计算程序 DISP: MOV DPTR,#TAB 将数表首地址送到DPTR MOV A,40H 40H内容送到A MOV B,#10 #10送到B DIV AB A的内容除B的内容,余数存到B里,商存到A 里。 MOVC A,@A+DPTR 将DPTR加上偏移量后的地址单元内容赋给A MOV P1,A 得到显示的内容(A的内容)给P1口,数码管1显示 MOV A,B 将B的内容(余数),送到A里 MOVC A,@A+DPTR 将DPTR加上偏移量后的地址单元内容赋给A MOV P2,A 得到显示的内容(B的内容)给P2口,数码管2显示 RET 判断是否误按的延时程序

单片机按键驱动led的工作原理

单片机按键驱动led的工作原理 单片机按键驱动LED的工作原理可以概括为以下几个步骤: 1. 单片机GPIO口接按键 单片机芯片上的GPIO可编程IO口接按键的两端,其中一端接高电平VCC,另一端通过上拉电阻接地GND。保持GPIO口为高电平输入状态。 2. 按键接地形成低电平 当按键被按下时,GPIO口通过按键与地相连,GPIO口的输入电平变为低电平。 3. 单片机检测电平变化 单片机内部会持续检测GPIO口的电平状态,通过配置外部中断或轮询的方式,可以检测到GPIO由高变低的转变。 4. 触发中断服务程序 GPIO电平变化会触发单片机的中断服务程序启动,进入相应的按键检测处理函数。

5. 程序点亮LED 中断服务程序获取按键电平变化信息后,通过控制与LED相连的GPIO口电平,可以将LED点亮。 6. 继续监测按键释放 程序继续监测按键GPIO口,当按键释放后,GPIO电平再次变高,触发中断程序。 7. 程序熄灭LED 中断程序检测到按键释放的上升沿中断,可以通过控制将LED连接的GPIO口置低电平,使LED熄灭。 8. 按键消抖处理 考虑到按键会产生抖动,需在软件中增加消抖处理,只有当按键保持一定时间后才确定其状态。 9. 反复循环检测 通过循环重复上述过程,实现按键和LED的互动控制,每按一次键,LED状态反转

一次。 在上述基本工作原理基础上,可以通过单片机程序实现更复杂的控制逻辑,如调光、序列控制等。按键驱动LED是单片机很经典的入门案例,可以练习IO读写、中断服务程序、消抖等技巧。 总之,单片机检测按键电平变化,在中断服务程序中控制LED亮灭,通过编写相应 的程序流程,实现按键控制LED的基本功能,并可以构建出更为复杂强大的应用系统。

单片机按键电路

标题:键盘接口电路 教学目标与要求: 1. 键盘去抖动和连接、控制方式 2•独立式按键及其接口电路 3.矩阵式键盘及其接口电路 授课时数:2 教学重点:.矩阵式键盘及其接口电路 教学内容及过程: 一、键盘接口概述 1、按键开关去抖动问题 机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机 械抖动,然后其触点才稳定下来。其抖动过程如图 9-11所示,抖动时间的长短与开关的机 械特性有关,一般为 5 .10 ms (色)键输入 (b )键抖动 图411键操作和键抖动 键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作, 种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判, 必须采取去抖动措施。 这一点可从硬件、软件两方面予以考虑。 在键数较少时,可采用硬件去抖,而当键数较多时, 采用软件去抖。在硬件上可采用在键输出端加 R-S 触发器(双稳态触发器)或单稳态触发器构 成去抖动电路。图 9-12是一种由R-S 触发器构成的去抖动电路,当触发器一旦翻转,触点 抖动不会 对其产生任何影响。 ~~] a_- Q |—° 74121 JL ⑹单稳态消抖电曙 图9-12礙件Y 樹电路 软件上采取的措施是:在检测到有按键按下时,执行一个 10 ms 左右(具体时间应视所 使用的按键进行调整) 的延时程序后,再确认该键电平是否仍保持闭合状态电平, 若仍保持 闭合状态电平,则确认该键处于闭合状态。同理, 在检测到该键释放后,也应采用相同的步 骤进行确认,从而可消除抖动的影响。 2. 编制键盘程序 一个完善的键盘控制程序应具备以下功能: 触 占 八、、 抖 动 期 间 检 测 按 +5V 但)双稳态悄抖电 路 ◎滤波?肖抖电路

单片机复位电路的作用和工作原理图解

单片机复位电路的作用是:使单片机的状态处于初始化状态,让单片机的程序从头开始执行,运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。目的是让单片机能够稳定、正确的从头开始执行程序。 单片机有两种复位方式:一是高电平复位,二是低电平复位。基本上所有单片机都有一个复位端口(随着单片机技术的发展,现在有些单片机内部集成了复位电路,这样它的复位端口有可能和I/O端口等复用)。简单讲就是给单片机的复位端口施加一定时间的高电平(或者低电平),单片机就能完成初始化过程,从头开始执行程序。这个时间就称为复位时间,一般单片机的复位时间都很短,不过每种单片机的复位时间都不等,这个就需要查阅相应单片机的数据手册来获得该种单片机的复位时间。需要注意的是,单片机复位后,一定要给单片机的复位端口施加单片机正常工作时的电平,例如对于低电平的复位电路,复位后,复位端口应当处于高电平状态。 小诀窍:对于单片机是高电平还是低电平复位,我们可以通过观察单片机的引脚图进行一个直观的判断,当单片机引脚图中复位端口的名称上面有一个“-”时,该单片机就是低电平复位,没有“-”时,该单片机就是高电平复位,例如单片机端口名称是RST,那它是高电平复位,是/RST(/是上划线)时,它是低电平复位 刚才我们已经说过,现在已经有很多单片机内部集成了复位电路。那么我们在进行这种单片机电路设计的时候,就不用再单独设计复位电路了。 下面来介绍几种常用复位电路。 1、上电复位电路 单片机的复位有高电平复位和低电平复位的区别,那就自然有高电平复位电路和低电平复位电路两种。 图1 上电复位电路 图1左边的电路是高电平复位电路。 这个电路是利用电容的充电来实现复位的,当电源接通的瞬间,单片机复位端的电位与VCC相同,随着充电电流的减少,复位端的电位逐渐下降。直至电容充满电,复位端的电压变为低电平。 电路中R和C的值可以根据下面的式子计算,其中T是复位时间。 T=(1/9)*R1*C1 图1右边的电路是低电平复位电路 该电路的复位原理跟高电平复位电路的原理相反,这里就不多说了。 同样的,低电平复位电路中R和C的值可以根据下面的式子计算得出,其中T是复位时间。

51单片机复位电路工作原理

51 单片机复位电路工作原理 、复位电路的用途单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。 二、复位电路的工作原理 在书本上有介绍, 51 单片机要复位只需要在第 9 引脚接个高电平持续 2US 就可以实现,那这个过程是如何实现的呢? 在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。 开机的时候为什么为复位 在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S 。 也就是说在电脑启动的 0.1S 内,电容两端的电压时在 0~3.5V 增加。这个时候 10K 电阻两端的电压为从 5~1.5V 减少(串联电路各处电压之和为总电压)。所以在 0.1S 内, RST 引脚所接收到的电压是 5V~1.5V 。在 5V 正常工作的 51 单片机中小于 1.5V 的电压信号为低电平信号,而大于 1.5V 的电压信号为高电平信号。所以在开机 0.1S 内,单片机系统自动复位( RST 引脚接收到的高电平信号时间为 0.1S 左右)。 按键按下的时候为什么会复位 在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于 0V, RST 处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在 0.1S 内,从5V释放到变为了 1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。 总结: 1、复位电路的原理是单片机 RST 引脚接收到 2US 以上的电平信号,只要保证电容的充放电时间大于 2US ,即可实现复位,所以电路中的电容值是可以改变的。

基于STC15W402AS单片机感应键实现原理与方法

基于STC15W402AS单片机感应键实现原 理与方法 摘要:过去很多设备的按键功能都是采用的非自锁按钮或导电橡胶等器件,这些按键很容易出现接触不良的问题,同时机械寿命也比较短。这就促使了非接触感应按键的产生。文中,主要就对基于STC15W402AS单片机感应键实现原理以及方法进行了介绍。 关键词:STC15W402AS单片机;按键功能;实现原理 前些年,许多设备的按键功能,大多使用非自锁按钮或导电橡胶等器件,短接电路板上的两个信号,主控系统检测信号变化后做出一定反应实现的。由于这些按键是接触式工作方式,存在按触不良、机械寿命短等缺点。所以,近些年一些非接触感应按键应运而生。本文主要讲解利用STC15W402AS单片机实现感应键的原理,介绍实现方法。 一、感应键实现原理。 容量值为C的电容并联一阻值为R的电阻,电容先充电至电压U,断开充电电路,而后通过并联的电阻R进行放电,当放电至电压Ut时所用时间设为t。因电容最终可放电的电压值为0,所以任意时刻电容上的电压Ut可表示为 Ut=U·EXP(-t/RC),从而推出如下公式: t=RC·ln(U/Ut)··········式① 注: EXP()表示以e为底的指数函数;ln()表示以e为底的对数函数 以STC15W402AS单片机为主的电路板成型后,P3.2管脚作为感应键输入时,该管脚开漏对地等效电容(设为C,含电路分布电容)和开漏对地等效电阻(设为R)是固定不变的,单片机电源工作电压为5伏(U=5V)。系统首先把P3.2管脚设为推挽工作方式,并置为高电平,此时等于对C充电至5V,然后系统把

P3.2切换为开漏工作模式,相当于把P3.2的上拉电阻断开,C通过R放电,其 最终可放电的电压值为0,电容放电至任一时刻所用时间t与其上的电压Ut适用 于式①,分别代入得t=RC·ln(5/Ut),Ut取0.7V代入前式得t=1.96RC。0.7V 是单片机系统高、低电平的分界电压,高于0.7V系统判定为高电平,低于0.7V 系统判定为低电平,这个数值是通过程序测试得出。P3.2在本系统中作为外输入 中断0(EXT0)使用,当P3.2在开漏状态由5V放电至0.7V时,系统自动识别, 进入EXT0中断处理程序。 从t=1.96RC可以看到:1、电路板制成后,等效电阻R(一般等于外部对地 并接电阻)是定值,手指没有放在感应键上时,等效电容C也是定值。那么,每 次给充满电的电容放电到0.7V时,得到的t值是不变的。2、当手指放在感应键 上时,等效电容的值变大,R不变,充满电的电容放电到0.7V时,所用的时间t 值将变大。3、系统检测t值增大量达到一定的数值,我们就认为感应键被按下,这就是感应键实现的原理。 二、感应键实现思路与方法。 (一)系统参数初始化 为尽量减少外部元器件,系统程序固化时主时钟选择使用芯片内部IRC时钟,大小为12MHz。加电后系统首先进行一些参数的初始化,例如:系统时钟使用不 分频的主时钟(即一个机器周期为0.083us); T0设为非自动重新装载的16位 定时器,系统时钟12分频(脉宽为1us)作为计数信号,专门用于测量电容C放 电时长;测量感应键没有被按下时从5V放电至0.7V时的平均时长t0,并存储到 专用寄存器中;T2设为可自动重新装载的16位定时器,系统时钟12分频作为计 数信号,作为波特率发生器;系统应用于锂电池单独供电LED灯的开关控制,初 次加电,LED灯开关处于关闭状态,若系统重启,LED灯开关状态不变。 (二)放电时长t的实时测量 程序初始化完成之后,使能掉电唤醒定时器,系统每秒19次进入50ms的掉 电模式,目的是尽量降低系统工作电流,以适应锂电池单独供电的LED灯开关环

单片机按键去抖原理

单片机按键去抖原理 在单片机系统中,按键的应用非常广泛,无论是控制还是交互,经常需要使用按键来进行操作。然而,由于按键的特性,往往会带来按键抖动的现象,这就需要对按键进行去抖处理。本文将详细介绍单片机按键去抖的原理和方法。 1.按键抖动的原因及影响因素 按键抖动是指按下或释放按键时,按键触点会产生不稳定的接触,导致按键信号在短时间内多次切换,造成系统误判。按键抖动的原因主要有以下几点: (1)按键机械结构问题:按键存在接触不良、触点弹簧不稳定等机械问题,会导致接触突变。 (2)外部干扰:如按键线路附近的磁场、电源干扰等,会引发按键误触。 (3)按键的弹性和灵敏度:按键材料和设计的不同,会导致按键的弹性和灵敏度不一致,进而引发抖动。 按键抖动会带来以下几个问题: (1)误判:按键抖动会使系统误判按键的按下或释放,导致错误的逻辑操作。 (2)数据错误:抖动会造成按键信号的短时间内多次切换,可能导致数据传输错误、丢失等问题。 (3)系统性能下降:由于抖动会产生大量的开关信号,会占用系统资源,影响系统的运行速度和响应时间。

2.去抖的原理 去抖的原理是通过软件或硬件的方式对按键信号进行滤波,消除了按 键抖动信号,从而得到稳定的按键信号。 软件去抖的原理是通过软件算法对按键信号进行处理,主要有两种方法:软件延时去抖和状态机去抖。 (1)软件延时去抖: 软件延时去抖的原理是在按键按下后,通过添加延时来屏蔽抖动信号。当检测到按键按下后,先延时一段时间,并再次检测按键的状态,如果按 键仍然处于按下状态,则确认按键按下有效。 软件延时去抖的优点是简单易行,只需通过软件延时来实现,无需额 外的硬件支持。缺点是实现的延时时间需要适当,过短容易漏掉有效按键,过长则会增加系统响应时间。 (2)状态机去抖: 状态机去抖的原理是通过状态变化来屏蔽抖动信号。状态机的设计是 基于按键的状态转换,当按键按下时,状态变为按下状态;当按键释放时,状态变为释放状态。只有在状态转换时,才认定按键按下或释放为有效信号。 状态机去抖的优点是对按键状态的判断更加准确,可以避免一些较短 的抖动信号。缺点是实现的复杂度较高,需要额外的代码和状态变量来实现。 硬件去抖的原理是通过添加硬件电路来滤除抖动信号。主要有两种方法:RC低通滤波和Schmitt触发器。

相关文档
最新文档