任务十键盘接口 ppt课件_第1页
任务十键盘接口 ppt课件_第2页
任务十键盘接口 ppt课件_第3页
任务十键盘接口 ppt课件_第4页
任务十键盘接口 ppt课件_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、义务十义务十 键盘接口扩展键盘接口扩展u 义务分析:实现键盘接口扩展义务分析:实现键盘接口扩展u 硬件硬件u独立式键盘与行列式键盘的构造和原理独立式键盘与行列式键盘的构造和原理u 软件软件u独立式键盘查询原理独立式键盘查询原理u 行列式键盘列扫描查询原理行列式键盘列扫描查询原理u 编译、下载、调试编译、下载、调试u 编译软件:编译软件:keilu 下载软件:下载软件:STC-ISP按键及键盘按键及键盘u键盘:由假设干个按键组成的开关矩阵,是实现键盘:由假设干个按键组成的开关矩阵,是实现人机对话或人机通讯的常用工具。人机对话或人机通讯的常用工具。u 根据按键的识别方式分:根据按键的识别方式分:u

2、由硬件识别键的闭合由硬件识别键的闭合编码键盘编码键盘u由软件识别键的闭合由软件识别键的闭合未编码键盘未编码键盘u 按键开关:机械弹性开关,机械开关在闭合及按键开关:机械弹性开关,机械开关在闭合及断开瞬间均伴随有一连串的抖动断开瞬间均伴随有一连串的抖动 ,时间普通为,时间普通为 510ms。按键及键盘按键及键盘键按下闭合稳定前沿抖动后沿抖动释放稳定键释放按键时的抖动按键时的抖动u 消除键抖动可用硬件和软件两种方法消除键抖动可用硬件和软件两种方法u硬件消抖:硬件消抖:RS触发器触发器u软件消抖:延时软件消抖:延时10ms左右再检测左右再检测Vcc+5VVcc+5VAB输出RS触发器消抖电路触发器消

3、抖电路键盘扫描控制方式键盘扫描控制方式u 程序控制方式:键盘处置程序固定在主程序的某个程序程序控制方式:键盘处置程序固定在主程序的某个程序段。段。u特点:对特点:对CPU任务影响小任务影响小u应思索键盘处置程序运转间隔周期不能太长,否那么影应思索键盘处置程序运转间隔周期不能太长,否那么影响对键盘输入呼应的及时性。响对键盘输入呼应的及时性。u 定时控制扫描方式:利用定时定时控制扫描方式:利用定时/计数器每隔一段时间产计数器每隔一段时间产生定时中断,生定时中断,CPU呼应中断后对键盘进展扫描。呼应中断后对键盘进展扫描。u特点:采用定时特点:采用定时/计数器定时控制扫描间隔。计数器定时控制扫描间隔。

4、u定时时间不能太长,否那么影响对键盘输入呼应的及时定时时间不能太长,否那么影响对键盘输入呼应的及时性。性。u 中断控制方式:利用外部中断源,呼应键盘输入信号。中断控制方式:利用外部中断源,呼应键盘输入信号。u特点:能及时处置键盘输入,又能提高特点:能及时处置键盘输入,又能提高CPU运转效率运转效率u要占用一个中断资源。要占用一个中断资源。独立式未编码键盘接口独立式未编码键盘接口u 独立式键盘:各按键相互独立地接通一条输入数据线 。u 查询方式:查询方式:u输入线平常为高电平;输入线平常为高电平;u假设有恣意键按下时,假设有恣意键按下时,输入线为低电平。输入线为低电平。u 优点:电路、编程简优点

5、:电路、编程简单单 u 缺陷:按键较多时,缺陷:按键较多时,占用较多占用较多I/OI/O口线。口线。K0K1K2 例、用查询方式编写独立式按键程序例、用查询方式编写独立式按键程序 # include unsigned char key_value; void main(void) P1=P1|0 x07;/设置设置P1.0-P1.2为输入形为输入形状状while(1) key_value=P1&0 x07;/读读P1.0-P1.2的形状的形状 switch(key_value) case 0 x06: ; break;/K0按下按下case 0 x05: ; break; /K1按下按

6、下case 0 x03: ; break; /K2按下按下 default: ; break; 行列式未编码键盘原理行列式未编码键盘原理未编码未编码4*4行列式键盘行列式键盘K0K1K2K3K4K5K6K7K8K9K1 0K1 1K1 2K1 3K1 4K1 5A8A9A1 0A1 1A1 2A1 3A1 4A1 5行列式键盘列扫描查询原理行列式键盘列扫描查询原理u行列式键盘列扫描查询原理行列式键盘列扫描查询原理u先判别按键所在的行:由先判别按键所在的行:由P2口输出列扫描字口输出列扫描字0 x0F,然后,然后读行线形状到变量读行线形状到变量temp1中。中。u假设有按键按下,那么行输入不全为

7、假设有按键按下,那么行输入不全为1,即不等于,即不等于0 x0F;u假设无按键按下,那么行输入全为假设无按键按下,那么行输入全为1,即等于,即等于0 x0F。u再判别按键所在的列:由再判别按键所在的列:由P2口输出行扫描字口输出行扫描字0 xF0 ,然后,然后读列线形状到变量读列线形状到变量temp2中。中。u将将temp1和和temp2的形状相或得到按键的编码,从而知的形状相或得到按键的编码,从而知道按键的值。道按键的值。# include void mDelay ( unsigned int Delay );sbit LED_CS=P14;/延时子程序:由延时子程序:由Delay参数决议延

8、时时间参数决议延时时间void mDelay(unsigned int Delay) unsigned int i; for(;Delay0;Delay-) for(i=0;i114;i+) ; /按键扫描子程序,有键按下,前往键值按键扫描子程序,有键按下,前往键值00-15;无键按下,前往;无键按下,前往0 xff。unsigned char Matrix_key() unsigned char key, temp1,temp2; key=0 xff;/ 初始化键值初始化键值 P2=0 x0f;/ 输出列扫描字输出列扫描字 if( (P2&0 x0F) !=0 x0f)/ 读行线形状

9、,判别能否有键按下读行线形状,判别能否有键按下 mDelay(10); / 延时消抖延时消抖P2=0 x0f;/ 输出列扫描字输出列扫描字 temp1=P2&0 x0f; / 读行线形状到读行线形状到temp1中中 if( temp1!=0 x0f ) / 有键按下 P2=0 xf0;/ 输出行扫描字 temp2=P2&0 xf0;/ 读列线形状到temp2中 switch( temp1|temp2 ) case 0 xee:key=0; break; case 0 xde:key=1; break; case 0 xbe:key=2; break; case 0 x7e:ke

10、y=3; break; case 0 xed:key=4; break; case 0 xdd:key=5; break; case 0 xbd:key=6; break; case 0 x7d:key=7; break; case 0 xeb:key=8; break; case 0 xdb:key=9; break; case 0 xbb:key=10;break; case 0 x7b:key=11;break; case 0 xe7:key=12;break; case 0 xd7:key=13;break; case 0 xb7:key=14;break; case 0 x77:ke

11、y=15;break; default: key=0 xff; break; else ; return ( key ); /前往键值 void main(void) unsigned char key_value; LED_CS=0; while(1) key_value = Matrix_key(); /调用按键识别子程序调用按键识别子程序 switch(key_value) /根据按键分支根据按键分支 case 0: P0=0 xfe; break; /0号按键,号按键,LED1点亮点亮 case 1: P0=0 xfd; break; /1号按键,号按键,LED2点亮点亮 case 2

12、: P0=0 xfb; break; /2号按键,号按键,LED3点亮点亮 case 3: P0=0 xf7; break; /3号按键,号按键,LED4点亮点亮 case 4: P0=0 xef; break; /4号按键,号按键,LED5点亮点亮 case 5: P0=0 xdf; break; /5号按键,号按键,LED6点亮点亮 case 6: P0=0 xbf; break; /6号按键,号按键,LED7点亮点亮 case 7: P0=0 x7f; break; /7号按键,号按键,LED8点亮点亮 default: break; /无效按键无效按键 1、对实验板上的独立式按键编程,实现以下功能:1按K17,使得LED5点亮。2按K18,使得LED6点亮。K1 7K1 8K1 9K2 0OE11A12A24A36

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论