网站大量收购闲置独家精品文档,联系QQ:2885784924

沈阳农业大学信息与电气工程学院单片机原理及应用(1)课件 第20讲.ppt

沈阳农业大学信息与电气工程学院单片机原理及应用(1)课件 第20讲.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 单片机的输入/输出设备接口 重点: 1、掌握键盘接口的工作原理 2、掌握LED显示器的工作原理 5.1 键盘接口 5.1.1单片机键盘接口概述 1、单片机实现键盘接口的常用方法 使用单片机本身的并行I/O口。 使用单片机本身的串行I/O口。 使用通用接口芯片(例如8155、8255等)。 使用专用的接口芯片8279。 2、键盘输入接口解决的任务 (1)键盘扫描和去抖动 ①产生键抖动的原因 ②消抖的方法 硬件消抖: 软件消抖:延时 (2)键值或键号的计算 (3)等待键释放 (4)确定键盘的监控方法 中断方式执行。当有键被按下时,向单片机发出中断请求,中断相应后执行键盘扫描工作。 定时方式执行。利用内部定时计数器完成一段时间的重复定时,每次定时完成执行一次键盘扫描工作。 实现上述过程,即键扫描和延时消抖、计算键值、等待键释放以及键盘监控之外,还应实现每个键所对应的功能,通常是利用散转指令JMP @A+DPTR转移去某个键值对应的子程序,来实现其功能。 5.1.2独立式按键 1、独立式按键逻辑结构图 2、键盘扫描程序 实现功能: 判断是否有键按下、计算键值以及转移到相应分支的程序。 假设与P1口相连,分支为地址为PROG0~PROG7 MAIN:MOV A,#0FFH MOV P1, A ;置P1为输入方式 MOV A, P1 ;读P1连接的外设状态,即按键状态 JNB ACC.0, SUB0;P1.0上的键按下转移SUB0 JNB ACC.1, SUB1;P1.1上的键按下转移SUB1 JNB ACC.2, SUB2;P1.2上的键按下转移SUB2 JNB ACC.3, SUB3;P1.3上的键按下转移SUB3 JNB ACC.4, SUB4;P1.4上的键按下转移SUB4 JNB ACC.5, SUB5;P1.5上的键按下转移SUB5 JNB ACC.6, SUB6;P1.6上的键按下转移SUB6 JNB ACC.7, SUB7;P1.7上的键按下转移SUB7 JMP MAIN;无键按下返回 SUB0:AJMP PROG0 SUB1:AJMP PROG1 SUB2:AJMP PROG2 SUB3:AJMP PROG3 SUB4:AJMP PROG4 SUB5:AJMP PROG5 SUB6:AJMP PROG6 SUB7:AJMP PROG7 PROG0:…………;0号键功能 ………… LJMP MAIN;0号键执行完返回 PROG1:…………;1号键功能 ………… LJMP MAIN;1号键执行完返回 · · · · · · · · · PROG7:…………;7号键功能 ………… LJMP MAIN;7号键执行完返回 5.1.3矩阵式按键 1、矩阵式键盘的工作原理 (1)原理: 每条行线和列线处有一个按键结构,当所有键未被按下时,行线与列线断开,每条行线都呈现高电平。当有键被按下时,按键所在行线与列线短路,此时行线的电平由列线的电位所决定,若列线输入低电平则行线也为低电平。 (2)扫描法 扫描法是逐列(或逐行)置低电平,同时读入行的状态(或列),如果行的状态不全为1状态,那么0状态行与0状态列的交点处的键就是按下的键。 (3)反转法 反转法主要分两步进行。假设图中X0~X3与某I/O口的低四位D0~D3相连,Y0~Y3与高四位D4~D7相连。第一步,将I/O口的高四位D4~D7输出为0000,将I/O口的状态(即低四位状态,高四位为0000)输入到单片机某一内存单元N中存放,其中为0的位对应的是被按下键的行位置。(读行值)第二步,将I/O口的低四位D0~D3输出为0000,读I/O口(即高四位状态,低四位状态为0000)的状态到单片机某一内存单元N+1中存放,其中为0的位对应的是被按下键的列位置(读列值)。最后将N单元中低四位即D0~D3状态与N+1单元中的高四位D4~D7的状态进行或操作,结果就是按下的键值。 2、矩阵式键盘接口 用单片机的并行I/O口或通用I/O口扩展芯片如8155等 。 3、键盘扫描程序 KEY1:ACALL KS1 JNZ LK1 ACALL DIR AJMP KEY1 LK1:ACALL DIR ACALL DIR ACALL KS1 JNZ LK2 ACALL DIR AJMP KEY1 LK2:MOV

您可能关注的文档

文档评论(0)

ormition + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档