模块三——并行接口及其应用使用并行口驱动键盘
3.3使用并行口驱动键盘按获取编码的方式不同,可以将键盘分为编码键盘非编码键盘键盘是常用的输入设备,通过键盘可以输入各种控制信息,接口电路把表示键位的编码送入计算机,从而实现操作者命令意图。
3.3使用并行口驱动键盘编码键盘采用硬件编码电路来实现键盘的编码,每按一个键,就会自动产生与之对应的编码。编码键盘响应速度快,但是硬件结构复杂,键数越多硬件编码电路就越复杂。非编码键盘非编码键盘相对简单,只需要判断按键是否按下,然后由软件来识别进行后续操作。使用单片机进行的应用开发,并不需要进行复杂的输入,所以通常使用非编码键盘进行信息输入。独立式键盘(线性键盘)矩阵式键盘
3.3使用并行口驱动键盘1.独立式键盘单片机的I/O口操作灵活,具有可以随时切换为输入或输出特点,这一特点是单片机能够检测按键的基础和前提。独立式键盘的连接方法: 使用弹性按键(轻触开关)一端接地,另一端与单片机的某个I/O口线相连即可。
3.3使用并行口驱动键盘按键检测原理单片机运行时,对连接按键的引脚赋予高电平,然后让单片机不断地检测这个引脚的电平,当按下键位时,该引脚通过按键接地,此时为引脚呈低电平。一旦系统检测到这个低电平,即意味着用户按下了与该引脚相连的键位。
3.3使用并行口驱动键盘弹性按键开关自锁式按键开关贴片式按键开关常用的单片机键盘按键
3.3使用并行口驱动键盘弹性按键开关利用的是机械触点的闭合与断开来实现信号的输入。这个现象称为按键的抖动。由于机械触点的弹性作用,在按键闭合与断开的瞬间并不会立即实现闭合或断开,而是有一小段时间的“颤抖”其时间长短与开关的机械特性有关,一般为5到10ms5-10理想状态现实状态
3.3使用并行口驱动键盘常用的去抖方法有硬件方式(SR锁存器去抖电路、并联电容)和软件方式(延时程序)两类。按键开关“去抖”原理硬件方式(SR锁存器去抖电路、并联电容)去抖需要增加硬件,增加成本,且设计上也更复杂。一般采用软件方式去抖。
3.3使用并行口驱动键盘软件去抖的原理 软件去抖的实质是避抖,在检测到按键后先执行一段延时函数,避开抖动的时间,接着再去进行按键检测,以此来达到去抖的目的。使用软件方法去抖,节省硬件,处理比较灵活,但是延时函数会浪费CPU时间,不利于提高CPU使用效率。如果使用定时器实现延时,则可以避免CPU效率降低,效果相对较好。
3.3使用并行口驱动键盘延时去抖的实现
3.3使用并行口驱动键盘延时去抖的实现
3.3使用并行口驱动键盘去抖时使用的带参数的延时函数 voiddelay(intx){ inty,z; for(y=x;y0;y--) for(z=120;z0;z--);}最好能够牢记!
3.3使用并行口驱动键盘课堂练习使用单片机设计一个控制电路,该电路里有八个LED灯,当按下S1键时,第1、3、5、7点亮,松手时熄灭,当按下S2键时,第2、4、6、8点亮,松手时熄灭,当按下S3时全亮,松手时全灭。
3.3使用并行口驱动键盘分析发光二极管均接在P1口上,根据发光二极管点亮的原理,要使第1、3、5、7号灯点亮,则P1的值为AAH;使2、4、6、8号灯点亮,则P1值为55H,要使全部灯点亮,则P1为00H,全部熄灭则P1为FFH。
3.3使用并行口驱动键盘为了确保检测的准确性,需要进行延时“去抖”操作,即检测到低电平后,先延迟10ms,接着再检测该键位是否还是低电平。若还是低电平,则表示此刻确实按下了此键位,然后修改P1口的值,使对应的灯点亮即可。三个按键分别接在P3口的3.2、3.3和3.4上,程序工作时,只需要检测对应的3.2、3.3和3.4口的值是否为低电平,就能知道是否按下了该键位。
3.3使用并行口驱动键盘
谢谢观看