资源描述:
《第6章MCS-51单片机的人机交互通道配置与接口.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章人机交互通道配置与接口主要内容:从工程应用角度介绍了MCS-51单片机的交互通道配置与接口,主要包括人机界面中的键盘、显示器、微型打印机等。介绍了多种实用方案和设计技巧。重点:系统概念的形成、各种接口设计方案和设计技巧的掌握,熟悉各种交互设备。难点:使用动态方法进行键盘和显示的硬件及软件设计。1第6章人机交互通道配置与接口6.1MCS-51单片机与键盘的接口技术6.2MCS-51单片机与显示器的接口技术6.3MCS-51单片机键盘和显示器接口设计实例26.1MCS-51单片机与键盘的接口技术键盘:单片机系统
2、中完成控制参数输入及修改的基本输入设备,是人工干预系统的重要手段。键盘的分类:按键组连接方式可分为独立连接式键盘与矩阵连接式键盘。36.1.1键盘结构⑴独立式按键独立式按键是每个按键占用一根I/O端线。①各按键相互独立,电路配置灵活;②按键数量较多时,I/O端线耗费较多,电路结构繁杂;③软件结构简单。适用于按键数量较少的场合。46.1.1键盘结构⑵行列式(矩阵式)键盘I/O端线分为行线和列线,按键跨接在行线和列线上,按键按下时,行线与列线发生短路。①占用I/O端线较少;②软件结构教复杂。适用于按键较多的场合
3、。56.1.2使用键盘时必须解决的问题键盘去抖动问题:键盘的抖动时间一般为5~20ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。66.1.3键盘接口对键盘上所按下的键进行识别。⑴程序控制扫描方式键处理程序固定在主程序的某个程序段。⑵定时控制扫描方式利用定时/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描。⑶中断方式当键盘上有键闭合时,向CPU申请中断,CPU响应中断后对键盘进行扫描。76.1.3键盘接口键扫描输入程序的设计方法:(1)判断键盘上是否有键闭合;(2)消除键的机
4、械抖动;(3)确定闭合键的物理位置;(4)得到闭合键的编号;(5)确保CPU对键的一次闭合只做一次处理8独立式键盘接口扫描方式9KEYB:ORLP1,#07H;置P1.0~P1.2为输入态MOVA,P1;读键值,键闭合相应位为1ANLA,#00000111B;屏蔽高5位,保留有键值信息的低3位JZGRET;全0,无键闭合,返回LCALLDY10ms;非全0,有键闭合,延时10ms,软件去抖动MOVA,P1;重读键值,键闭合相应位为1ANLA,#00000111B;屏蔽高5位,保留有键值信息的低3位JZGRET;全
5、0,无键闭合,返回;非全0,确认有键闭合JBAcc.0,KB0;转0#键功能程序JBAcc.1,KB1;转1#键功能程序JBAcc.2,KB2;转2#键功能程序GRET:RETKB0:LCALLWORK0;执行0#键功能子程序RETKB1:LCALLWORK1;执行1#键功能子程序RETKB2:LCALLWORK2;执行2#键功能子程序RET10独立式键盘接口扫描方式11独立式键盘接口扫描方式主程序如下:ORG0000HLJMPMAINORG0003H;外部中断0中断服务入口地址LJMPINTI;转中断服务ORG
6、0100HMAIN:SETBEA;开总中断允许SETBEX0;开INT0中断SETBIT0;下降沿有效……中断服务程序清单如下:INTI:CALLD20;延时去抖动MOVP1,#0FFH;P1口送全1值MOVA,P1;读P1口各引脚CJNEA,#0FFH,CLOSE;验证是否确实有键闭合AJMPINT0;无键按下12独立式键盘接口扫描方式CLOSE:JNBACC.7,KEY7;查询7号键JNBACC.6,KEY6;查询6号键JNBACC.5,KEY5;查询5号键JNBACC.4,KEY4;查询4号键JNBACC.
7、3,KEY3;查询3号键JNBACC.2,KEY2;查询2号键JNBACC.1,KEY1;查询1号键JNBACC.0,KEY0;查询0号键INT0:RETIKEY7:……;7号键处理程序KEY71:MOVA,P1;再读P1口各引脚JNBACC.7,FUNC71;确认键是否释放RETIKEY6:……;其他键处理程序……D20:……;20ms延时子程序RETEND13矩阵式键盘接口—行反转法0000110114矩阵式键盘接口—行反转法1011000015矩阵式键盘接口—行动态扫描方法0000111116矩阵式键盘接口
8、—行动态扫描方法0000110117矩阵式键盘接口—行动态扫描方法0111111118矩阵式键盘接口—行动态扫描方法1011110119矩阵式键盘接口—行动态扫描方法键号、行数m、列数n扫描初值初始化输出扫描初值读列值是否有为0列?扫描初值左移,键号+n,计数器-1m行扫描完?NNYY后续处理列值循环右移1位进位位为0?N键盘处理命令20通过串行口扩展键盘接口其中,P1.