- 6
- 0
- 约2.15千字
- 约 3页
- 2019-07-06 发布于湖北
- 举报
61/88键力度键盘(8路A/D)
计时精度:键盘0.2ms,A/D转换每次0.6ms,每路4.8ms(每路采样208次/秒)
复位时间:大于等于2秒。
数据接口:
共18位数据,高7位为键值,低11位为数据。
数据说明:
事件
键值
数据
按键按下
15H-6CH(88Key)
24H-60H(61Key)
1-2047
按键放开
15H-6CH(88Key)
24H-60H(61Key)
0
(用是否为零来判断是放开还是按下)
AD转换
0-7
0-255
(必须屏蔽掉11位数据的高三位)
61键的注意事项:
作为88键使用时键值可以直接用来发音。而作为61键使用时因为PCB制版的原因,连线与原理图并不相同,因而实际使用时在同一组内的键(即键值的低3位)需要进行如下转换(A/D转换键值的除外)
0 ? 7, 1? 6, 2?5, 3?4, 4?3, 5?2, 6?1, 7?0
通信步骤(右图为硬件接口):
1.力度片通过INT向主机发出中断请求
2.主机在中断响应中接收数据(延时一个机器周期等待数据准备为好)。
3.主机将COM口置反以标志已收数完成。
以上三步可以送出一次数据(3bit)。
注:大约100ms还不能送出一次数据,则力度程序自动reset,
重新计算按键/时间和重新送数据。
** INT和DATA在46R24是复用1个脚,是利用对方主机上升沿不触发,下降沿触发的原理。但这样也要求主机在得到中断信号后,等一会(46R24的1个nop)再取数才能精确取到数据.
A/D通道选择方法
A/D的输入线与力度片的写线可以通过8个跳线相连,如果接上则此通道被禁止A/D输出,否则被允许输出。
注意:在禁止输出时请不要接上Pitch,否则力度片无法工作。
** 如果TMR1没有接上write, 则AD0的输出不是真实的AD数,而是模拟处理pitch轮
误差的pitch数以方便主程序的处理
如果TMR1接上任何的write, 则AD0同其它AD一样是真实的AD数
键盘处理算法
力度键盘是测试两个接触点接触的时间差。因为两个接触点的橡胶厚度不一样(如图),在按下时会造成一定的时间差,计算出这个时间差就可以了。而且要实现消抖和成对取消(如果在这个键在按下时发现此键上一次放键事件还没有送出,则两次事件都取消,放开类似)功能。
实际处理中不一定会得到厚的先按下(扫描时虽然很快但还是有先后的,如果在扫描厚的点时两个点都没有按下,但是在扫描薄的点前两者都按下去了),另外考虑到硬件设计时的方便,要做成两个点不分先后。方法有多种,这儿用的是状态位的方法,每个键的两个点另加一个状态位。
对于每个点来说,流程图如下:
用这个算法同时完成了消抖。在第二个点按下之前第一个点的按下放开不会产生按放键事件,同样在两个点都下之后,第二个点的按下放开也不会产生按下放开事件。
但有些细节需要说明:
1.分支2必须判断当前键盘状态,处于放开时(表明当前是第一个点按下)才能保存时间,否则不得保存。
2.分支1处理中如果发现此键有事件等待发送,就只需要清除发送标志(成对取消),无需进行处理。否则需要将当前时间与分支2中保存的时间进行减法。必须判断得出的时间差是否为0,为0必须改成1。如果时间超过7FF,则改成7FF。
﹡不考虑计数器循环而可能造成的计时错误。
3.分支3,4比较简单。只需要注意分支3中的成对取消功能的实现。 -- ZF写
1.分支1”点按下”:按键第1点状态(POINT_HAS_SAVED_SAVE,用于抖动处理的,从t0(见2)计算的每30ms就清除掉,见4)设置为0,按/放事件(KEY_SEND_UP_DOWN:放开为1按下为0 )为0(程序可优化放在这儿);如果发现此键有需要发送标志(NEED_SEND_STATUS_SAVE),就只需要清除发送标志(成对取消),无需其它处理;否则设置发送标志为1,再需要将当前时间与分支2中保存的时间t0进行减法。必须判断得出的时间差是否为0,为0必须改成1。如果时间超过7FF,则改成7FF。(不考虑计数器循环而可能造成的计时错误)
2.分支2”记录时间”: 有需要发送标志,则退出(上次没发完),不记录时间;如没有,则判断当前按键第1点状态,如果为1则表示处于抖动状态,不需要保存时间t0;否则设置按键第1点状态为1,而且保存初始时间t0。
3.分支4:按键第1点状态设置为0,设置按/放事件为1(程序可优化放在这儿);如果发现此键有需要发送标志,则清除此标志(成对取消);否则设置发送标志。
4. 第一点按下消抖延时(按键第1点状态处理):在第一点按下后,第二点按下前如果发生抖动,30ms内以第一次时间为准,30ms后则以30ms后的第一点按下为准
您可能关注的文档
最近下载
- 2025年无人机驾驶员执照固定翼无人机失速特性专题试卷及解析.pdf VIP
- 2025年无人机驾驶员执照短距起飞与短距着陆技术专题试卷及解析.pdf VIP
- 2025年拍卖师线上红酒拍卖的运营与品鉴展示技巧专题试卷及解析.pdf VIP
- 2025年特许金融分析师气候风险衍生品概述与应用专题试卷及解析.pdf VIP
- 2025年金融风险管理师市场流动性风险计量专题试卷及解析.pdf VIP
- 劳务派遣的现状、问题与对策.doc VIP
- 2025年金融风险管理师数字货币期货对冲策略专题试卷及解析.pdf VIP
- 2025年高考真题分类汇编专题09化学反应速率与化学平衡(含解析).docx VIP
- 全国行政区划(至乡镇村街道社区)数据库.xls VIP
- 部编版二年级下册语文【全册全套】课件.pptx VIP
原创力文档

文档评论(0)