6188键力度键盘8路AD).docVIP

  • 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后的第一点按下为准

文档评论(0)

1亿VIP精品文档

相关文档