版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在单片机应用系统设计中,人机界面部分的友好程度,很大一部分取决于键盘处理程序。在按键时按得快了没有反应,按慢了一连响应几次,总给人紧迫感或迟钝感,不能使人满意。用以下思路设计的键处理程序取得了满意效果。 判断有没有键值: 1.若有键值: 判断是否为首次按下: A:若首次按下:判断是否与上次按下的键值相同 a.若相同再判断:是否已经按下了300ms?
2、 1).若已经按下300ms则将此键做为连键处理。 2).若不是连键则判断:是否按下20ms? 1>.若确认按下20ms,得到有效键值等待弹起
3、0; 2>. 若不是按下20ms直接结束处理(ret)。 b.若不相同则将标志清零结束处理(ret)。 B:若不是首次按下:将键值暂存起来,标志置位结束处理。 2.若无键值: 判断是否有键值已被确认 A.若有键已被确认:判断按键是否首次抬起
4、160; a.若首次抬起:判断抬起延时时间(20ms)是否到达 1>.若延时到则将标志处理结束处理。 2>.若延时未到直接结束处理(ret)。 b.若非首次抬起:直接结束处理(ret)。
5、60; B.若没有键被确认:直接结束处理(ret)。 具体程序实现流程图如下:(所有延时均为非阻塞式延时) Lcll scan_key-为调用键扫描程序; 简单的按键处理程序见:在嵌入程序设计中,键处理程序在一定程度上决定着人机对话界面的友好程度。WINDOWS是公认的界面友好的典范,我们就借鉴WIN
6、DOWS的键处理的思想:1. 当击键时WINDOWS立即作出响应;2. 当按住键不放时,WINDOWS延迟一定时间来判断是否为连键;其间不作响应;3. 当认为是连键时,会间隔一定时间重复作出响应;(可以打开记事本,敲个h键试验:瞬时敲击,即可出现h,再按着键不放,无h出现,当延迟一定时间h,就以较快速度出现;)在C8051F020和DSP编程中运用上述的思想所编的键处理程序非常简捷
7、、高效和友好,以下为该程序的流程图: 根据该流程的51系列单片机程序和DSP程序:1、C8051F020单片机程序如下:;=; function: key_filter ;键盘去抖程序-徐丽红; input: a; output: key.bsure usage: a,b =key_filter: 键盘去抖程序
8、0; lcall scan_key jz kf_no ;a=0? jb
9、160; bfirst, kf_1th ;first down? mov b, a mov a, k_dly
10、60; jnz kf_ret ;20ms到了吗? mov a, b ;20ms到
11、60; cjne a, key_tmp,kf_no a=k_tmp? mov k_dly, #10 ;a=k_tmp dec
12、 dly_k jnb bfast, kf_nofast 是连键吗?kf_is0: mov a, dly_k 是连键
13、jnz kf_ret 300ms/160ms? mov dly_k, #12 ;fast OK!
14、160; sjmp kf_ftokkf_nofast: mov a, dly_k 不是连键 cjne a, #24, kf_
15、is0 延时了1次吗?kf_ftok: mov key, key_tmp ;first OK! setb bkey_do
16、160; setb bfastkf_ret: retkf_1th: mov k_dly, #10 ;first down mov key_tmp, a
17、 mov dly_k, #25 clr bfirst clr bfast ret2、L
18、F2407型DSP程序如下:;-;function:judge_key键值判断;input:-;output:-;usege:ACC;-judge_key:;键值判断 ldp#PEDATDIR>>7 laclPEDATDIRcmpland#00110110b ldp#DP_B01saclkey_tmp bcndk_down,NEQ;CATCH KEY?ldp#DP_B01splk#00h,bknot1retk_down:laclbknot1bcndnot_first,NEQ;first? laclkey_tmpsaclkey_oksplk#04,key_clksplk#50,key_dlysplk#11h,bknot1splk#00h,bksuresplk#00h,bcontinueret not_first:laclkey_clk;N timesbcndT_over,EQ;12ms?retT_over:laclkey_ok;12msxorkey_tmpbcndIs_same,EQ;same key?splk#00h,bknot1retIs_same:splk#4,key_clklaclbcontinuebcndIs_fast,NEQ;continue?OK_key:splk#11
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【3年高考2年模拟】2024高考地理二轮高频考点:第二练-地球运动规律
- 隋唐制度的变化与创新课件 2024-2025学年高一上学期统编版(2019)必修中外历史纲要上
- 新解读《GB 51079-2016城市防洪规划规范 》
- 天津市南开区2023-2024学年高二下学期7月期末考试语文试题(解析版)
- 质量和环保保证协议
- 2024年职业技能(生态环境监测)专业技术员知识考试题库与答案
- 人力资源政策对女性就业影响的研究
- 股权激励机制在高新技术企业中的应用
- 江苏省南通市海门市2024年中考五模数学试题含解析
- unit4(进阶作业)2024-2025学年六年级上册 英语 人教版
- 《心系国防 强国有我》 课件-2024-2025学年高一上学期开学第一课国防教育主题班会
- 第3课+追求人生理想+第一框+第3目【中职专用】2024-2025学年中职思想政治《哲学与人生》(高教版2023基础模块)
- 第一章第三节 地球的运动课件 2024-2025学年(2024)人教版地理七年级上册
- 2024年公益性岗位考试真题及答案解析分享
- 新北师大版七年级上册数学全册教学课件(2024年秋季新版教材)
- 2024年联通网络运营及线务运维技能竞赛考试题库-上(单选题)
- 咸阳市县级地图可编辑矢量行政区划(陕西省)
- 2024年网络安全技能竞赛(CTF)考试题库600题(含答案)
- 2024年珠海市香洲区招考社会管理协管员(高频重点提升专题训练)共500题附带答案详解
- 马术俱乐部卫生与会员安全
- 城市商业综合体运营管理方案
评论
0/150
提交评论