当前位置:文档之家› 按键扫描电路硬件详解

按键扫描电路硬件详解

按键扫描电路硬件详解
按键扫描电路硬件详解

按键扫描电路硬件详解

编写人: 日期:

审核人: 日期:

批准人: 日期:

修订状态:

版本版次修订内容摘要修改人批准人生效日期

目 录

一、历史更改记录 (1)

二、概述 (2)

三、典型电路 (2)

1、(I/O口采集与矩阵扫描)电路 (2)

1.1原理图 (2)

1.2电路参数选型及分析 (2)

1.3电路原理分析 (2)

1.4该类电路的应用场合说明 (3)

1.5注意事项 (3)

2、(AD口采集)电路 (3)

2.1原理图 (3)

2.2电路参数选型及分析 (3)

2.3电路原理分析 (3)

2.4该类电路的应用场合说明 (3)

2.5注意事项 (3)

3、(与LED复用)电路 (4)

3.1原理图 (4)

3.2电路参数选型及分析 (4)

3.3电路原理分析 (4)

3.4该类电路的应用场合说明 (4)

3.5注意事项 (5)

四、总结 (5)

按键扫描电路硬件详解

一、历史更改记录

版本 更改内容 更改日期 更改原因 更改人 备注

二、概述

按键扫描电路是控制器的人机界面之一。

根据控制器操作与显示功能的不同要求以及单片机系统资源使用状况,可以采用不同的按键电路,以满足不同的功能与界面需要。同时,不同的按键电路在程序处理上的方式不尽相同,但按键防抖动等抗干扰措施是必不可少的。

在家电控制器中我们一般会遇到以下几种按键电路:I/O口采集电路、I/O口矩阵扫描电路、A/D口采集电路以及与LED复用的按键电路。在实际选用时,可以根据不同的情况选用不同的方案。

三、典型电路

1、(I/O口采集与矩阵扫描)电路

1.1原理图

1.2电路参数选型及分析

fig1 为I/O口采集按键电路。如果所用MCU对应I/O口有内部上拉电阻,R101—R103可以省略;在本电路中取值10K;R104—R106和C101—C103分别取值1K和10N。

fig2为I/O口4*4矩阵扫描按键电路,R1—R4用于防止多按键按下的情况,逐列输出低电平时,避免出现短路。

Fig3 为编码开关应用电路,如果单片机内部有上拉电阻,R1,R2则可省略。

1.3电路原理分析

fig1所示电路中,当没有按键按下时,各口采集均为高电平;当采集到低电平时即判断相应按键按下。R104—R106和C101—C103为抗干扰作用;D101和D102加在ON/OFF键两端,避免当整机产品进行静电测试过程中原处于待机OFF态的控制器转变为ON态而使整机工作的严重不合格。

Fig2所示电路中,程序采用逐行(或列)扫描查询法,依次将输出线置为低并检测输入线;若检测到低电平,则判断某键被按下。

Fig3所示电路中,需根据rotating1和rotating2两引脚波形判断逆时针或者顺时针旋转,如图所示,当rotating2较rotating1提前变成低电平,则表示顺时针旋转。反之,则为逆时针旋转。每

一个信号周期代表旋转1格。

1.4该类电路的应用场合说明

Fig1电路是常用电路;在考虑节省MCU I/O口资源的情况下可采用Fig2电路,如遥控器电路。

Fig3电路多用于时间或者温度调节。

1.5注意事项

在Fig2中,对于多个按键同时按下,按无效处理;必要时也应考虑静电测试的防护。

2、(AD口采集)电路

2.1原理图

2.2电路参数选型及分析

Fig1为单键或者双键检测电路,即可以用于单键或者两个键的组合检测。电路参数主要是R101—R106,单键按下和双键按下时所产生的电压值和A/D值可对照fig1 数据表格。R110和C101为抗干扰所加。

2.3电路原理分析

fig1所示电路中,MCU检测AD口的电压值。当没有按键按下时,电压值为5V;当某键按下时,则检测到对应的点的电压值,从而判断该键被按下。

2.4该类电路的应用场合说明

AD口采集按键电路主要考虑在MCU I/O口资源紧张,但AD口富余的情况下应用。

2.5注意事项

2.5.1 AD口采集按键电路的分压电阻参数与AD分辨率相关,在计算选取时应考虑各档电压值的合理性。

2.5.2 为了提高采集准确度,均选用+/-1%精度电阻。

2.5.3 根据fig1 数据表格,在fig1所示电路中,应避免SW103+SW105以及SW104+SW106的按键组合。因为它们组合后的检测电压值恰与SW102和SW103单键的电压值相同,将造成检测的误判。因此,在有双键检测的情况下,应根据表格选取合适的组合按键,避免出现重复的情况。

3、(与LED复用)电路

3.1原理图

3.2电路参数选型及分析

Fig1 图中,若MCU按键输入口IN KEY0和IN KEY1有内置上拉电阻,R103、R104 100K电阻可省略;此时,为了可靠检测,R105和R112阻值应按照上拉电阻值的1/10选取。

Fig2 使用单片机直接检测按键或者驱动LED,在检测按键时需先将COM1—COM3置高电平。

3.3电路原理分析

Fig1 电路采用串并变换移位寄存器74HC164进行扩展,实现按键与LED复用,节省了MCU资源。 74HC164在一个时钟周期仅有一路输出为低电平;此时检测按键输入口,若检测为低则有键按下;根据对应74HC164时钟周期即可判断被按下的按键。D101—D111用于阻止74HC164输出高电平对按键输入检测的影响。

3.4该类电路的应用场合说明

该电路主要用于MCU资源紧张的场合,或者为了节约MCU口资源的情况。

3.5注意事项

在检测过程中,按键检测与LED操作做分时处理。

四、总结

按键电路根据控制器系统的要求选择不同的实现方案,同时应考虑软、硬件的最佳性能比。在以上各电路方案中均各有其侧重点,需要根据实际情况确定使用。

按照相关电器产品标准,由于整机静电测试的电压等级可能不同,对按键的抗干扰措施可根据实验状况确定。尤其在待机状态下,ON/OFF键的待机状态不能因静电影响而改变,在这个键上增加两个二极管保护的方法适用于所有按键电路方案。

基于FPGA的键盘扫描电路 EDA课程设计

信息科学与技术学院 EDA 课程设计报告 题目名称:基于FPGA 的键盘扫描电路 学生姓名:王彪 学 号:2010508115 专业年级:电信10级(2)班 指导教师:钟福如老师 时 间: 2010.1.13

目录 1 课程设计综述—————————————————————— 2 1.1 课程设计的题目———————————————————— 2 1.2 题目要求——————————————————————— 2 2 方案选择———————————————————————— 2 3 整体电路的设计及分析——--——————————————— 3 3.1 顶层电路图—————————————————————— 3 3.2 各模块功能原理分析—————————————————— 4 4 心得体会——————————————————————— 12

1.课程设计综述 1.1 课程设计的题目 基于FPGA的键盘扫描电路。 1.3 题目要求 (1)、键盘按钮数为4,系统时钟10MHz。 (2)、能识别出所按按钮。 (3)、按钮被按下后,视为此按钮输入一次,若按钮长时间不松,(时限1S)后每隔0.5S 视为再次输入,直至按钮松开。 (4)、要求能对按钮按下时指令的抖动能正确处理。对持续时间小于50ms的输入不作响应。 (5)、各键设置不同优先级,多键同时按下时,视为优先级较高的按键被按下。2.方案选择 根据题目要求,需要4个按钮的键盘,通过查阅资料我选择通用的2*2行列式键盘,判断键盘中有无按键按下是通过行线送入扫描信号,然后从列线读取状态得到的。其方法是依次给行线送低电平,检查列线的输入。如果列线信号全为高电平,则代表低电平信号所在的行中无按键按下;如果列线有输入为低电平,则低电平信号所在的行和出现低电平的列的交点处有按键按下。原理框图如下所示:

彩电场扫描电路故障维修

场扫描电路的任务是为场偏转线圈提供锯齿波电流使电子束作上下移动而形成垂直光栅,同时还要为字符电路、亮度电路提供场逆程脉冲,为水平枕形校正电路提供场锯齿波;为扫描制式识别电路提供基本计算单元(即场逆程脉冲)。高档次的大屏幕彩色电视机,为了获得线性良好的图像还设置南北枕形校正电路。为了便于了解,这里把与普通彩色电视机相同的电路称为基础场扫描电路;把在普通彩色电视机基础上增设的场扫描相关电路称为辅助场扫描电路。基础场扫描电路包括场振荡、锯齿波形成、场输出放大、场偏转、场反馈等电路;辅助场扫描电路包括场扫描制式切换、南北枕形校正等电路。 4.1 场扫描电路故障现象 常见的场扫描电路故障现象有: (1) 场振荡、锯齿波形成、场激励、场输出、场偏转、场制式切换等任何一个部位不工作导致水平一条亮线。 (2) 场激励不足、输出放大倍数不够、场负反馈加深导致垂直幅度不足。 (3) 场线性电路异常导致垂直线性不好。

(4) 场升压电路异常引起光栅顶部有数根密集的回扫线,有的机型还伴有无字符显示现象. (5) 场偏转线圈上并联的阻尼电阻阻值变大或开路导致光栅上满屏横条干扰。 (6) 场频调节、定时元件参数变化、扫描制式切换电路异常引起场不同步。 (7) 场集成电路击穿或场输出不工作导致无光栅、无图像、无字符。 (8) 南北枕形校正电路有问题导致光栅在垂直方向枕形失真。 4.2 扫描电路故障判断 4.2.1 场扫描电路的外因 场扫描电路的扫描幅度、频率、相位除受自身电路影响外,还受下列因素的影响: 一、复合同步分离电路

复合分离电路虽同时影响行、场两电路的同步,但因行同步分离电路采用AFC鉴相式,其同步范围相对大得多。所以,在复合同步分离电路输出的复合同步信号不理想时,也能使行同步,但却不能使场保持同步或者场同步不良。 二、+12V稳压电路 目前的大屏幕彩色电视机都将行、场振荡电路均集成在同一块集成电路内,有些机型的行、场扫描脉冲都是从对行振荡脉冲(500kHz)分频取得,但因行振荡电路的工作电源取自开关电源+B或+24V,而场振荡电路的工作电源却是+12V稳压电源。因此,在+12V稳压电路无输出或输出电压低时,集成电路内场脉冲振荡器或分频器不工作,从而使电视机呈一条水平亮线。 又因场振荡集成电路中往往还设有一级场激励电路,如果这个集成电路的工作电压(+ 12V)偏低时,虽然场分频电路有场扫描脉冲输出,但由于集成电路内的场激励级工作电压的不足,从而导致电视机出现场幅不够。 三、+24V-56V工作电压形成电路

矩阵键盘电路设计

课程设计 题目矩阵键盘电路设计教学院计算机学院 专业计算机应用技术班级 姓名 指导教师 2010 年01 月12 日

前言.................................................................... 第一章需求分析......................................................... 功能描述......................................................... 功能分析......................................................... 第二章系统的原理及分析................................................. 用到的知识点的介绍,知识点使用的总体思路 第三章详细设计......................................................... 硬件设计 系统结构图,元器件的选择等 软件设计 所设计的软件关键模块的程序流程 第四章测试............................................................ 运行结果分析等 第五章总结............................................................. 参考文献................................................................ 附录 关键程序代码........................................................

实验报告七-键盘扫描及显示实验

信息工程学院实验报告 课程名称:微机原理与接口技术 实验项目名称:键盘扫描及显示实验 实验时间: 班级: 姓名: 学号: 一、实 验 目 的 1. 掌握 8254 的工作方式及应用编程。 2. 掌握 8254 典型应用电路的接法。 二、实 验 设 备 了解键盘扫描及数码显示的基本原理,熟悉 8255 的编程。 三、实 验 原 理 将 8255 单元与键盘及数码管显示单元连接,编写实验程序,扫描键盘输入,并将扫描结果送数码管显示。键盘采用 4×4 键盘,每个数码管显示值可为 0~F 共 16 个数。实验具体内容如下:将键盘进行编号,记作 0~F ,当按下其中一个按键时,将该按键对应的编号在一个数码管上显示出来,当再按下一个按键时,便将这个按键的编号在下一个数码管上显示出来,数码管上可以显示最近 6 次按下的按键编号。 键盘及数码管显示单元电路图如图 7-1 和 7-2 所示。8255 键盘及显示实验参考接线图如图 7-3 所示。 图 7-1 键盘及数码管显示单元 4×4 键盘矩阵电路图 成 绩: 指导老师(签名):

图 7-2 键盘及数码管显示单元 6 组数码管电路图 图 7-3 8255 键盘扫描及数码管显示实验线路图 四、实验内容与步骤 1. 实验接线图如图 7-3 所示,按图连接实验线路图。

图 7-4 8255 键盘扫描及数码管显示实验实物连接图 2.运行 Tdpit 集成操作软件,根据实验内容,编写实验程序,编译、链接。 图 7-5 8255 键盘扫描及数码管显示实验程序编辑界面 3. 运行程序,按下按键,观察数码管的显示,验证程序功能。 五、实验结果及分析: 1. 运行程序,按下按键,观察数码管的显示。

键盘扫描电路

键盘扫描电路 设计:2014-4-1 1.电路名称:键盘扫描电路 2.电路概述:(包括遵循的依据或标准,实现的功能) 利用矩阵键盘方式,实现12位按键输入,供用户对电能表进行充值等操作,广泛应用于一体式预付费键盘表及分体式CIU等产品中。 3.工作参数及指标 参比温度23℃±2℃ 4.电路图 5.电路图的工作原理描述: 在上电模式下,程序SW1-SW4一直输出低电平,SW5-SW7检测高低电平,在没有按键被按下的情况下SW5-SW7都被上拉到高电平,当十二位按键中任意一位被按下时,SW1-SW4的低电平通过分压电阻使的SW5-SW7中某位由

高电平变为低电平,程序开始进入按键扫描,逐一使SW1-SW4输出低电平并结合SW-SW7的状态确认哪个按键被按下,程序扫描两次以防止误判。 在掉电模式下(适用于TDK654X系列芯片),由于TDK654X系列芯片进入低功耗后管脚无法控制,因此电路增加D1、D2两个双二级管,用于按键唤醒单片机,当低功耗模式下SW1-SW4无法输出低电平,此时键盘被按下时先通过D1、D2使PB脚电平由低到高变化唤醒单片机,单片机被唤醒后通过上电模式一样的程序扫描方式以确认具体是哪个按键被按下。 图一 图一中坐标1是PB口线的波形,坐标2是SW5口线的波形,在掉电情况下,当按一下S1按键,PB口产生一个3V的高电平脉冲(TDK芯片高电平为2V 以上),唤醒芯片程序初始化SW1-SW4,此时按键被按着因此SW5会有一个低电平脉冲,程序进入扫描后PB由于SW1-SW4轮流输出高的原因使PB持续高电平25ms左右,扫描完一轮后程序进入按键释放期150ms,SW1-SW4全部输出低,因此PB持续150ms低电平,然后程序进入第二轮扫描,由于SW1-SW4轮流输出高电平的原因,PB又会产生一个高电平,且高电平宽度宽度是SW5的4倍,扫描完两轮后又进入按键释放期,此时S1键被释放,程序按键处理完成进入低功耗模式,PB与SW5口线恢复到默认状态。

矩阵键盘设计实验报告

南京林业大学 实验报告 基于AT89C51 单片机4x4矩阵键盘接口电路设计 课程机电一体化设计基础 院系机械电子工程学院 班级 学号 姓名

指导老师杨雨图 2013年9月26日

一、实验目的 1、掌握键盘接口的基本特点,了解独立键盘和矩 阵键盘的应用方法。 2、掌握键盘接口的硬件设计方法,软件程序设计 和贴士排错能力。 3、掌握利用Keil51软件对程序进行编译。 4、用Proteus软件绘制“矩阵键盘扫描”电路,并用测试程序进行仿真。 5、会根据实际功能,正确选择单片机功能接线,编制正确程序。对实验结果 能做出分析和解释,能写出符合规格的实验报告。 二、实验要求 通过实训,学生应达到以下几方面的要求: 素质要求 1.以积极认真的态度对待本次实训,遵章守纪、团结协作。 2.善于发现数字电路中存在的问题、分析问题、解决问题,努力培养独立 工作能力。 能力要求 1.模拟电路的理论知识 2.脉冲与数字电路的理念知识 3.通过模拟、数字电路实验有一定的动手能力 4.能熟练的编写8951单片机汇编程序 5.能够熟练的运用仿真软件进行仿真 三、实验工具 1、软件:Proteus软件、keil51。 2、硬件:PC机,串口线,并口线,单片机开发板 四、实验内容

1、掌握并理解“矩阵键盘扫描”的原理及制作,了解各元器件的参数及格 元器件的作用。 2、用keil51测试软件编写AT89C51单片机汇编程序 3、用Proteus软件绘制“矩阵键盘扫描”电路原理图。 4、运用仿真软件对电路进行仿真。 五.实验基本步骤 1、用Proteus绘制“矩阵键盘扫描”电路原理图。 2、编写程序使数码管显示当前闭合按键的键值。 3、利用Proteus软件的仿真功能对其进行仿真测试,观察数码管的显示状 态和按键开关的对应关系。 4、用keil51软件编写程序,并生成HEX文件。 5、根据绘制“矩阵键盘扫描”电路原理图,搭建相关硬件电路。 6、用通用编程器或ISP下载HEX程序到MCU。 7、检查验证结果。 六、实验具体内容 使用单片机的P1口与矩阵式键盘连接时,可以将P1口低4位的4条端口线定义为行线,P1口高4位的4条端口线定义为列线,形成4*4键盘,可以配置16个按键,将单片机P2口与七段数码管连接,当按下矩阵键盘任意键时,数码管显示该键所在的键号。 1、电路图

根据VHDL的键盘扫描及显示电路

广西工学院 EDA 课程设计 说明书 设计题目基于VHDL的键盘扫描 及显示电路 系别电控系 专业班级__________________ 学生姓名__________________ 学号__________________ 指导教师__________________ 日期__________________

基于VHDL的键盘扫描及显示电路一、工作原理: 可编程器件的KEY_HANG[3..0]行信号输出端不停循环输出“1110”“1101”“1011”“0111”。当没有键按下时可编程器件的KEY_LIE[3..0]列信号输入端检测到的是“1111”。当有按键按下时,如按下1,此时KEY_HANG[3..0]行信号输出为“0111”,即KEY_HANG[3..0]的3管脚为“0”,可由电路看出,此时输入端KEY_LIE[3..0]检测到的将是“0111”。KEY_LIE[3..0]的3管脚为0,可以在编写程序时,将输出信号KEY_HANG[3..0]与输入信号KEY_LIE[3..0]同时判断,比如可以认为当数据“KEY_HANG&KEY_LIE”为“01110111”时,可译码成数据1,。同理可得其他按键的编码。根据不同数据的编码译成不同的数据。 名称IO属性描述备注 clk in 输入时钟,1K和40K频 率 KEY_HANG[3..0]out矩阵键盘的扫描输入端口 KEY_LIE[3:0] in矩阵键盘的扫描输出端口START out 数据输出标志 DISP out 数码管译码显示译码7bit

DATA[6..0] 输出 DASP SEL[1..0] out数码管扫描输出2bit

行扫描电路的检修与技巧

行扫描电路的检修与技巧 行扫描电路常见击穿短路元件:行输出管和行输出变压器,其中行输出管集电极与发射极之间击穿`行输出变压器初级与地之间击穿及绕组局部短路是造成开关电源电压输出端只有开机瞬间电压的最常见原因。 行扫描常见开路元件有:行输出管集电极供电的10欧以下1W以上保险电阻`行推动管集电极供电中的3。3~10千欧或3~5W电阻`视频或行扫描集成电路行启动引脚供电中的6。8~10千欧/5W左右保险兼降压电阻。 行扫描电路中最常见接触不良的元件有:行频电位器接触不良造成的行频不正常`行输出变压器中的加速极电位器与聚焦极电位器接触不良,形成的亮度低`散焦。 1行扫描故障电路引起现象 行扫描电路的任务是:产生水平方向偏转磁场;提供显象管发光所需的灯丝`加速极`聚焦极`阳极电压`字符电路和彩色解码电路所需的行逆成脉冲。有的机型还要产生视频所需的+180~+205V电压,场扫描电路+24~+28V电压:公共通道所需+12V`+8V电压。 (1)行偏转线圈开路,出现水平一条直线。 (2)无灯丝电压或无加速极阳极电压,引起无光栅`无图象`无伴音`无字符显示`小信号工作电源由开关电源提供的少数伴音正常;灯丝电压低造成亮度低,同时还会造 成显象管老化。 (3)加速极电压低引起亮度低,加速极电压高引起亮度高带回扫线,加速极电压不稳定会引起亮度忽高呼低,加速极无电压引起无光栅,无字符,伴音正常。 (4)聚焦极电压高或低引起聚焦不良,主要表现是无信号时嘈点颗粒大或模糊一片,有信号是图象与字符模糊不清,相是罩着一层雾一样。 (5)阳极电压低引起光栅及图象幅度大,亮度下降,且其幅度受图象内容的影响大小收缩,阳极电压过高引起高压帽打火,水平幅度缩窄。 (6)+180~+240V电压低引起图象拖尾,亮度低,光栅与图象上有木纹或黑横条干扰,屏幕呈纯净暗光栅且带回扫线。 (7)+24~28V`+12V`+8V整流滤波电路有问题造成的水平一条亮线,自动关机,自动授台不锁台,无彩色`图象上有雪花`伴音增大,光栅垂直方向不足`行不同步等。 (8)行逆成脉冲产生或形成电路有问题造成无字符`无彩色`图象左边有黑条。 (9)行扫描电路工作电流大引起光栅忽大忽小`无光栅`无彩色`无字符等故障。 (10)行正反馈电路停振`行输出管未工作引起的开关电源负载轻,造成开关电源输出电压高于正常值。 (11)行输出级电流引起开关电源负载重,造成开关电源进入保护状态或开关电源输出电压低于正常值。 (12)ABL(自动亮度控制电路)有问题造成的亮度低`对比度弱或无亮度`开关电源输出电压值低于正常值`开关电源输出电压为待机值。 (13)行振荡频率不对,造成行不同步或显象管高帽处有点壮打火。其中行不同步的现象是屏幕上有黑白相间的斜条。 (14)行激励不足引起的光栅小`光栅收缩,行输出不能进入深饱和损耗增大发热。 2行扫描电路检修技巧 1判断行扫描电路是否工作正常的方法

矩阵键盘的工作原理和扫描确认方式

9.3.1 矩阵键盘的工作原理和扫描确认方式 来源:《AVR单片机嵌入式系统原理与应用实践》M16华东师范大学电子系马潮 当键盘中按键数量较多时,为了减少对I/O 口的占用,通常将按键排列成矩阵形式,也称为行列键盘,这是一种常见的连接方式。矩阵式键盘接口见图9-7 所示,它由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,MCU 通过检测行或列线上的电平变化可以确定哪个按键被按下。 图9-7 为一个 4 x 3 的行列结构,可以构成12 个键的键盘。如果使用 4 x 4 的行列结构,就能组成一个16 键的键盘。很明显,在按键数量多的场合,矩阵键盘与独立式按键键盘相比可以节省很多的I/O 口线。 矩阵键盘不仅在连接上比单独式按键复杂,它的按键识别方法也比单独式按键复杂。在矩阵键盘的软件接口程序中,常使用的按键识别方法有行扫描法和线反转法。这两种方法的基本思路是采用循环查循的方法,反复查询按键的状态,因此会大量占用MCU 的时间,所以较好的方式也是采用状态机的方法来设计,尽量减少键盘查询过程对MCU 的占用时间。 下面以图9-7 为例,介绍采用行扫描法对矩阵键盘进行判别的思路。图9-7 中,PD0、PD1、PD2 为3 根列线,作为键盘的输入口(工作于输入方式)。PD3、PD4、PD5、PD6 为4根行线,工作于输出方式,由MCU(扫描)控制其输出的电平值。行扫描法也称为逐行扫描查询法,其按键识别的过程如下。 √将全部行线PD3-PD6 置低电平输出,然后读PD0-PD2 三根输入列线中有无低电平出现。只要有低电平出现,则说明有键按下(实际编程时,还要考虑按键的消抖)。如读到的都是高电平,则表示无键按下。 √在确认有键按下后,需要进入确定具体哪一个键闭合的过程。其思路是:依

第13讲51单片机按键电路

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

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口连接

基于FPGA的键盘扫描程序的设计

摘要 在现代电子工业的控制电路中,键盘扫描和显示电路对系统的调试和设置有着重要的作用。随着EDA技术的发展,基于FPGA的扫描键盘因其结构简单,能有效防止机械键盘按键抖动带来的数据错误等优点在许多电子设备中都得到了广泛的应用。 本文主要是设计一个基于FPGA的键盘扫描程序,该设计在EDA工具Quarutus II9.0上开发完成,以Creat-SOPC2000实验箱上的4*4矩阵键盘为硬件实体,设计键盘扫描程序,将程序划分为时序产生模块、键盘扫描模块、弹跳消除模块、键值译码模块四个模块,时序产生模块为键盘扫描和弹跳消除模块产生时钟信号,键盘扫描模块采用行扫描法对4*4矩阵键盘进行扫描,键值译码模块将所按键值译码为共阳极8位7段数码管的显示码,几个模块组合起来实现键盘扫描的设计要求。最后对程序进行仿真分析和硬件验证。仿真结果表明,该系统具有集成度高、稳定性好、设计灵活和设计效率高等优点。 关键词: FPGA,Quartus II,VHDL,键盘扫描

ABSTRACT In the modern electronics industry controlling-circuit, the keyboard scanning and display circuit plays an important role in debugging and setting the system. With the development of EDA technology, FPGA-based scanning keyboard have been widely used in many electronic devices because of its simple structure, and it also can effectively prevent mechanical keyboard jitter caused by data errors. This article primarily designed an FPGA-based keyboard scan procedures, this design is developed on the EDA tools—— Quarutus II9.0 and designed the keyboard scan program, using the Creat-SOPC2000 experimental box 4 * 4 matrix keyboard as the hardware entity .the program is divided into four modules as the timing generation module, a keyboard scanning module, bounce cancellation module and the decoding module. The timing generation module generates the clock signal for the keyboard scanning and bounce elimination module, the keyboard scanning module using the line scanning method to sweep the 4* 4 matrix keyboard, key decoder module decodes the key value for the common anode eight 7-segment display code. Several modules assembles together to meet the keyboard scanning design requirements. Finally, conducting simulation analysis by the program and verifying the hardware.Simulation results show that the system has many advantages such as high integration, good stability, high efficiency, flexible design and high design efficiency. Keywords: FPGA,Quartus II,VHDL,keyboard scanning

彩色电视机行、场扫描电路常见故障

彩色电视机行、场扫描电路常见故障 行扫描电路最易出故障,出现故障的现象一般有如下几种: ①无光栅、无显示。 对于①类故障现象,可能的原因有电源电压不正常、行振荡停振、行推动级的行推动管开路或行推动变压器的初次级开路、行输出级的行管C、E极短路、阻尼管D和逆程电容短路等。维修时,可用万用表静态检查,但要注意,因有的行管阻带阻管,不要误判。无光栅、无显示的故障现象,有的是由电源电压不正常引起的,为了区分是电源还是行扫描电路故障,需将电源和行扫描电路断开,再加电测量电源输出电压,这样即可判断故障部位。 ②垂直一条亮线。 对于②类故障,是由于行偏转线圈内没有锯齿电流流过。这灯故障现象一般说来都是因为行输出级负载开路所致,常见的是由行偏转线圈和主板接触不良引起。 ③行不同步。 对于③类故障,多是由于行同步不良引起。检查时可用示波器从接口处的插头查起,直到行扫描芯片的相应输入脚。一般是电容失效、74LS86芯片损坏或接口处行同步信号

线断掉。 ④行幅缩小。 对于行幅缩小或增大的④类故障现象,可能是电源电压不正常或行输出电路故障。对这类故障现象应重点检查逆程电容。 场扫描电路常见故障现象有如下几种: ①水平一条亮线或水平一条亮带。 对于第①类故障现象的原因,可能是由于场振荡、场推动、场输出和场偏转线圈,这四者其中之一出现了故障,维修时重点检查场扫描集成电路外围的阻容元件和偏转线圈。 ②场不同步。 对于第②类故障现象,主要是由于场同步电路不良引起。 ③场幅不足。 对于第③类故障,可能的原因有自动场幅控制电路出现故障或场幅电位器损坏所致,所以应重点检查场幅电位器。 ④场线性不好。 当出现第④类故障现象时,检查集成芯片外围的阻容元件,基本上确认无误后,再更换集成芯片,这样可以避免不必要的麻烦。

键盘扫描显示实验原理及分析报告

键盘扫描显示实验原理及分析报告 一、实验目的-------------------------------------------------------------1 二、实验要求-------------------------------------------------------------1 三、实验器材-------------------------------------------------------------1 四、实验电路-------------------------------------------------------------2 五、实验说明-------------------------------------------------------------2 六、实验框图-------------------------------------------------------------2 七、实验程序-------------------------------------------------------------3 八、键盘及LED显示电路---------------------------------------------14 九、心得体会------------------------------------------------------------- 15 十、参考文献--------------------------------------------------------------15

扫描式矩阵键盘课程设计

扫描式矩阵键盘课程设 计 Company number【1089WT-1898YT-1W8CB-9UUT-92108】

4X4扫描式矩阵键盘课程设计课程设计名称: 4_4扫描式矩阵键盘设计 姓名: DUKE 班级:电子1008班 学号: 10086 成绩: 日期: 2014年1月6日 摘要 随着21世纪的到来,电子信息行业将是人类社会的高科技行业之一,式设施现代化的基础,也是人类通往科技巅峰的直通路。电子行业的发展从长远来看很重要,但最主要的还是科技问题。 矩阵式键盘提高效率进行按键操作管理有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身素质的要求。是它能准时、实时、高效地显示按键信息,以提高工作效率和资源利用率。 矩阵式键盘乃是当今使用最为广泛的键盘模式,该系统以N个端口连接控制N*N个按键,显示在LED数码管上。单片机控制依据这是键盘显示系统,该系统可以对不同的按键进行实时显示,其核心是单片机和键盘矩阵电路部分,主要对按键与显示电路的关系、矩阵式技术及设备系统的硬件、软件等各个部分进行实现。 4*4矩阵式键盘采用AT89C51单片机为核心,主要由矩阵式键盘电路、译码电路、显示电路等组成,软件选用C语言编程。单片机将检测到的按键信号

转换成数字量,显示于LED显示器上。该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。 目录 第一章:系统功能要求-------------------------------------------------------- 1.1 4*4 矩阵式键盘系统概述------------------------------------------------ 1.2 本设计任务和主要内容--------------------------------------------------- 第二章:方案论证--------------------------------------------------------------- 第三章:系统硬件电路的设计------------------------------------------------ 3.1 单片机控制系统原理----------------------------------------------------- 3.2 原理图绘制说明---------------------------------------------------------- 3.3 画出流程图---------------------------------------------------------------- 3.4 原理图绘制---------------------------------------------------------------

实验四 键盘扫描及显示设计实验报告

实验四键盘扫描及显示设计实验报告 一、实验要求 1. 复习行列矩阵式键盘的工作原理及编程方法。 2. 复习七段数码管的显示原理。 3. 复习单片机控制数码管显示的方法。 二、实验设备 1.PC 机一台 2.TD-NMC+教学实验系统 三、实验目的 1. 进一步熟悉单片机仿真实验软件 Keil C51 调试硬件的方法。 2. 了解行列矩阵式键盘扫描与数码管显示的基本原理。 3. 熟悉获取行列矩阵式键盘按键值的算法。 4. 掌握数码管显示的编码方法。 5. 掌握数码管动态显示的编程方法。 四、实验内容 根据TD-NMC+实验平台的单元电路,构建一个硬件系统,并编写实验程序实现如下功能: 1.扫描键盘输入,并将扫描结果送数码管显示。 2.键盘采用 4×4 键盘,每个数码管显示值可为 0~F 共 16 个数。 实验具体内容如下: 将键盘进行编号,记作 0~F,当按下其中一个按键时,将该按键对应的编号在一个数码 管上显示出来,当再按下一个按键时,便将这个按键的编号在下一个数码管上显示出来,数 码管上可以显示最近 4 次按下的按键编号。 五、实验单元电路及连线 矩阵键盘及数码管显示单元

图1 键盘及数码管单元电路 实验连线 图2实验连线图 六、实验说明 1. 由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为 5~10ms。这是一个很重要的时间参数,在很多场合都要用到。 键抖动会引起一次按键被误读多次。为了确保 CPU 对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按

按键扫描方法

说到键盘扫描,相信大多数人第一反应就是行列矩阵扫描,这样我们可以用相对有限的IO口得到尽可能多的按键。键盘扫描是单片机技术的一种基本处理方法,学校的单片机课程都会有相应章节进行阐述,只要按照课本上讲述的方法,一般都能设计出比较可靠的键盘扫描电路与程序。 课本上的键盘扫描方法(见下图接法二)不能说是尽善尽美,从易懂性、成本、程序难易程度等方面综合看应该是不错的方法,给人感觉是已经没有太多的改善空间,至少我是这么认为的。 然而前段时间一位台湾朋友画给我的键盘扫描矩阵电路(见下图接法二),让我又一次看到到自己的思维还有许多地方被自己的所谓“经验”束缚着。 单纯的从硬件接法看,两种接法并没有明显区别,接法一甚至要复杂一些,但如果结合到键盘扫描的程序来看,就会发现接法一确实更好。 两种接法我都没有把上拉电阻包含进来,来让我们看一下两种接法到底有什么不同: 接法二: 我们熟悉的传统扫键处理电路,假定键盘行列IO口标号分别为H1/H2/H3和V1/V2/V3,扫键流程通常如下。 2.1. H1设置为输出,H2/H3和V1/V2/V3设置为输入 2.2. H1分别输出1和0,读V1/V2/V3状态,如果Vy状态与H1一致,则认为H1与Vy交叉位置的键按下 2.3. H2设置为输出,H1/H3和V1/V2/V3设置为输入 2.4. H2分别输出1和0,读V1/V2/V3状态,如果Vy状态与H2一致,则认为H2与Vy交叉位置的键按下 2.5. H3设置为输出,H1/H2和V1/V2/V3设置为输入 2.6. H3分别输出1和0,读V1/V2/V3状态,如果Vy状态与H3一致,则认为H3与Vy交叉位置的键按下

行扫描电路原理

行扫描电路原理 行扫描电路包括行激励电路、行输出电路、行逆程变压器(又称行输出变压器)及中、高压形成电路。 行扫描电路的主要功能是给行偏转线圈提供线性良好的锯齿波电流,形成垂直方向线性增长的磁场,控制电子束沿水平方向扫描。同时利用行逆程期间形成的脉冲电压通过行逆程变压器的升压、降压形成的高压、中压、低压,给CRT提供帘栅电压、阳极电压、聚焦极电压、ABL取样电压、CRT灯丝电压、视频放大器供电电压、行AFC比较电压等。 行扫描电路是彩电的关键电路,它工作在高频、高压、大电流状态,其功耗约占整机功耗的70%左右,彩电故障与行扫描电路有关的大约占65%左右,因此它的工作稳定性、可靠性对整机稳定性、可靠性影响很大。 一、一般行扫描电路基本原理 1.行输出极及行扫描锯齿电流 (a) (b)

(c) 上图是典型的行输出级原理电路。Q1是行输出管,工作在开关状态,激励脉冲Vi由脉冲变压器B1藕合输入,行偏转线圈L Y及回扫变压器B2均作为行输出级负载。Cs是S校正电容,C是逆程电容,D1是阻尼二极管,它不同于普通二极管,它耐压高、开关性能好。其反向击穿电压达1~1.5KV。在电路中起开关作用,同时也对L Y─C 之间的自由振荡(即偏转线圈与逆程电容之间的电磁能量交换)起阻尼作用。电源Ec对S校正电容Cs充电,使其两端电压总保持有上正下负,数值为Ec的电压。为便于分析,可将Cs等效成数值为Ec的电源串在偏转支路上,这对分析工作原理并无影响,故将行输出级等效成图(b)。注意:行输出管与阻尼二极管均等效为一开关,但他们导通时流过的电流方向正好相反。 激励电压Vi是矩形脉冲。当正极性脉冲到达Q1基极,Q1饱和导通,在偏转线圈中产生锯齿形电流i Y,其波形如图(c)由三部分组成: (1)时间t从0~t1,行输出管的导通电流形成扫描正程右半段所需电流,随t线性增长,最大幅值为I YM=(Ec/L Y)×(T s/2)(Ts为正

经典按键扫描程序

以下假设你懂C语言,因为纯粹的C语言描述,所以和处理器平台无关,你可以在MCS-51,AVR,PIC,甚至是ARM平台上面测试这个程序性能。以下以AVR的MEGA8作为平台讲解,没有其它原因,因为我手头上只有AVR的板子而已没有51的。用51也可以,只是芯片初始化部分不同,还有寄存器名字不同而已。 核心算法: unsigned char Trg; unsigned char Cont; void KeyRead( void ) { unsigned char ReadData = PINB^0xff; // 1 Trg = ReadData & (ReadData ^ Cont); // 2 Cont = ReadData; // 3 } 下面是程序解释:Trg(triger)代表的是触发,Cont(continue)代表的是连续按下。 1:读PORTB的端口数据,取反,然后送到ReadData 临时变量里面保存起来。(端口值与0XFF 按位异或,有按键按下为0,异或后相应的位就为1,相当于将读取的端口值取反) 2:算法1,用来计算触发变量的。一个位与操作,一个异或操作,我想学过C语言都应该懂吧?Trg为全局变量,其它程序可以直接引用。 3:算法2,用来计算连续变量。 看到这里,有种“知其然,不知其所以然”的感觉吧?代码很简单,但是它到底是怎么样实现我们的目的的呢?好,下面就让我们绕开云雾看青天吧。 我们最常用的按键接法如下:AVR是有内部上拉功能的,但是为了说明问题,我是特意用外部上拉电阻。(STM32可以将端口设置为输入上拉模式)那么,按键没有按下的时候,读端口数据为1,如果按键按下,那么端口读到0。下面就看看具体几种情况之下,这算法是怎么一回事。 (1)没有按键的时候 端口为0xff,ReadData读端口并且取反,很显然,就是 0x00 了。(0XFF^0XFF=0X00)Trg = ReadData & (ReadData ^ Cont); (初始状态下,Cont也是为0的)很简单的数学计算,因为ReadData为0,则它和任何数“相与”,结果也是为0的。 Cont = ReadData; 保存Cont 其实就是等于ReadData,为0; 结果就是: ReadData = 0; Trg = 0; Cont = 0; (2)第一次PB0按下的情况 端口数据为0xfe,ReadData读端口并且取反,很显然,就是 0x01 了。(0XFE^0XFF=0X01)Trg = ReadData & (ReadData ^ Cont); 因为这是第一次按下,所以Cont是上次的值,应为为0。那么这个式子的值也不难算,也就是 Trg = 0x01 & (0x01^0x00) = 0x01 Cont = ReadData = 0x01; 结果就是: ReadData = 0x01; Trg = 0x01;Trg只会在这个时候对应位的值为1,其它时候都为0 Cont = 0x01;

单片机4X4键盘扫描和显示课程设计

二、设计内容 1、本设计利用各种器件设计,并利用原理图将8255单元与键盘及数码管显示单元连接,扫描键盘输入,最后将扫描结果送入数码管显示。键盘采用4*4键盘,每个数码管可以显示0-F共16个数。将键盘编号,记作0-F,当没按下其中一个键时,将该按键对应的编号在一个数码管上显示出来,当在按下一个 键时,便将这个按键的编号在下一个数码管上显示,数码管上 可以显示最近6次按下的按键编号。 设计并实现一4×4键盘的接口,并在两个数码管上显示键盘所在的行与列。 三、问题分析及方案的提出 4×4键盘的每个按键均和单片机的P1口的两条相连。若没有按键按下时,单片机P1口读得的引脚电平为“1”;若某一按键被按下,则该键所对应的端口线变为地电平。单片机定时对P1口进行程序查询,即可发现键盘上是否有按键按下以及哪个按键被按下。 实现4×4键盘的接口需要用到单片机并编写相应的程序来识别键盘的十六个按键中哪个按键被按下。因为此题目还要求将被按下的按键显示出来,因此可以用两个数码管来分别显示被按下的按键的行与列

表示任意一个十六进制数)分别表示键盘的第二行、第三行、第四行;0xXE、0xXD、0xXB、0xX7(X表示任意一个十六进制数)则分别表示键盘的第一列、第二列、第三列和第四列。例如0xD7是键盘的第二行第四列的按键 对于数码管的连接,采用了共阳极的接法,其下拉电阻应保证芯片不会因为电流过大而烧坏。 五、电路设计及功能说明 4×4键盘的十六个按键分成四行四列分别于P1端口的八条I/O 数据线相连;两个七段数码管分别与单片机的P0口和P2口的低七 位I/O数据线相连。数码管采用共阳极的接法,所以需要下拉电阻 来分流。结合软件程序,即可实现4×4键盘的接口及显示的设计。 当按下键盘其中的一个按键时,数码管上会显示出该按键在4×4键 盘上的行值和列值。所以实现了数码管显示按键位置的功能 四、设计思路及原因 对于4×4键盘,共有十六个按键。如果每个按键与单片机的一个引脚相连,就会占用16个引脚,这样会使的单片机的接口不够用(即使够用,也是对单片机端口的极大浪费)。因此我们应该行列式的接法。行列式非编码键盘是一种把所有按键排列成行列矩阵的键盘。在这种键若没有按键按下时,单片机从P1口读得的引脚电平为“1”;若某一按键被按下,则该键所对应的端口线变为地电平。因此0xEX(X表示任意4×4键盘的第一行中的某个按键被按下,相应的0xDX、0xBX、0x7X(X 二、实验内容

相关主题
文本预览
相关文档 最新文档