第9章MCS-51与键盘、显示器、拨盘、打印机的接口设计ppt课件.ppt

第9章MCS-51与键盘、显示器、拨盘、打印机的接口设计ppt课件.ppt

ID:59213056

大小:1.89 MB

页数:62页

时间:2020-09-26

第9章MCS-51与键盘、显示器、拨盘、打印机的接口设计ppt课件.ppt_第1页
第9章MCS-51与键盘、显示器、拨盘、打印机的接口设计ppt课件.ppt_第2页
第9章MCS-51与键盘、显示器、拨盘、打印机的接口设计ppt课件.ppt_第3页
第9章MCS-51与键盘、显示器、拨盘、打印机的接口设计ppt课件.ppt_第4页
第9章MCS-51与键盘、显示器、拨盘、打印机的接口设计ppt课件.ppt_第5页
资源描述:

《第9章MCS-51与键盘、显示器、拨盘、打印机的接口设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机原理及应用第9章MCS-51与键盘、 显示器的接口设计光华学院信息工程系王超PC机除了主机以外还需要哪些部分呢?单片机电路有时候也需要键盘、显示等外设。9.1键盘接口按键的特点及输入原理独立式按键矩阵式按键按键的特点及输入原理按键的分类:触点式:机械;无触点式:电气键输入原理:通过按键的接通与断开,产生两种相反的逻辑状态低电平“0”与高电平“1”。键功能的实现:对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,将该键号送入累加器A,然后判断是数字键还是功能键,若是数字键

2、,则将键号对应的数字送入相关输入缓冲区;若是功能键,则通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。键盘接口需要解决的问题是否有键按下按键识别:键抖动及消除:机械按键抖动时间在5ms~10ms之间硬件方案——双稳态去抖电路软件方案——延时10ms~20ms后再次判断消除方法:求键号独立式按键接口电路:特点:一线一键,按键识别(编程)简单;但占用较多口线,适合8键以下使用。例1:用P1口检测三个按键的状态并完成相应的功能解:资源分配:用P1口的低3位检测3个按键的输入,为1则表示按键没有按下,为0则表示相应按键被按下。流程

3、图:ORG0000HKB:MOVP1,#0FFH;想从P1口取数时要先;将初始值FF装入P1,再准备去取数!MOVA,P1;读出P1口内容到A中CPLA;将A取反ANLA,#07H;将A的内容与07相与JZKB;判断A是否是0,是0无键按下;跳转到KBLCALLD10MS;由按键按下延时10msMOVA,P1;读出P1口内容到A中CPLA;将A取反ANLA,#07H;将A的内容与07相与JZKB;判断A是否是0,是0无键按下;跳转到KBCJNEA,#01H,KB01;是1按键按下吗?;不是跳转到KB01LCALLPGM1;是,则调用

4、PGM1SJMPKB;返回KBKB01:CJNEA,#02H,KB02;是2按键按下吗?;不是跳转到KB02LCALLPGM2;是,则调用PGM2SJMPKB;返回KBKB02:CJNEA,#04H,KB;是1按键按下吗?;不是跳转到KB01LCALLPGM3;是,则调用PGM3SJMPKB;返回KBEND编程:按三个按键中的任一键都对应一个特定功能。若判断键释放应如何修改?矩阵式按键关键:如何判断键号?3210476511109815141312+5VP1.4P1.3P1.0MCS-51P1.7P1.6P1.5P1.2P1.1接口

5、电路:特点:按键识别应采用扫描法或线路反转法编程较为复杂,节省口资源,8键以上使用键盘扫描子程序一般包括以下内容:1.判别有无键按下;2.扫描获取闭合键的行、列值;3.用计算法或查表法得到键值;4.判断闭合键释放否,如没释放则继续等待;5.保存闭合键号。键按下/释放判断KS:MOVA,#00H;将00放入A中MOVP1,A;全扫描字#00H送P1口MOVP1,#0FH;为保证取P1口低4位,先应将其置高电平MOVA,P1;读入P1口状态CPLA;变正逻辑,高电平表示有键按下ANLA,#0FH;取低4位RET;返回,A≠0表示有键按下

6、MAIN:LCALLKSJNZxxx如果按下“2”号键,那么P1.0-P1.7的值从原来的0000,1111(0F)变化为0000,0111(0E),因此,A的值变为0000,0111(0E)。取反,11111000(F8)再与0000,1111(0F)相与,则为0000,1000(08)不为0,有按键按下。有按下情况的进一步处理程序按键识别——扫描法流程:当第0列处于低电平时,逐行查找是否有行线变低,若有,则第0列与该行的交叉点按键按下;若无,则表示第0列无键按下,再让下一列处在低电平,依此循环,这种方式称为键盘扫描。键号=行首键

7、号(0、4、8、12)+列号(0、1、2、3)原理:在某一时刻只让一条列线处于低电平,其余列线均处于高电平,则当这一列有键按下时,该键所在的行电平将会由高电平变为低电平,可判定该列相应的行有键按下。例2:键盘扫描程序SERCH:MOVR2,#0EFH;扫描初值11101111MOVR3,#00H;列号为0LINE0:MOVA,R2;将R2,11101111送入AMOVP1,A;将A,11101111送入P1MOVA,P1;读P1口内容到AJBACC.3,LINE1;判断0行选中?MOVA,#00H;行首号送累加器A=00AJMPTR

8、YK;跳转到TRYKLINE1:JBACC.2,LINE2;判断1行选中?MOVA,#04H;行首号送累加器A=04AJMPTRYK;跳转到TRYKLINE2:JBACC.1,LINE3;判断2行选中?MOVA,#08H;行首号送累加

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。