没有合适的资源?快使用搜索试试~ 我知道了~
摘要:介绍了一种新的用于DSP系统中的键盘处理方法。与单片机系统中常用的程序扫描键盘处理方式相比,这种定时-计数的方法能够有效地节约系统开销,且对键盘处理快速可靠。 关键词:键盘处理;数字信号处理器;串行ROM 1 引言 在各种数字控制系统中,大多数都用键盘和LED作为人机交互界面。一般地,键盘分为编码和非编码两种。编码方式的键盘要使用专门的硬件来识别按键,系统比较复杂且占用较多的硬件资源。实际应用中编码方式的键盘使用得越来越少,相应地大多数系统都采用非编码键,并用软件的方式对键盘进行扫描处理。文献 [1]给出了单片机系统中三种软件扫描键盘的方法:(1)程序控制扫描方式;(2)定时
资源详情
资源评论
资源推荐
单片机与单片机与DSP中的中的DSP系统中键盘处理的一种新方法系统中键盘处理的一种新方法
摘要:介绍了一种新的用于DSP系统中的键盘处理方法。与单片机系统中常用的程序扫描键盘处理方式相比,
这种定时-计数的方法能够有效地节约系统开销,且对键盘处理快速可靠。 关键词:键盘处理;数字信号处
理器;串行ROM 1 引言 在各种数字控制系统中,大多数都用键盘和LED作为人机交互界面。一般地,
键盘分为编码和非编码两种。编码方式的键盘要使用专门的硬件来识别按键,系统比较复杂且占用较多的硬件
资源。实际应用中编码方式的键盘使用得越来越少,相应地大多数系统都采用非编码键,并用软件的方式对键
盘进行扫描处理。文献 [1]给出了单片机系统中三种软件扫描键盘的方法:(1)程序控制扫描方式;(2)定时
摘要:介绍了一种新的用于DSP系统中的键盘处理方法。与单片机系统中常用的程序扫描键盘处理方式相比,这种定时-
计数的方法能够有效地节约系统开销,且对键盘处理快速可靠。
关键词:键盘处理;数字信号处理器;串行ROM
1 引言
在各种数字控制系统中,大多数都用键盘和LED作为人机交互界面。一般地,键盘分为编码和非编码两种。编码方式的键
盘要使用专门的硬件来识别按键,系统比较复杂且占用较多的硬件资源。实际应用中编码方式的键盘使用得越来越少,相应地
大多数系统都采用非编码键,并用软件的方式对键盘进行扫描处理。文献 [1]给出了单片机系统中三种软件扫描键盘的方法:
(1)程序控制扫描方式;(2)定时扫描方式;(3)中断扫描方式。(2)和(3)都要占用单片机系统中的资源,故而大多数单片机控制
系统都采用程序控制扫描方式来处理键盘。
近年来,DSP以其高速处理能力、高集成度、资源丰富、应用灵活等优点而在许多领域中得到了越来越广泛的应用。在
数字控制领域目前用得最多的是TI的C2000系列DSP。DSP系统中可以采用程序控制扫描方式对键盘进行处理,但如果沿用单
片机系统中常用的程序控制扫描方式会有很大的不足——失去了DSP控制系统的快速性。本文介绍了DSP系统一种新的程序
控制扫描方式。
2 两种不同的程序扫描方式
我们知道按键在接通与断开的瞬间都会产生抖动,为了避免因干扰信号造成的键盘误处理以及对同一按键的多次处理,都
要进行时间长短不等的延时扫描,一般经过10~30ms的延时后再对键盘进行处理。其流程图如图1所示。在这种程序扫描模
式下,延时去抖动的20ms内程序不能做其它工作。对基于单片机的要求处理速度不高的系统来说这种方法是可以容忍的,但
是对基于DSP的高速处理系统,20ms延时却是一个很大的浪费。下面以图2所示的系统简图为例,介绍一种新的用在DSP系
统中的键盘处理方法,采用此方法可以大大减少程序扫描键盘时的时间,从而为系统其它任务节约时间。
新的键盘处理方式采用定时- 计数的方法来实现。程序流程图如图3示。定时由DSP系统内部定时器来实现。定时时间可
根据实际需要来设定,在此设置为1ms。计数则可通过在RAM区设定计数器变量ct20ms来实现。有时候为了尽量少地设置按
键,而使某些键具有双重功能。也就是说用户正常按某一按键Keyi,程序处理Keyi的第一功能;用户长时间(比如大于1秒)
则处理Keyi的第二功能。例如在我们将Key1设置为ADD键,正常情况下,每按一次所设置的参数加1,如果按ADD键超过1秒
则参数值加10;将Key2设置为停止/清故障标志键,正常情况下按Key2则系统停止运行,按Key2超过1秒则清除系统因故障/保
护而出现的标志位。用图1中程序扫描方法是不能实现单键双重功能的,而采用图3中的定时-计数方法却是能够做到的。
相关变量定义及键盘处理子程序如下:
.include “f240regs.h”
.bss ct20ms,1
.bss ct1sec,1
.bss KeyValue,1
.bss KeyProgAddr,1
flag .set BIT15 ...
.text
; 定时-计数法键盘扫描子程序
KeyRoutine:
LDP #PBDATDIR>>7 ;读IOPB
LACL PBDATDIR
AND #0Fh
LDP #KeyValue
SACL KeyValue ;存键值
XOR #0FH
BCND KeyPressed, NEQ
NoKeyPressed:
SPLK #00h, ct20ms
SPLK #00h, ct1sec
B EndKeyRoutine
KeyPressed:
LDP #ct20ms
BIT ct20ms, flag
BCND Check1sec, TC
weixin_38704156
- 粉丝: 6
- 资源: 910
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0