单片机原理与应用及C51程序设计课件第七章 MCS-51与键盘、显示
单片机原理与应用及C51程序设计
第七章 MCS-51与键盘,显示器的接口
与键盘, 第七章 MCS-51与键盘,显示器的接口 与键盘7.1 MCS-51单片机 与键盘接口 单片机1与键盘接口 单片机 7.1.1 键盘的工作原理 键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态, 当按下键时它才闭合.它的结构和产生的波形如图所示.VCC 断开 闭合 GND (a) (b) 断开
P1.1
P1.1
单片机原理与应用及C51程序设计
第七章 MCS-51与键盘,显示器的接口
键盘的处理主要涉及三个方面: 1.按键的识别 . 2.抖动的消除 . 消除按键盘抖动通常有两种方法:硬件消抖和软件消抖. 硬件消抖是通过在按键输出电路上加一定的硬件线路来消除抖动, 一般采用R—S触发器或单稳态电路.如图.+5V 闭合 断开 +5V 输出
软件消抖是利用延时来跳过抖动过程
单片机原理与应用及C51程序设计
第七章 MCS-51与键盘,显示器的接口
3.键位的编码 . 通常有两种方法编码. (1)用连接键盘的I/O线的二进制组合进行编码.如(a)图 (2)顺序排列编码.如(b)图,处理方法如下:编码值=行首编 码值X+列号Y.P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 88 48 28 18 84 44 24 14 82 42 22 12 81 41 21 11 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 F B 7 3 E D A 9 6 5 2 1 C 8 4 0
(a)
(b)
单片机原理与应用及C51程序设计
第七章 MCS-51与键盘,显示器的接口
7.1.2 独立式键盘与单片机的接口 键盘的结构形式一般有两种:独立式键盘与矩阵式键盘. 独立式键盘就是各按键相互独立,每个按键各接一根I/O口线,每根 I/O口线上的按键都不会影响其它的I/O口线.VCC VCC
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 8051 INT 0 (a) 或 GN D
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 8051 GN D (b)
单片机原理与应用及C51程序设计
第七章 MCS-51与键盘,显示器的接口
图(a)为中断方式工作的独立式键盘的结构形式,(b)为查询 方式工作的独立式键盘的结构形式 下面是针对图7.4(b)图查询方式的汇编语言形式的键盘程序.总 共有8个键位,KEY0~KEY7为8个键的功能程序. START:MOV A,#0FFH; MOV P1,A ;置P1口为输入状态 MOV A,P1 ;键状态输入 CPL A JZ START ;没有键按下,则转开始 JB ACC.0,K0 ;检测0号键是否按下,按下转 JB ACC.1,K1 ;检测1号键是否按下,按下转 JB ACC.2,K2 ;检测2号键是否按下,按下转 JB ACC.3,K3 ;检测3号键是否按下,按下转 JB ACC.4,K4 ;检测4号键是否按下,按下转 JB ACC.5,K5 ;检测5号键是否按下,按下转 JB ACC.6,K6 ;检测6号键是否按下,按下转 JB ACC.7,K7 ;检测7号键是否按下,按下转 JMP START ;无键按下返回,再顺次检测
单片机原理与应用及C51程序设计
第七章 MCS-51与键盘,显示器的接口
K0:AJMP KEY0 K1:AJMP KEY1 …… K7:AJIMP KEY7 KEY0:…… ;0号键功能程序 JMP START ;0号键功能程序执行完返回 KEY1:…… ;0号键功能程序 JMP START ;1号键功能程序执行完返回 …… KEY7:…… ;7号键功能程序 JMP START ;7号键功能程序执行完返回 7.1.3 矩阵键盘与单片机的接口 矩阵式键盘又叫行列式键盘.用I/O口线组成行,列
结构,键位 设置在行列的交点上.例如4×4的行,列结构可组成16个键的键盘, 比一个键位用一根I/O口线的独立式键盘少了一半的I/O口线.
单片机原理与应用及C51程序设计
第七章 MCS-51与键盘,显示器的接口
矩阵键盘的连接方法有多种,可直接连接于单片机的I/O口线;可利 用扩展的并行I/O口连接;也可利用可编程的键盘,显示接口芯片 (如8279)进行连接等等.其中,利用扩展的并行I/O口连接方便灵 活,在单片机应用系统中比较常用.下图就是通过8255A芯片扩展 的并行I/O口连接4×8的矩阵键盘.PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 5.1K×4
P2.7 WR RD ALE
74LS373
CS W RD A1 A0
P0.0~P0.7 8051 +5V 1K 20F
D0~D7
0 1 2 3 4 5 6 7 PC0 8 9 10 11 12 13 14 15 PC1 16 17 18 19 3 21 22 23 20 RESET PC2 24 25 26 27 28 29 30 31 PC3 8255
+5V
单片机原理与应用及C51程序设计
第七章 MCS-51与键盘,显示器的接口
一.矩阵键盘的工作过程 对矩阵键盘的工作过程可分两步:第一步是CPU首先检测键盘 上是否有键按下;第二步是再识别是哪一个键按下. 1.检测键盘上是否有键按下处理方法是:将列线送入全扫描字, 读入行线的状态来判别.其具体过程如下:PA口输出00H,即所有列 线置成低电平,然后将行线电平状态读入累加器A中.如果有键按下, 总会有一根行线电平被拉至低电平,从而使行输入状态不全为"1". 2.识别键盘中哪一个键按下处理方法是:将列线逐列置低电平, 检查行输入状态,称为逐列扫描.其具体过程如下:从PA0开始,依 次输出"0",置对应的列线为低电平,然后从PC口读入行线状态,如 果全为"1",则按下的键不在此列;如果不全为"1",则按下的键必 在此列,而且是该列与"0"电平行线相交的交点上的那个键.为求取 编码,在逐列扫描时,可用计数器记录下当前扫描列的列号,检测到 第几行有键按下,就用该行的首键码加列号得到当前按键的编码. 二.矩阵键盘的工作方式
单片机原理与应用及C51程序设计
第七章 MCS-51与键盘,显示器的接口
1.查询工作方式 . 这种方式是直接在主程序中插入键盘检测子程序,主程序每执 行一次则键盘检测子程序被执行一次,对键盘进行检测一次,如果 把没有键按下,则跳过键识别,直接执行主程序;如果有键按下, 则通过键盘扫描子程序识别按键,得到按键的编码值,然后根据编 码值进行相应的处理,处理完后再回到主程序执行.键盘扫描子程 序流程如图 .开始 有键按下否? 否 调用6ms延时子程序? 是
调用12ms延时子程序? 否 有键按下否? 是 判闭合键,编码入栈保护 闭合键释放否? 是 编码→A 返回
否
单片机原理与应用及C51程序设计
第七章 MCS-51与键盘,显示器的接口
键盘扫描子程序如下:(硬件线路如图7.4,8255A的A口,B口,C 口和控制口地址分别为7F00H,7F01H,7F02H,7F03H,设8255A 已在主程序中初始化.已设定为A口方式0输出,C口的低4位方式0输 入.) KEY1:ACALL KS1 ;调用判断有无键按下子程序 JNZ L
K1 ;有键按下时,(A)≠0转消抖延时 KEY2:ACALL TM6ms AJMP KEY1 ;无键按下返回 LK1:ACALL TM12ms ;调12 ms延时子程序 ACALL KS1 ;查有无键按下,若有则真有键按下 JNZ LK2 ;键(A)≠ 0逐列扫描 AJMP KEY2 ;不是真有键按下,返回 LK2:MOV R2,#0FEH ;初始列扫描字(0列)送入R2 MOV R4,#00H ;初始列(0列)号送入R4 LK4:MOV DPTR,#7F00H ;DPTR指向8155PA口 MOV A,R2 ;列扫描字送至8155PA口 MOVX @DPTR,A INC DPTR ;DPTR指向8155PC口 INC DPTR
单片机原理与应用及C51程序设计
第七章 MCS-51与键盘,显示器的接口
MOVX A,@DPTR ;从8155 PC口读入行状态 JB ACC.0,LONE ;查第0行无键按下,转查第1行 MOV A,#00H ;第0行有键按下,行首键码#00H→A AJMP LKP ;转求键码 LONE:JB ACC.1,LTWO ;查第1行无键按下,转查第2行 MOV A,#08H ;第1行有键按下,行首键码#08H→A AJMP LKP ;转求键码 LTWO:JB ACC.2,LTHR ;查第2行无键按下,转查第3行 MOV A,#10H ;第2行有键按下,行首键码#10H→A AJMP LKP ;转求键码 LTHR:JB AC …… 此处隐藏:4461字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




