




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SingleChipMicrocomputer第
章
键盘和显示
接口
7.2键盘接口常见的按键开关弹性按键自锁按键拨动开关拨码开关电源开关键盘按照接口原理可分为编码键盘和非编码键盘。编码键盘:指键盘上闭合键的识别由专用的硬件编码器实现,来产生键编码号或键值,如计算机键盘。非编码键盘:是指靠软件编程来识别的键盘。在单片机组成的系统中,用的较多的是非编码键盘。非编码键盘又分为独立式键盘和矩阵式(行列式)键盘。键盘接口需要解决的问题1.是否有键按下按键识别:按键抖动及消除:机械按键抖动时间在5ms~10ms之间软件方案——延时10ms~20ms后再次判断消除方法:2.求键号独立式按键接口电路:特点:一线一键,按键识别(编程)简单;但占用较多口线,适合8键以下使用。例1:用P1口检测8个按键的状态并完成相应的功能解:键盘检测流程图#include<reg51.h>voidmain(){P1=0xff;while(1){while(P1==0xff);delayms(10);
voiddelayms(unsignedintt){ unsignedinti,j; for(i=0;i<t;i++) for(j=0;j<120;j++);}
while(P1==0xff);switch(P1){case0xfe:key1();break;case0xfd;key2();break;case0xfb:key3();break;case0xf7;key4();break;case0xef:key5();break;case0xdf;key6();break;case0xbf:key7();break;case0x7f;key8();break;default:break;}while(P1!=0xff);//等待键释放}}矩阵式键盘每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵键盘扫描子程序包括以下几个步骤:
1.判别有无键按下;
2.扫描获取闭合键的行、列值,确定哪一个键按下;
3.保存闭合键号;
4.确定键的功能是什么。判断有无键按下:行线输出,列线输入。向所有的行线上输出低电平,再读入所有的列线信号。如果列线电平有变化,说明有键按下;如果列线电平没有变化,说明无键按下。判断具体的按键:@逐行送低电平,检查列线电平的变化。@先送第0行为“0”,第1、2、3行为“1”,再读列状态值,若读入的列值全为“1”,表示第0行无键按下。若读入的列值不全为“1”,表示第0行有键按下,并根据列值判断具体的按键。@再送第1行为“0”,第0、2、3行为“1”,再读列状态值,依次类推,直至4行全部扫描完,再重新从第0行开始。unsignedcharscan_key(){P1=0xf0;if(P1!=0xf0){delayms(10);if(P1!=0xf0){
P1=0xfe;switch(P1){case0xee:key=0;break;case0xde:key=1;break;case0xbe:key=2;break;case0x7e:key=3;break;}
矩阵键盘识别方法1:扫描法
P1=0xfd;switch(P1){case0xed:key=4;break;case0xdd:key=5;break;case0xbd:key=6;break;case0x7d:key=7;break;}unsignedcharkey;
P1=0xfb;switch(P1){case0xeb:key=8;break;case0xdb:key=9;break;case0xbb:key=10;break;case0x7b:key=11;break;}
P1=0xf0;while(P1!=0xf0);//等待按键释放}}return(key);}
P1=0xf7;switch(P1){case0xe7:key=12;break;case0xd7:key=13;break;case0xb7:key=14;break;case0x77:key=15;break;}unsignedcharscan_key()//键盘扫描
{ unsignedcharhang,lie;P1=0x0f;//列线输出低电平 if(P1!=0x0f) delay(10); if(P1!=0x0f) { switch(P1&0x0f)//检测行号 { case0x0e:hang=0;break; case0x0d:hang=1;break; case0x0b:hang=2;break; case0x07:hang=3;break; }矩阵键盘识别方法2:扫描法unsignedcharkey; P1=0xf0;//行线输出低电平,检测列号switch(P1&0xf0) { case0xe0:lie=0;break; case0xd0:lie=1;break; case0xb0:lie=2;break; case0x70:lie=3;break; }P1=0x0f; while(P1!=0x0f);//等待按键释放 key=hang*4+lie; } return(key); }要求按下某个按键时,数码管上显示对应的按键字符(“0-F”)。#include<reg51.h>unsignedcharscan_key();voiddisplay(unsignedchari);voiddelayms(unsignedintt);unsignedcharkey;unsignedchara[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voidmain(){while(1){scan_key();display(key);}}voiddisplay(unsignedchari){P2=a[i];}voiddelayms(unsignedintt){ unsignedinti,j; for(i=0;i<t;i++) for(j=0;j<120;j++);}unsignedcharscan_key(){
参考前面}要求在最右端数码管上显示每个按键的“0-F”字符。#include<reg51.h>unsignedcharcodeseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};unsignedcharkey;voiddelay(unsignedchara){ unsignedchari; while(a--) for(i=120;i>0;i--) ;}unsignedcharscan_key(){
参考前面}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《建筑施工安全讲义》课件
- 自行车配件交易合同
- 服装品牌投资合同
- 暖通设备维修服务协议
- 铁路旅客运输服务铁路旅客运输服务质量规范课件
- 《GB 32438-2015民用燃煤取暖炉安全通 用技术条件》(2025版)深度解析
- 铁路市场营销市场定位的方法课件
- 焦炭塔防腐施工方案
- 中医中的肝教学课件
- 【课件】充分条件与必要条件课件-高一上学期数学人教A版(2019)+必修第一册
- 电商行业10万字PRD
- 2024-2025学年八年级下学期道德与法治期中模拟试卷(一)(统编版含答案解析)
- 防溺水工作布置教师会议上校长讲话:全力防溺水守护学生生命“生命线”
- 湖南省永州市祁阳市茅竹镇中心学校2024-2025学年下学期期中监测八年级下册《物理》试卷(含答案)
- GB/T 26354-2025旅游信息咨询服务
- 交互式影像中叙事与视觉表达的融合及其观众体验研究
- SL631水利水电工程单元工程施工质量验收标准第1部分:土石方工程
- 2025年国家国防科技工业局军工项目审核中心招聘笔试参考题库附带答案详解
- 静疗完整课件
- 2024供电所智能融合仓建设技术规范
- 体育市场营销(第三版)整套课件完整版电子教案课件汇总(最新)
评论
0/150
提交评论