英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 5308|回复: 2
打印 上一主题 下一主题

16f88x 电容触摸跟踪程序

[复制链接]
跳转到指定楼层
1#
发表于 2012-8-21 17:56:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
;AVEH/L 16次滑动平均数值. CAPH/L  当前的timer1数值   TRIPH/L 差值
;减法结果程序  SOUH,SOU
;BUTTON 前三位是触摸开关标志位 高三位是检测通道选择位 从左到有依次为123
;BUTTON  某为为1 则为此通道检测 此通道按下
;RAW<  AVE-TRIP   
;BUTTON,4为SQU16运算正负位 1为负  0为正
;F1/2/3 分别为16运算临时RAM
;;检验跟踪是否正确。将手指 非常慢的靠近开关,一直到完全紧密接触
;都没有检测到按下动作证明跟踪程序起到了作用!



SQU16:
       ;滑动平均数值的求取 (AVE*16-AVE)/16+CAP/16=AVE  滑动跟踪
       ;[16AVE+(CAP-AVE)]/16=AVE+(CAP/16-AVE/16)  F1<F2<F3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         MOVF        CAPH,W
         MOVWF       F3
         MOVF        CAPL,W
         MOVWF       F2    ;FX-AVE=CAP-AVE正负号为BUTTON,4 1为负 0为正
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         MOVF        AVEL,W
         SUBWF       F2,F
         MOVF        AVEH,W
         BTFSS       STATUS,C
         INCFSZ      AVEH,W
         SUBWF       F3,F
         BTFSC       STATUS,C
         GOTO        $+5
         BSF         BUTTON,4
         COMF        F3,F
         COMF        F2,F
         GOTO        $+2
         BCF         BUTTON,4
         NOP
         NOP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;以上的是减法运算CAP-AVE 运算结果在F3/F2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;下面是将结果FX/16然后和AVE做加减
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         BCF        STATUS,C
         RRF        F2,F
         BCF        STATUS,C
         RRF        F2,F
         BCF        STATUS,C
         RRF        F2,F
         BCF        STATUS,C
         RRF        F2,F
         MOVLW      0X0F
         ANDWF      F3,W;屏蔽高四位
         MOVWF      F1  ;将低四位保存在F1中
         SWAPF      F1,W ;低四位半成高四位
         IORWF      F2,F ;顺利完成 F3的低四位转移到F2的高四位
         MOVLW      0XF0;屏蔽F3的低四位
         ANDWF      F3,F
         SWAPF      F3,F;将F3的高四位移到低四位中
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;这里就完成了双字节的/16的运算.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;下面进行和AVE加减发运算         
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         BTFSS     BUTTON,4
         GOTO      AVJ    ;转道加法运算AV+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;FX结果为负  减法运算AVE-FX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
AFJJ:
         MOVF        F2,W
         SUBWF       AVEL,F
         MOVF        F3,W
         BTFSS       STATUS,C
         INCFSZ      F3,W
         SUBWF       AVEH,F
         RETURN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;结果为正  进行AVE+FX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
AVJ:     
          MOVF        F2,W
          ADDWF       AVEL,F
          MOVF        F3,W
          BTFSC       STATUS,C
          INCFSZ      F3,W
          ADDWF       AVEH,F
          RETURN
;到此完成AVE跟踪

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-12-24 20:51 , Processed in 0.057141 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表