版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章基于S3C2410的系统硬件设计键盘和LED控制键盘概述键盘概述 LED数码管接口数码管接口ZLG7290u 1按键的分类按键的分类按键按照结构原理可分为两类,一类是触点式开关按键,如按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,嵌入式系统中最常见的是触点式开关按键。嵌入式系统中最常见的是触点式开关按键。5.7 键盘与键盘与LED数码管接口数码管接口键盘概述键盘
2、概述 LED数码管接口数码管接口ZLG7290u 键盘输入特点:键盘输入特点:机械式按键再按下或释放时,由于机械弹性作用的影响,通机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图所示,抖动时间的长短与开关的机械特性有关,一抖动过程如图所示,抖动时间的长短与开关的机械特性有关,一般为般为510ms。5.7 键盘与键盘与LED数码管接口数码管接口键盘概述键盘概述 LED数码管接口数码管接口ZLG7290u 2.按键的消抖按键的消抖 在触点抖动期间检测按键的通与断状态,可在
3、触点抖动期间检测按键的通与断状态,可能导致判断出错。即按键一次按下或释放被错误能导致判断出错。即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以须采取去抖动措施,可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。数较多时,采用软件去抖。5.7 键盘与键盘与LED数码管接口数码管接口键盘概述键盘概述 LED数码管接口数码管接口ZLG
4、7290(1)硬件除抖:硬件除抖:在硬件上可采用在键输出端加在硬件上可采用在键输出端加R-S触发器触发器(双稳态触发器双稳态触发器)或单稳或单稳态触发器构成去抖动电路,图态触发器构成去抖动电路,图1是一种由是一种由R-S触发器构成的去抖动触发器构成的去抖动电路,当触发器一旦翻转,触点抖动不会对其产生任何影响。电路,当触发器一旦翻转,触点抖动不会对其产生任何影响。5.7 键盘与键盘与LED数码管接口数码管接口u 2.按键的消抖按键的消抖键盘概述键盘概述 LED数码管接口数码管接口ZLG7290电路工作过程如下:按键未按下时,电路工作过程如下:按键未按下时,a = 0,b = 1,输出,输出Q =
5、 1,按键按下时,因按键的,按键按下时,因按键的机械弹性作用的影响,使按键产生抖动,当机械弹性作用的影响,使按键产生抖动,当开关没有稳定到达开关没有稳定到达b端时,因与非门端时,因与非门2输出为输出为0反馈到与非门反馈到与非门1的输入端,封锁了与非门的输入端,封锁了与非门1,双稳态电路的状态不会改变,输出保持为双稳态电路的状态不会改变,输出保持为1,输出输出Q不会产生抖动的波形。当开关稳定到不会产生抖动的波形。当开关稳定到达达b端时,因端时,因a = 1,b = 0,使,使Q = 0,双稳态,双稳态电路状态发生翻转。当释放按键时,在开关电路状态发生翻转。当释放按键时,在开关未稳定到达未稳定到达
6、a端时,因端时,因Q = 0,封锁了与非门,封锁了与非门2,双稳态电路的状态不变,输出双稳态电路的状态不变,输出Q保持不变,保持不变,消除了后沿的抖动波形。当开关稳定到达消除了后沿的抖动波形。当开关稳定到达a端端时,因时,因a = 0,b = 1,使,使Q = 1,双稳态电路,双稳态电路状态发生翻转,输出状态发生翻转,输出Q重新返回原状态。由重新返回原状态。由此可见,键盘输出经双稳态电路之后,输出此可见,键盘输出经双稳态电路之后,输出已变为规范的矩形方波。已变为规范的矩形方波。5.7 键盘与键盘与LED数码管接口数码管接口u 2.按键的消抖按键的消抖键盘概述键盘概述 LED数码管接口数码管接口
7、ZLG7290(2)软件除抖:软件除抖:软件上采取的措施是:在软件上采取的措施是:在检测到有按键按下时,执检测到有按键按下时,执行一个行一个10ms左右(具体左右(具体时间应视所使用的按键进时间应视所使用的按键进行调整)的延时程序后,行调整)的延时程序后,再确认该键电平是否仍保再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,若仍保持闭合状态电平,则确认持闭合状态电平,则确认该键处于闭合状态;同理,该键处于闭合状态;同理,在检测到该键释放后,也在检测到该键释放后,也应采用相同的步骤进行确应采用相同的步骤进行确认,从而可消除抖动的影认,从而可消除抖动的影响。响。5.7 键盘与键盘与LE
8、D数码管接口数码管接口u 2.按键的消抖按键的消抖v键盘的分类键盘的分类按工作原理分按工作原理分v 编码键盘:编码键盘: 由各按键的编码电路组成,能自动由各按键的编码电路组成,能自动提供各按键的提供各按键的ASCII码,能将数据保持到新键按下码,能将数据保持到新键按下为止。为止。特点:软件简单,键入速度快,硬件较复杂,特点:软件简单,键入速度快,硬件较复杂,价格较贵。价格较贵。v 非编码键盘非编码键盘线性键盘线性键盘矩阵键盘矩阵键盘 键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口v1线性键盘线性键盘每个键对应I/O端口的一位,没有按键闭
9、合时,各位均处于高电位;当某键被按下时,对应位与地接通,则为低电位,而其他仍为高电位。 线性键盘软、硬件简单,但只适用于按键不多的情况。b2b1b0I/O接口 线性键盘原理图线性键盘原理图 键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口v2扫描法(矩阵键盘扫描法(矩阵键盘 ) 注:无按键按下时,行线注:无按键按下时,行线处于高电平;有键按下时,处于高电平;有键按下时,行线电平由与此相连的列线行线电平由与此相连的列线电平决定。电平决定。 行行线在无键按下时处于线在无键按下时处于高高电平,电平,列列线处于线处于低低电平;电平; 如如有键有键
10、按下,则按下,则某行某行电平电平变变低低; 如有键按下,逐列置低电如有键按下,逐列置低电平,其余列置高电平,检查平,其余列置高电平,检查各行线电平的变化,如某行各行线电平的变化,如某行线电平变低,则确定此行列线电平变低,则确定此行列交叉处的键被按下。交叉处的键被按下。键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口v3反转法(矩阵键盘反转法(矩阵键盘 ) 将将行线编程为输入线行线编程为输入线,列线编列线编程为输出线程为输出线,并使,并使输出线输出输出线输出为全低电平为全低电平,则行线中电平为,则行线中电平为低的行为按键所在行低的行为按键所
11、在行; 列线编程为输入线列线编程为输入线,将行线编将行线编程为输出线程为输出线,并使输出线输出并使输出线输出为全低电平为全低电平,则列线中电平为,则列线中电平为低的所在列为按键所在列。低的所在列为按键所在列。键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口键盘工作方式:键盘工作方式:1.编程扫描方式编程扫描方式 当单片机空闲时,才调用键盘扫描子程序,反复地扫描键盘,当单片机空闲时,才调用键盘扫描子程序,反复地扫描键盘,等待用户从键盘上输入命令或数据,来响应键盘的输入请求。等待用户从键盘上输入命令或数据,来响应键盘的输入请求。2.定时扫描方
12、式定时扫描方式 每隔一定的时间对键盘扫描一次。每隔一定的时间对键盘扫描一次。 例:利用单片机内的定时器每例:利用单片机内的定时器每10ms调用一次键盘扫描程序。调用一次键盘扫描程序。3.中断工作方式中断工作方式 键盘一旦有输入,就向键盘一旦有输入,就向CPU申请中断。申请中断。键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口v一个用I/O口实现的16个按键的键盘接口电路如图5.7.2所示。在本例中,采用了节省口线的“行扫描法”方法来检测键盘,与44的矩阵键盘接口只需要8根口线,设置PF0PF3为输出扫描码的端口,PF4PF7为键值读入口。
13、图5.7.2 ARM微处理器实现的键盘接口电路键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口键盘处理流程 v一个用I/O口实现的键盘接口,为了识别键盘上的闭合键,常采用行扫描法。行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如果列值中有某位为低电平,则表明行列交点处的键被按下;否则扫描下一行,直到扫描完全部的行线为止。v在图5.7.2所示电路中,按键设置在行、列交叉点上,行、列分别连接到按键开关的两端。列线通过上拉电阻接到+5V上。平时无按键动作时,列线处于高电平状态;而当有键按下时,列线电平状态将由通过此按键的行
14、线电平决定:行线电平如果为低,列线电平为低;行线电平如果为高,则列线电平亦为高。通过这一点来识别矩阵式键盘是否被按下。因各按键之间相互发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。v根据行扫描法的原理,识别矩阵键盘按键闭合分两步进行:v(1)识别键盘哪一行的键被按下:让所有行线均为低电平,检查各列线电平是否为低,如果有列线为低,则说明该列有键被按下,否则说明无键被按下。v(2)如果某列有键被按下,识别键盘哪一行的键被按下:逐行置低电平,并置其余各行为高电平,检查各列线电平的变化,如果列电平变为低电平,则可确定此行此列交叉点处按键被按下。键盘概键盘概述述 LED数
15、码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口发光二极管发光二极管( LED : Light Emitting Diode): 从外观可分为从外观可分为 8字形的字形的七段数七段数码管、米字形数码管、点阵块、矩形平面显示器、数字笔划显示器码管、米字形数码管、点阵块、矩形平面显示器、数字笔划显示器等。等。1.七段七段LED数码显示器:七段数码显示器:七段LED数码管显示器能够显示十进制或十六进制数码管显示器能够显示十进制或十六进制数字及某些简单字符。但控制简单,使用方便,在单片机系统中应用较多。数字及某些简单字符。但控制简单,使用方便,在单片机系统中应用较多。其结
16、构如下图所示。其结构如下图所示。低位低位 高位高位低位低位 高位高位键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口下图中的下图中的ag七个笔划(段)及小数点七个笔划(段)及小数点dp均为发光二极管。数码管显示器根据均为发光二极管。数码管显示器根据公共端的连接方式,可以分为共阴极数码管(将所有发光二极管的阴极连在一公共端的连接方式,可以分为共阴极数码管(将所有发光二极管的阴极连在一起)和共阳极数码管(将所有发光二极管的阳极连在一起)。起)和共阳极数码管(将所有发光二极管的阳极连在一起)。 单片机系统扩展单片机系统扩展LED数码管时多用共阳
17、数码管时多用共阳LED。共阳数码管每个段笔画是用低。共阳数码管每个段笔画是用低电平点亮的电平点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平点亮的,要求要求驱动功率很小;而共阴数码管段笔画是用高电平点亮的,要求驱动功率较大。通常每个段笔画要串一个数百欧姆的降压电阻。驱动功率较大。通常每个段笔画要串一个数百欧姆的降压电阻。 七段七段LED字形码如下表所。字形码如下表所。 键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口LED点阵模块显示器点阵模块显示器 LED点阵模块显示器是指由发光二极管排成一个点阵模块显示器是指由发光二极管排成一个
18、mn的点阵,每个发光二的点阵,每个发光二极管构成点阵中的一个点。这种显示器显示的字形逼真,能显示的字符比较多,极管构成点阵中的一个点。这种显示器显示的字形逼真,能显示的字符比较多,但控制比较复杂。适用于显示汉字、图形和表格,广泛应用于公共场合的信息但控制比较复杂。适用于显示汉字、图形和表格,广泛应用于公共场合的信息发布。发布。键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口LED的驱动接口的驱动接口 LED工作时需要一定的工作电流,才能正常发光。单个工作时需要一定的工作电流,才能正常发光。单个LED实际上是一个压降实际上是一个压降为为1.
19、82.2V的发光二极管,流过的发光二极管,流过LED的电流大小决定了它的发光强度,的电流大小决定了它的发光强度,R为限流为限流电阻。适当减小限流电阻可以增加电阻。适当减小限流电阻可以增加LED的工作电流,使的工作电流,使LED的显示效果更好。但的显示效果更好。但工作电流过大,会对驱动器件、工作电流过大,会对驱动器件、LED造成损害。通常每个段笔画要串一个合适的造成损害。通常每个段笔画要串一个合适的电阻,使流过的电流为电阻,使流过的电流为1mA50mA。下图为单个。下图为单个LED的驱动接口电路。的驱动接口电路。键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED
20、数码管接口数码管接口LED显示器工作原理显示器工作原理1)静态显示方式:)静态显示方式:静态显示方式的各数码管在显示过程中持续得静态显示方式的各数码管在显示过程中持续得到送显信号,与各数码管接口的到送显信号,与各数码管接口的I/O口线是专用的。口线是专用的。其特点是显示其特点是显示稳定,无闪烁,用元器件多,占稳定,无闪烁,用元器件多,占I/O线多,无须扫描。系统运行过线多,无须扫描。系统运行过程中,在需要更新显示内容时,程中,在需要更新显示内容时,CPU才去执行显示更新子程序,才去执行显示更新子程序,节省节省CPU时间,提高时间,提高CPU的工作效率,编程简单。的工作效率,编程简单。2)动态显
21、示方式:)动态显示方式:动态显示方式是指一位一位地轮流点亮每位显动态显示方式是指一位一位地轮流点亮每位显示器,与各数码管接口的示器,与各数码管接口的I/O口线是共用的。口线是共用的。其特点是有闪烁,用其特点是有闪烁,用元器件少,占元器件少,占I/O线少,必须扫描,花费线少,必须扫描,花费CPU时间,编程复杂。时间,编程复杂。键盘概述键盘概述 LED数码管接数码管接口口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口v一个54键盘及8位LED显示电路如图5.7.3所示,该电路采用支持I2C总线协议的ZLG7290芯片(实验箱:从机地址0 x70)。vZLG7290是一个采用I2C接口
22、的键盘及LED驱动器芯片,I2C串行接口提供键盘中断信号方便与处理器接口,I2C接口传输速率可达32kbit/s;v可驱动8位共阴数码管或64只独立LED和64个按键,可控扫描位数可控任一数码管闪烁,提供数据译码和循环移位段寻址等控制;v8个功能键可检测任一键的连击次数,无需外接元件即直接驱LED,可扩展驱动电流和驱动电压,提供工业级器件多种封装形式PDIP-24和SO-24,引脚端功能如表5.7.1所示。键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口(a)ZLG7290控制电路控制电路键盘概述键盘概述 LED数码管接口数码管接口ZLG
23、72905.7 键盘与键盘与LED数码管接口数码管接口EINT4实验箱实验箱表表5.7.1 ZLG7290引脚端功能引脚端功能引脚符号类型描述13,12,21,22,36 Dig7 Dig0 输入/输出LED 显示位驱动及键盘扫描线107,2,1,24,23SegGSegA 输入/输出LED 显示段驱动及键盘扫描线20SDA 输入/输出I2C 总线接口数据/地址线19SCL 输入/输出I2C 总线接口时钟线14/INT 输出中断输出端,低电平有效15/RES 输入复位输入端,低电平有效17OSC1 输入连接晶体以产生内部时钟18OSC2 输出16VCC 电源电源正端,电压3.35.5V 11G
24、ND 电源地,电源负端键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口(b)八段数码管连接电路键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口(c)键盘及LED显示电路图5.7.3 54键盘及8位LED显示电路(图与表中的引脚端符号统一,以表为准)键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口1.键盘控制初始化程序键盘控制初始化程序/*名称:keyboard_test*功能:测试八段数码管*参数:无*返回:无*Oid keyb
25、oard_test(void) UINT8T ucChar; UINT8T szBuf40; uart_printf(“n Keyboard Test Examplen”); uart_printf(“Press any key to exitn”); Keyboard_init();键盘概述键盘概述 LED数码管接口数码管接口ZLG72905.7 键盘与键盘与LED数码管接口数码管接口 g_nKeyPress=0 xFE; While(1) f_nKeyPress=0; while(f_nKeyPress=0) if(uart_tetkey() /Press any key from UART0 to exit return; else if(ucChar=7) /or press 5*4 Key-7 to exit return; else if(g_nKeyPress!=0 xFE) /or SB1202/SB1203 to exit return; 键盘概述键
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年睡眠与心理健康教育课件(知识竞赛版)
- 2025《行政处罚法》知识试题库及参考答案(版)
- 2026中国华电校招笔试题及答案
- 2026季度目标达成与收支复盘
- 2026 年教师节教师心理健康维护职业压力疏导课件
- 2026 年关爱老年人践行孝善文化教育课件
- 广东省2026年初中学业水平考试数学模拟卷附答案
- 飞机试飞设备安装调试工操作规程测试考核试卷含答案
- 音乐资格考试试题及答案
- 转底炉工岗前安全演练考核试卷含答案
- 房产继承分配协议书5篇
- 2026年天津市辅警招聘考试试题带答案(精练)
- 人防工程机电设备安装施工技术方案
- 《房地产信托投融资实务及典型案例》目录
- 2026农机行业市场深度研究及行业竞争与技术创新发展趋势报告
- 2026年成人高考专升本《政治》真题(含答案)
- 侵害未成年案件强制报告制度培训课件
- 电网检修工程预算定额(2020年版)全5册excel版
- 生产过程中次品管理制度
- XXX氨制冷安装工程施工方案
- 2026《高一数学培优讲义》秋季(学生版)
评论
0/150
提交评论