PT2262/2272編解碼器及應(yīng)用在PIC單片機(jī)中干擾的處理源
[導(dǎo)讀]
BTFSSPORTB,VT;判斷VT管腳高低
GOTOKEY_DOWN;為低
BTFSCSYS_FLAG,VT_UP;為高,判斷標(biāo)志位VT_UP是否為低
GOTOUP_UP;為高,進(jìn)入按鍵高處理
BSFSYS_FLAG,GR_UP;為低,設(shè)高干擾標(biāo)志
BTFSCSYS_FLAG,GR_DOWN;是
BTFSSPORTB,VT;判斷VT管腳高低 GOTOKEY_DOWN;為低 BTFSCSYS_FLAG,VT_UP;為高,判斷標(biāo)志位VT_UP是否為低 GOTOUP_UP;為高,進(jìn)入按鍵高處理 BSFSYS_FLAG,GR_UP;為低,設(shè)高干擾標(biāo)志 BTFSCSYS_FLAG,GR_DOWN;是否有低干擾標(biāo)志 CLRFGR_TIME;有則清干擾計(jì)數(shù)器 BTFSSSYS_FLAG,MS10_F;系統(tǒng)是否經(jīng)過10MS, RETURN;未經(jīng)過10MS返回
INCFGR_TIME;對(duì)計(jì)數(shù)器加一 MOVLW.3;判斷是否經(jīng)過30MS SUBWFGR_TIME,W BTFSSSTATUS,C RETURN ;確認(rèn)為上升沿 BCFSYS_FLAG,GR_UP;清高干擾標(biāo)志 CLRFGR_TIME BSFSYS_FLAG,VT_UP;設(shè)置VT_UP高標(biāo)志
;確認(rèn)為高電平, UP_UP:CLRFGR_TIME;清干擾計(jì)數(shù)器
KEY_DOWN:BTFSSSYS_FLAG,VT_UP;判斷VT_UP是否為高 GOTODOWN_DOWN;為低,進(jìn)入低電平處理 BSFSYS_FLAG,GR_DOWN;為高,設(shè)低干擾標(biāo)志 BTFSCSYS_FLAG,GR_UP;判斷是否有高干擾標(biāo)志 CLRFGR_TIME;有則清干擾計(jì)數(shù)器 BTFSSSYS_FLAG,MS10_F;判斷系統(tǒng)是否經(jīng)過10MS RETURN;未經(jīng)過10MS
INCFGR_TIME;干擾計(jì)數(shù)器加一 MOVLW.3 SUBWFGR_TIME;系統(tǒng)是否經(jīng)過30MS BTFSSSTATUS,C RETURN
BCFSYS_FLAG,GR_DOWN;確認(rèn)為下降沿,清低干擾標(biāo)志 CLRFGR_TIME;清干擾計(jì)數(shù)器 BCFSYS_FLAG,VT_UP;清VT_UP標(biāo)志 ;確認(rèn)為低電平 DOWN_DOWN:CLRFGR_TIME;清干擾計(jì)數(shù)器
變量說明: PORTB-----------P16C54C的RB口 VT-----------PT2270的VT引腳 SYS_FLAG-----------系統(tǒng)標(biāo)志位寄存器 VT_UP-----------VT引腳的實(shí)際確認(rèn)狀態(tài) GR_DOWN-----------VT引腳的低電平暫態(tài)標(biāo)志 GR_UP-----------VT引腳的高電平暫態(tài)標(biāo)志 MS10_F-----------系統(tǒng)10MS標(biāo)志 GR_TIME-----------時(shí)間計(jì)數(shù)器





