PT2262/2272编解码器及应用在PIC单片机中干扰的处理源
扫描二维码
随时随地手机看文章
BTFSSPORTB,VT;判断VT管脚高低 GOTOKEY_DOWN;为低 BTFSCSYS_FLAG,VT_UP;为高,判断标志位VT_UP是否为低 GOTOUP_UP;为高,进入按键高处理 BSFSYS_FLAG,GR_UP;为低,设高干扰标志 BTFSCSYS_FLAG,GR_DOWN;是否有低干扰标志 CLRFGR_TIME;有则清干扰计数器 BTFSSSYS_FLAG,MS10_F;系统是否经过10MS, RETURN;未经过10MS返回
INCFGR_TIME;对计数器加一 MOVLW.3;判断是否经过30MS SUBWFGR_TIME,W BTFSSSTATUS,C RETURN ;确认为上升沿 BCFSYS_FLAG,GR_UP;清高干扰标志 CLRFGR_TIME BSFSYS_FLAG,VT_UP;设置VT_UP高标志
;确认为高电平, UP_UP:CLRFGR_TIME;清干扰计数器
KEY_DOWN:BTFSSSYS_FLAG,VT_UP;判断VT_UP是否为高 GOTODOWN_DOWN;为低,进入低电平处理 BSFSYS_FLAG,GR_DOWN;为高,设低干扰标志 BTFSCSYS_FLAG,GR_UP;判断是否有高干扰标志 CLRFGR_TIME;有则清干扰计数器 BTFSSSYS_FLAG,MS10_F;判断系统是否经过10MS RETURN;未经过10MS
INCFGR_TIME;干扰计数器加一 MOVLW.3 SUBWFGR_TIME;系统是否经过30MS BTFSSSTATUS,C RETURN
BCFSYS_FLAG,GR_DOWN;确认为下降沿,清低干扰标志 CLRFGR_TIME;清干扰计数器 BCFSYS_FLAG,VT_UP;清VT_UP标志 ;确认为低电平 DOWN_DOWN:CLRFGR_TIME;清干扰计数器
变量说明: PORTB-----------P16C54C的RB口 VT-----------PT2270的VT引脚 SYS_FLAG-----------系统标志位寄存器 VT_UP-----------VT引脚的实际确认状态 GR_DOWN-----------VT引脚的低电平暂态标志 GR_UP-----------VT引脚的高电平暂态标志 MS10_F-----------系统10MS标志 GR_TIME-----------时间计数器