版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务十键盘接口扩展任务分析:实现键盘接口扩展硬件独立式键盘与行列式键盘的结构和原理软件独立式键盘查询原理行列式键盘列扫描查询原理编译、下载、调试编译软件:keil下载软件:STC-ISP按键及键盘键盘:由若干个按键组成的开关矩阵,是实现人机对话或人机通信的常用工具。根据按键的识别方式分:由硬件识别键的闭合—编码键盘由软件识别键的闭合—未编码键盘按键开关:机械弹性开关,机械开关在闭合及断开瞬间均伴随有一连串的抖动
,时间一般为
5~10ms。按键及键盘键按下闭合稳定前沿抖动后沿抖动释放稳定键释放按键时的抖动消除键抖动可用硬件和软件两种方法硬件消抖:RS触发器软件消抖:延时10ms左右再检测Vcc(+5V)Vcc(+5V)AB输出RS触发器消抖电路独立式未编码键盘接口
独立式键盘:各按键相互独立地接通一条输入数据线。
查询方式:输入线平时为高电平;若有任意键按下时,输入线为低电平。优点:电路、编程简单
缺点:按键较多时,占用较多I/O口线。K0K1K2例、用查询方式编写独立式按键程序#include<reg51.h>unsignedcharkey_value;voidmain(void){P1=P1|0x07; //设置P1.0-P1.2为输入状态 while(1){
key_value=P1&0x07; //读P1.0-P1.2的状态 switch(key_value) {
case0x06:…;break; //K0按下
case0x05:…;break; //K1按下
case0x03:…;break; //K2按下
default:;break; }}}行列式未编码键盘原理未编码4*4行列式键盘行列式键盘列扫描查询原理行列式键盘列扫描查询原理先判别按键所在的行:由P2口输出列扫描字0x0F,然后读行线状态到变量temp1中。如果有按键按下,则行输入不全为1,即不等于0x0F;如果无按键按下,则行输入全为1,即等于0x0F。再判别按键所在的列:由P2口输出行扫描字0xF0,然后读列线状态到变量temp2中。将temp1和temp2的状态相或得到按键的编码,从而知道按键的值。#include<reg52.h>voidmDelay(unsignedintDelay);sbitLED_CS=P1^4;//延时子程序:由Delay参数决定延时时间voidmDelay(unsignedintDelay){unsignedinti;for(;Delay>0;Delay--){for(i=0;i<114;i++){;}}}//按键扫描子程序,有键按下,返回键值00-15;无键按下,返回0xff。unsignedcharMatrix_key(){unsignedcharkey,temp1,temp2;key=0xff; //初始化键值
P2=0x0f; //输出列扫描字
if((P2&0x0F)!=0x0f) //读行线状态,判断是否有键按下{ mDelay(10); //延时消抖
P2=0x0f; //输出列扫描字
temp1=P2&0x0f;//读行线状态到temp1中
if(temp1!=0x0f) //有键按下{P2=0xf0; //输出行扫描字temp2=P2&0xf0; //读列线状态到temp2中switch(temp1|temp2){case0xee:key=0;break; case0xde:key=1;break;case0xbe:key=2;break;case0x7e:key=3;break;case0xed:key=4;break;case0xdd:key=5;break;case0xbd:key=6;break;case0x7d:key=7;break;case0xeb:key=8;break;case0xdb:key=9;break;case0xbb:key=10;break;case0x7b:key=11;break;case0xe7:key=12;break;case0xd7:key=13;break;case0xb7:key=14;break;case0x77:key=15;break;
default:key=0xff;break;}} }else{;}return(key);//返回键值}voidmain(void){unsignedcharkey_value;LED_CS=0;while(1){
key_value=Matrix_key();//调用按键识别子程序switch(key_value)//根据按键分支{
case0:P0=0xfe;break;//0号按键,LED1点亮
case1:P0=0xfd;break;//1号按键,LED2点亮
case2:P0=0xfb;break;//2号按键,LED3点亮
case3:P0=0xf7;break;//3号按键,LED4点亮
case4:P0=0xef;break;//4号按键,LED5点亮
case5:P0=0xdf;break;//5号按键,LED6点亮
case6:P0=0xbf;break;//6号按键,LED7点亮
case7:P0=0x7f;break;//7号按键,LED8点亮default:break;//无效按键
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年中考道德与法治(湖北)第二次模拟考试(含答案)
- 基于神经网络的Linux系统异常模式识别与分类
- 2025年海南省公需课学习-新型农业经营主体培育发展政策
- 2025年营养周饮食健康知识竞赛题库及答案(共200题)
- 2025年八大特殊作业安全判断题试题库及答案(共70题)
- 2025年江苏宿迁中考真题及答案
- 智能客服考试题库及答案
- 定制新托盘合同范本
- 中学教编考试真题及答案
- 2025年廉江高一英语试卷及答案
- 全球重点区域算力竞争态势分析报告(2025年)-
- 2025北京热力热源分公司招聘10人参考笔试题库及答案解析
- 2025年湖南省法院系统招聘74名聘用制书记员笔试参考题库附答案
- 2025广西机电职业技术学院招聘教职人员控制数人员79人备考题库及答案解析(夺冠)
- 2026届高考政治一轮复习:必修2 经济与社会 必背主干知识点清单
- 大学生校园创新创业计划书
- 护士职业压力管理与情绪调节策略
- 贵州国企招聘:2025贵州凉都能源有限责任公司招聘10人备考题库及答案详解(必刷)
- 招标人主体责任履行指引
- 2025-2026学年北师大版五年级数学上册(全册)知识点梳理归纳
- 我的新式汽车(课件)-人美版(北京)(2024)美术二年级上册
评论
0/150
提交评论