矩阵键盘简易计算机设计报告,矩阵键盘实验总结.docx
矩阵键盘实验总结
矩阵式键盘实验报告 学生:学号:XX 专业班级:自动化1202 指导老师:杨东勇 XX年12月 一、实验目的 1.学习矩列式键盘工作原理; 2.学习矩列式接口的电路设计和程序设计。 二、实验设备 统一电子开发平台。 三、实验要求 要求实现:在矩阵式键盘中的某个键被按下时,8位LED动态显示器上最低位显示该键对应的字符。 注意,在进行该项实验之前,请先进行实验三“定时器实验”。 四、实验原理 1.工作原理: 矩阵式由行线和列线组成,按键位于行、列的交叉点上。如图所示,一个4*4的行、列结构可以构成一个由16个按键的键盘。很明显,在按键数量较多的场合,矩阵式键盘与独立式键盘相比,要节省很多的I/0口。 矩阵式键盘工作原理 按键设置在行、列交节点上,行、列分别连接到按键开关的两端。行线通过下拉电阻接到GND上。平时无按键动作时,行线处于低电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线电平决定。列线电平如果为低,行线电平为高,列线电平如果为高,则行线电平则为低。这一点是识别 矩阵式键盘是否被按下的关键所在。因此,各按键彼此将相互发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。 按键识别方法 下面以3号键被按下为例,来说明此键是如何被识别出来的。前已述及,键被按下时,与此键相连的行线电平将由与此键相连的列线电平决定,而行线电平在无键按下时处于高电平状态。如果让所有列线处于高电平那么键按下与否不会引起行线电平的状态变化,始终是高电平,所以,让所有列线处于高电平是没法识别出按键的。现在反过来,让所有列线处于低电平,很明显,按下的键所在行电平将也被置为低电平,根据此变化,便能判定该行一定有键被按下。但我们还不能确定是这一行的哪个键被按下。所以,为了进一步判定到底是哪—列的键被按下,可在某一时刻只让一条列线处于低电平,而其余所有列线处于高电平。当第1列为低电平,其余各列为高电平时,因为是键3被按下,所以第1行仍处于高电平状态;当第2列为低电平,其余各列为高电平时,同样我们会发现第1行仍处于高电平状态,直到让第4列为低电平,其余各列为高电平时,因为是3号键被按下,所以第1行的高电平转换到第4列所处的低电平,据此,我们确信第1行第4列交叉点处的按键即3号键被按下。 根据上面的分析,很容易得出矩阵键盘按键的识别方法,此方法分两步进行。第一步,识别键盘有无健被按下;第二步,如果有键被按下,识别出具体的按键。 分述如下:识别键盘有无键被按下的方法是:让所有列线均为低电平,检查各行线电平是否有低电平,如果有,则说明有键被按下,如果没有,则说明无键被按下(实际编程时应考虑按键抖动的影响,通常总是采用软件延时的方法进行消抖处理)。识别具体按键的方法是:逐列置零电平,并检查各行线电平的变化,如果某行电平由高电平变为低电平,则可确定此行此列交叉点处按键被按下。 2.原理图 五、程序流程图 程序流程图如图1所示。 图1程序流程图 六、实验思考题 1.实验中遇到的问题: 有时候键盘按出来的跟想显示的不一样,结果发现是程序错误,后来对照书本,改回来之后就对了。还有一些小错误也一一照出来解决了。中断服务子程序后必须要有RETI中断返回指令。 附:实验源代码: ;********************ASM汇编实验*******************;工程: ;晶振: ;************************************************* //#include"REG_"/*如果用到MPC82G516的特殊寄存器请包含这个头文件*/ORG0000HAJMPMAINORG000BHAJMPINTI_T0MAIN: MOVTMOD,#01H;定时器设置crystal,工作在模式1, 16位定时 MOVTH0,#0B8H;装载T0初始值,20msMOVTL0,#00H MOVIE,#82H;打开中断SETBTR0;打开定时开关 MOV50H,#010H;清除按键保存数据MOV51H,#010H;清除按键保存数据MOV52H,#010H;清除按键保存数据MOV53H,#010H;清除按键保存数据MOV54H,#010H;清除按键保存数据MOV55H,#010H;清除按键保存数据MOV56H,#010H;清除按键保存数据MOV57H,#010H;清除按键保存数据MOVR7,#00H;初始化扫描次数 MOV30H,#00H;清除按键扫描允许标志位LOOP_SCAN: MOVA,30H;判断是否扫描按键CJNEA,#01
矩阵键盘简易计算机设计报告,矩阵键盘实验总结.docx相关推荐
- 矩阵键盘简易计算机设计报告,矩阵键盘设计实验报告.doc
南 京 林 业 大 学 实验报告 基于AT89C51 单片机4x4矩阵键盘接口电路设计 课 程 机电一体化设计基础 院 系 机械电子工程学院 班 级 学 号 姓 名 指导老师 杨雨图 201 南京林业 ...
- 矩阵键盘简易计算机设计报告,矩阵键盘设计实验报告
<矩阵键盘设计实验报告>由会员分享,可在线阅读,更多相关<矩阵键盘设计实验报告(21页珍藏版)>请在人人文库网上搜索. 1.南京林业大学实验报告基于 AT89C51单片机 4x ...
- 矩阵键盘简易计算机设计报告,矩阵键盘显设计报告..doc
摘要 在日常生活中,我们经常要用到键盘来实现对电子装置的控制.小到手表手机,中到电视电脑,大到各种复杂仪器,都需要通过各种按键来实现各种操作.本次课程设计以按键控制显示为主题,以MSP430G2553 ...
- 计算机钢琴汇编设计报告,TC键盘模拟钢琴发声设计报告.docx
文档介绍: TC键盘模拟钢琴发声设计报告.docxTC键盘模拟钢琴发声"设计报告 设计任务要求 用PC键盘模拟钢琴发声 1 .使PC机成为一架可以弹奏的"钢琴:当按下数字1时,依次 ...
- 单片机c语言数字频率计的课程设计,基于单片机的简易数字频率计设计报告(最终版)最新版...
<基于单片机的简易数字频率计设计报告.doc>由会员分享,可免费在线阅读全文,更多与<基于单片机的简易数字频率计设计报告(最终版)>相关文档资源请在帮帮文库(www.woc88 ...
- 基于AT89C51单片机的简易计算机设计
点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87715642?spm=1001.20 ...
- java 矩阵_(JAVA)计算机图形学与矩阵
(JAVA)计算机图形学与矩阵 平移 旋转 变比 一)矩阵 1)矩阵的乘法运算 矩阵是计算机图形学的重要工具. 计算机图形学要常常用到 矩阵乘法(矩阵与矩阵相乘). 矩阵(Aij)m*n 与矩阵(Bi ...
- 键盘是计算机必不可少,如果台式计算机键盘不响应怎么办?如果按下键盘时无响应怎么办...
计算机键盘是台式计算机中必不可少的设备之一,也是人们在生活和办公室中经常使用的设备. 同时,由于使用键盘的频率很高,因此在使用键盘时也会出现计算机键盘. 反应的问题,如果台式计算机键盘不响应以及按下时 ...
- c语言时钟加秒表报告,51单片机秒表计时器课程设计报告(含C语言程序)...docx
- - PAGE # - - - PAGE # - XXXXX)学院 51单片机系统设计 课程设计报告 目:秒表系统设计 目: 专业.班级: 学生姓名: 学 号: 指导教师: [摘要] 本设计是一个秒 ...
最新文章
- Linux 交叉编译简介
- 导师讨厌什么样的学生 ?
- 搜索专题:问题 E: 挑战ACM迷宫
- python【力扣LeetCode算法题库】20- 有效的括号(辅助栈)
- java添加删除用户信息泄露_java删除用户404错误!!神奇!增改查都没问题啊!!...
- 浅谈:数据结构之单链表,java代码演示单链表
- C# 能否获取一个对象所占内存的大小?
- Python简单的抓取静态网页内容
- excel去重_数据处理之EXCEL的高效技巧分享
- c语言练习的软件,我想学C语言,在自己的电脑上练习,要安装什么软件呢?
- UE4加载osgb倾斜摄影数据
- mysql负载时高时低_Mysql服务器负载很高,性能问题排查思路是怎样的?
- linux oracle 12170,ora-12170 linux
- TestStand-调用LabVIEW
- input type=file 选取文件路径时出现fakepath问题IE浏览器解决办法
- 高中英语老师教师资格证考试成功通过前辈备考经验谈
- 实现简单的滑块验证代码案例
- 台式计算机显卡驱动位置,台式电脑独立显卡怎么安装驱动的
- echarts异步数据加载(在下拉框选择事件中异步更新数据)
- 小猪的Python学习之旅 —— 12.Python并发之queue模块