ВУЗ:
Составители:
164
ACALL Pod_NNAG_KNOP ;действия в случае ненажатой кнопки
RET ;
Jj_2: ACALL Pod_NAG_KNOP ;действия в случае нажатой кнопки
RET
;---------------------------------------------------------------------------
;Подпрограмма опроса кнопки 3.
;---------------------------------------------------------------------------
Pod_OPR_KNOP3:
JNB _IN_KNOP3,Jj_3 ;
ACALL Pod_NNAG_KNOP ;действия в случае ненажатой кнопки
RET ;
Jj_3: ACALL Pod_NAG_KNOP ;действия в случае нажатой кнопки
RET
;---------------------------------------------------------------------------
;Подпрограмма опроса кнопки 4.
;---------------------------------------------------------------------------
Pod_OPR_KNOP4:
JNB _IN_KNOP4,Jj_4 ;
ACALL Pod_NNAG_KNOP ;действия в случае ненажатой кнопки
RET ;
Jj_4: ACALL Pod_NAG_KNOP ;действия в случае нажатой кнопки
RET
;---------------------------------------------------------------------------
;Подпрограмма опроса кнопки 5.
;---------------------------------------------------------------------------
Pod_OPR_KNOP5:
JNB _IN_KNOP5,Jj_5 ;
ACALL Pod_NNAG_KNOP ;действия в случае ненажатой кнопки
RET ;
Jj_5: ACALL Pod_NAG_KNOP ;действия в случае нажатой кнопки
RET
;---------------------------------------------------------------------------
;Подпрограмма производимых действий в случае ненажатой кнопки.
;---------------------------------------------------------------------------
Pod_NNAG_KNOP:
MOV @R1,#0 ;обнуление регистра накопления кнопки
MOV ACC,@R0 ;------------------------------
CLR ACC_0 ; сброс флага удержания кнопки
MOV @R0,ACC ;------------------------------
RET
;---------------------------------------------------------------------------
;Подпрограмма производимых действий в случае нажатой кнопки.
;---------------------------------------------------------------------------
Pod_NAG_KNOP:
CJNE @R1,#POROG_K,Jj_30 ;не накоплено ли знач подавл дреб ?
MOV ACC,@R0 ;накоплено
JB ACC_0,Jj_20 ;флаг удержания установлен ?
SETB ACC_0 ;нет, уст флаг удержания
SETB ACC_1 ; уст флаг нажатия
MOV @R0,ACC ;
Jj_20: RET ;да
Jj_30: INC @R1 ;не накоплено, копить дальше
RET
Программа позволяет определить моменты нажатия и отпускания одной
кнопки управления и при этом производит фильтрацию импульсов «дребезга»
контактов. Для одной кнопки требуются следующие ресурсы микроконтролле-
ра: один регистр общего назначения, назовем его регистром накопления интер-
вала подавления «дребезга», и два флага (бита общего назначения), назовем их
Страницы
- « первая
- ‹ предыдущая
- …
- 162
- 163
- 164
- 165
- 166
- …
- следующая ›
- последняя »
