任务十键盘接口优秀

上传人:沈*** 文档编号:126626372 上传时间:2022-07-28 格式:PPT 页数:14 大小:164.50KB
返回 下载 相关 举报
任务十键盘接口优秀_第1页
第1页 / 共14页
任务十键盘接口优秀_第2页
第2页 / 共14页
任务十键盘接口优秀_第3页
第3页 / 共14页
点击查看更多>>
资源描述
任务十键盘接口优秀任务十任务十 键盘接口扩展键盘接口扩展u 任务分析:实现任务分析:实现键盘接口键盘接口扩展扩展u 硬件硬件独立式独立式键盘与键盘与行列式行列式键盘键盘的的结构和原理结构和原理u 软件软件独立式键盘独立式键盘原理原理 行列式键盘行列式键盘列扫描查询列扫描查询原理原理u 编译、下载、调试编译、下载、调试 编译软件:编译软件:keilkeil 下载软件:下载软件:STC-ISPSTC-ISP任务十键盘接口优秀按键及键盘按键及键盘u键盘:由若干个键盘:由若干个按键按键组成的组成的开关矩阵开关矩阵,是实现人,是实现人机对话或人机通信的常用工具。机对话或人机通信的常用工具。u 根据按键的识别方式分:根据按键的识别方式分:由由硬件硬件识别键的闭合识别键的闭合编码键盘编码键盘由由软件软件识别键的闭合识别键的闭合未编码键盘未编码键盘u 按键开关:机械弹性开关,机械开关在闭合及按键开关:机械弹性开关,机械开关在闭合及断开瞬间均伴随有一连串的断开瞬间均伴随有一连串的抖动抖动,时间一般为,时间一般为 510ms。任务十键盘接口优秀按键及键盘按键及键盘键按下闭合稳定前沿抖动后沿抖动释放稳定键释放按键时的抖动按键时的抖动u 消除键抖动可用消除键抖动可用硬件硬件和和软件软件两种方法两种方法硬件硬件消抖:消抖:RS触发器触发器软件软件消抖:消抖:延时延时10ms左右再左右再检测检测Vcc(+5V)Vcc(+5V)AB输出RS触发器消抖电路触发器消抖电路任务十键盘接口优秀键盘扫描控制方式键盘扫描控制方式u 程序控制方式程序控制方式:键盘处理程序固定在主程序的某个程序:键盘处理程序固定在主程序的某个程序段。段。特点:对特点:对CPU工作影响小工作影响小应考虑键盘处理程序运行间隔周期不能太长,否则影响对键盘输应考虑键盘处理程序运行间隔周期不能太长,否则影响对键盘输入响应的及时性。入响应的及时性。u 定时控制扫描方式定时控制扫描方式:利用定时:利用定时/计数器每隔一段时间产计数器每隔一段时间产生定时中断,生定时中断,CPU响应中断后对键盘进行扫描。响应中断后对键盘进行扫描。特点:采用定时特点:采用定时/计数器定时控制扫描间隔。计数器定时控制扫描间隔。定时时间不能太长,否则影响对键盘输入响应的及时性。定时时间不能太长,否则影响对键盘输入响应的及时性。u 中断控制方式中断控制方式:利用外部中断源,响应键盘输入信号。:利用外部中断源,响应键盘输入信号。特点:能及时处理键盘输入,又能提高特点:能及时处理键盘输入,又能提高CPU运行效率运行效率要占用一个中断资源。要占用一个中断资源。任务十键盘接口优秀独立式未编码键盘接口独立式未编码键盘接口u 独立式独立式键盘:各按键键盘:各按键相互独立相互独立地接通一条地接通一条输入输入数据线数据线。u 查询查询方式:方式:输入线平时为输入线平时为高电平高电平;若有任意若有任意键按下键按下时,输时,输入线为入线为低电平低电平。u 优点:电路、编程优点:电路、编程简单简单 u 缺点:按键较多时,占缺点:按键较多时,占用用较多较多I/OI/O口线。口线。K0K1K2任务十键盘接口优秀 例、用查询方式编写独立式按键程序例、用查询方式编写独立式按键程序#include#include unsigned char key_value;unsigned char key_value;void main(void)void main(void)P1=P1|0 x07;P1=P1|0 x07;/设置设置P1.0-P1.2P1.0-P1.2为输入状态为输入状态while(1)while(1)key_value=P1&0 x07;key_value=P1&0 x07;/读读P1.0-P1.2P1.0-P1.2的状态的状态 switch(key_value)switch(key_value)case 0 x06:case 0 x06:;break;break;/K0/K0按下按下case 0 x05:case 0 x05:;break;break;/K1/K1按下按下case 0 x03:case 0 x03:;break;break;/K2/K2按下按下 default:;break;任务十键盘接口优秀行列式未编码键盘原理行列式未编码键盘原理未编码未编码4*4行列式键盘行列式键盘K0K1K2K3K4K5K6K7K8K9K1 0K1 1K1 2K1 3K1 4K1 5A8A9A1 0A1 1A1 2A1 3A1 4A1 5任务十键盘接口优秀行列式键盘行列式键盘列扫描查询原理列扫描查询原理u行列式行列式键盘键盘列扫描查询列扫描查询原理原理先判别先判别按键所在的行按键所在的行:由:由P P2口输出口输出列列扫描字扫描字0 x0F0 x0F,然后,然后读读行线状态行线状态到变量到变量temp1temp1中。中。如果如果有按键按下有按键按下,则行输入,则行输入不全为不全为1 1,即不等于,即不等于0 x0F0 x0F;如果如果无按键无按键按下,则行输入按下,则行输入全为全为1 1,即等于,即等于0 x0F0 x0F。再判别再判别按键所在的列按键所在的列:由:由P P2口输出口输出行扫描字行扫描字0 xF0 0 xF0,然,然后读后读列线状态列线状态到变量到变量temp2temp2中。中。将将temp1temp1和和temp2temp2的状态的状态相或相或得到按键的编码,从而知道得到按键的编码,从而知道按键的值。按键的值。任务十键盘接口优秀#include void mDelay(unsigned int Delay);sbit LED_CS=P14;/延时子程序:由延时子程序:由Delay参数决定延时时间参数决定延时时间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)/读行线状态,判断是否有键按下读行线状态,判断是否有键按下 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:key=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:key=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: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 0OE11A12A24A36A48Y412Y314Y216Y118Y53Y65Y77Y89GND10A811A713A615A517OE219VC C20U1 074F24 4PCA1 3RD123U1 1A74F32 PCD0D1D2D3D4D5D6D7VC C任务十键盘接口优秀2、对实验板上的行列式按键编程,实现以下功能:(1)按K0,使得数码管显示00;(2)按K1,使得数码管显示01;.;(16)按K15,使得数码管显示15。任务十键盘接口优秀
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!