任务十键盘接口.ppt

任务十键盘接口.ppt

ID:48172664

大小:754.50 KB

页数:13页

时间:2020-01-17

任务十键盘接口.ppt_第1页
任务十键盘接口.ppt_第2页
任务十键盘接口.ppt_第3页
任务十键盘接口.ppt_第4页
任务十键盘接口.ppt_第5页
资源描述:

《任务十键盘接口.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、任务十键盘接口扩展任务分析:实现键盘接口扩展硬件独立式键盘与行列式键盘的结构和原理软件独立式键盘查询原理行列式键盘列扫描查询原理编译、下载、调试编译软件:keil下载软件:STC-ISP按键及键盘键盘:由若干个按键组成的开关矩阵,是实现人机对话或人机通信的常用工具。根据按键的识别方式分:由硬件识别键的闭合—编码键盘由软件识别键的闭合—未编码键盘按键开关:机械弹性开关,机械开关在闭合及断开瞬间均伴随有一连串的抖动,时间一般为5~10ms。按键及键盘键按下闭合稳定前沿抖动后沿抖动释放稳定键释放按键时的抖动消除键抖动可用硬件和软件两种方法硬件消抖:RS触发器软件消抖:延时10ms左右再检

2、测Vcc(+5V)Vcc(+5V)AB输出RS触发器消抖电路键盘扫描控制方式程序控制方式:键盘处理程序固定在主程序的某个程序段。特点:对CPU工作影响小应考虑键盘处理程序运行间隔周期不能太长,否则影响对键盘输入响应的及时性。定时控制扫描方式:利用定时/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描。特点:采用定时/计数器定时控制扫描间隔。定时时间不能太长,否则影响对键盘输入响应的及时性。中断控制方式:利用外部中断源,响应键盘输入信号。特点:能及时处理键盘输入,又能提高CPU运行效率要占用一个中断资源。独立式未编码键盘接口独立式键盘:各按键相互独立地接通一条输入数据线

3、。查询方式:输入线平时为高电平;若有任意键按下时,输入线为低电平。优点:电路、编程简单缺点:按键较多时,占用较多I/O口线。K0K1K2例、用查询方式编写独立式按键程序#includeunsignedcharkey_value;voidmain(void){P1=P1

4、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

5、按下default:;break;}}}行列式未编码键盘原理未编码4*4行列式键盘行列式键盘列扫描查询原理行列式键盘列扫描查询原理先判别按键所在的行:由P2口输出列扫描字0x0F,然后读行线状态到变量temp1中。如果有按键按下,则行输入不全为1,即不等于0x0F;如果无按键按下,则行输入全为1,即等于0x0F。再判别按键所在的列:由P2口输出行扫描字0xF0,然后读列线状态到变量temp2中。将temp1和temp2的状态相或得到按键的编码,从而知道按键的值。#includevoidmDelay(unsignedintDelay);sbitLED_CS=P1^4

6、;//延时子程序:由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;/

7、/输出列扫描字temp1=P2&0x0f;//读行线状态到temp1中if(temp1!=0x0f)//有键按下{P2=0xf0;//输出行扫描字temp2=P2&0xf0;//读列线状态到temp2中switch(temp1

8、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;case0

9、xeb: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){

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。