




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Single Chip Microcomputer第第章章键键盘盘和和显显示示接接口口7.2 7.2 键盘接口键盘接口7.2 键盘接口常见的按键开关弹性按键弹性按键 自锁按键自锁按键拨动开关拨动开关拨码开关拨码开关电源开关电源开关7.2 键盘接口键盘按照接口原理可分为键盘按照接口原理可分为编码键盘编码键盘和和非编码键盘非编码键盘。编码键盘:编码键盘:指键盘上闭合键的识别由专用的硬件编码指键盘上闭合键的识别由专用的硬件编码器实现,来产生键编码号或键值,如计算机键盘。器实现,来产生键编码号或键值,如计算机键盘。非编码键盘:非编码键盘:是指靠软件编程来识别的键盘。是指靠软件编程来识别的键盘。在单片机
2、组成的系统中,用的较多的是在单片机组成的系统中,用的较多的是非编码键盘。非编码键盘。非编码键盘又分为非编码键盘又分为独立式键盘独立式键盘和和矩阵式(行列式矩阵式(行列式)键键盘。盘。7.2 键盘接口键盘接口需要解决的问题1.1.是否有键按下是否有键按下按键识别:按键识别:按键抖动及消除:按键抖动及消除:机械按键抖动时间在机械按键抖动时间在5ms5ms10ms10ms之间之间 软件方案软件方案延时延时10ms10ms20ms20ms后再次判断后再次判断消除方法:消除方法:2.2.求键号求键号7.2 键盘接口独立式按键独立式按键接口电路:7.2 键盘接口例例1 1:用:用P1P1口检测口检测8 8
3、个按键的状态并完成相应的功能个按键的状态并完成相应的功能解:解:键盘检测流程图键盘检测流程图7.2 键盘接口# include void main() P1=0 xff; while(1) while(P1=0 xff); delayms(10); void delayms(unsigned int t)unsigned int i,j;for(i=0;it;i+)for(j=0;j120;j+);7.2 键盘接口 while(P1=0 xff); switch(P1) case 0 xfe:key1();break; case 0 xfd;key2();break; case 0 xfb:k
4、ey3();break; case 0 xf7;key4();break; case 0 xef:key5();break; case 0 xdf;key6();break; case 0 xbf:key7();break; case 0 x7f;key8();break; default: break; while(P1!=0 xff);/等待键释放等待键释放 7.2 键盘接口矩阵式键盘矩阵式键盘 每个按键有它的行值和列值每个按键有它的行值和列值 ,行值和列值的组合就是,行值和列值的组合就是识别这个按键的编码。识别这个按键的编码。7.2 键盘接口矩阵键盘扫描子程序包括以下几个步骤: 1.判别
5、有无键按下; 2.扫描获取闭合键的行、列值,确定哪一个键按下 ; 3.保存闭合键号; 4.确定键的功能是什么 。7.2 键盘接口判断有无键按下判断有无键按下:行线输出,列线行线输出,列线输入。输入。向所有的行线上向所有的行线上输出低电平,再输出低电平,再读入所有的列线读入所有的列线信号。如果列线信号。如果列线电平有变化,说电平有变化,说明有键按下;如明有键按下;如果列线电平没有果列线电平没有变化,说明无键变化,说明无键按下。按下。7.2 键盘接口判断具体的按键判断具体的按键: 逐行送低电平,检查逐行送低电平,检查列线电平的变化。列线电平的变化。 先送第先送第0 0行为行为“0 0”,第第1 1
6、、2 2、3 3行为行为“1 1”,再,再读列状态值,若读入的读列状态值,若读入的列值全为列值全为“1 1”,表示第,表示第0 0行无键按下。若读入的行无键按下。若读入的列值不全为列值不全为“1 1”,表示,表示第第0 0行有键按下,并根据行有键按下,并根据列值判断具体的按键。列值判断具体的按键。再送第再送第1行为行为“0”,第,第0、2、3行为行为“1”,再读列状,再读列状态值,依次类推,直至态值,依次类推,直至4行全部扫描完,再重新行全部扫描完,再重新从第从第0行开始。行开始。7.2 键盘接口unsigned char scan_key( ) P1=0 xf0;if(P1!=0 xf0)
7、delayms(10); if(P1!=0 xf0) P1=0 xfe;switch(P1) case 0 xee:key=0;break; case 0 xde:key=1;break; case 0 xbe:key=2;break; case 0 x7e:key=3;break; 矩阵键盘识别方法矩阵键盘识别方法1 1:扫描法:扫描法 P1=0 xfd;switch(P1) case 0 xed:key=4;break; case 0 xdd:key=5;break; case 0 xbd:key=6;break; case 0 x7d:key=7;break; unsigned char
8、 key;7.2 键盘接口 P1=0 xfb;switch(P1) case 0 xeb:key=8;break; case 0 xdb:key=9;break; case 0 xbb:key=10;break; case 0 x7b:key=11;break; P1=0 xf0; while(P1!=0 xf0) ;/等待按键释放等待按键释放 return(key); P1=0 xf7;switch(P1) case 0 xe7:key=12;break; case 0 xd7:key=13;break; case 0 xb7:key=14;break; case 0 x77:key=15;
9、break; 7.2 键盘接口unsigned char scan_key() /键盘扫描键盘扫描 unsigned char hang,lie; P1=0 x0f; /列线输出低电平列线输出低电平if(P1!=0 x0f)delay(10);if(P1!=0 x0f)switch(P1&0 x0f) /检测行号检测行号case 0 x0e:hang=0;break;case 0 x0d:hang=1;break;case 0 x0b:hang=2;break;case 0 x07:hang=3;break;矩阵键盘识别方法矩阵键盘识别方法2 2:扫描法:扫描法unsigned cha
10、r key;7.2 键盘接口 P1=0 xf0; /行线输出低电平,检测列号行线输出低电平,检测列号 switch(P1&0 xf0)case 0 xe0:lie=0;break;case 0 xd0:lie=1;break;case 0 xb0:lie=2;break;case 0 x70:lie=3;break; P1=0 x0f; while(P1!=0 x0f); /等待按键释放等待按键释放 key=hang*4+lie;return (key);7.2 键盘接口要求按下某个按键时,数码管上显示对应的按键字符要求按下某个按键时,数码管上显示对应的按键字符(“0F”)。)。7.2
11、 键盘接口#includeunsigned char scan_key( );void display(unsigned char i);void delayms(unsigned int t);unsigned char key;unsigned char a=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;void main() while(1) scan_key(); display(key); void display(unsigned cha
12、r i) P2=ai;void delayms(unsigned int t)unsigned int i,j;for(i=0;it;i+)for(j=0;j120;j+);unsigned char scan_key( ) 参考前面参考前面 7.2 键盘接口要求在最右端数码管上显示每个按键的要求在最右端数码管上显示每个按键的“0F”字符。字符。7.2 键盘接口#includeunsigned char code seg=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e ;unsigned char key;void delay(unsigne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业互联网平台雾计算协同机制下的设备互联与协同报告
- 中学STEM教育科创馆项目招标文件
- 教学副校长在全体教师大会上讲话:把“听课”听出味儿来把“教研”教进心里去
- 八年级班会课件 +驶入学习快车道;科学逆袭分化
- 2025年春节期间全球资产表现分析报告
- 巡察中违反财经纪律课件
- 岩石照片课件
- 输电安全知识培训通知课件
- 小麦机收减损安全培训课件
- 输液故障及处理
- FLUENT 15 0流场分析实战指南
- 弱电维护保养合同
- GB/T 41972-2022铸铁件铸造缺陷分类及命名
- YY/T 0471.3-2004接触性创面敷料试验方法 第3部分:阻水性
- GB/T 3871.9-2006农业拖拉机试验规程第9部分:牵引功率试验
- PEP小学英语五年级上册第四单元全国优质课赛课一等奖《思维导图在小学英语复习课的应用》精品课件
- 新闻传播中的媒介素养课件
- 超疏水材料课件
- 中医刮痧法诊疗操作评分标准
- 腧穴定位法课件
- 社会体育导论PTPPT课件讲义
评论
0/150
提交评论