ВУЗ:
Составители:
279
MOV R0,#BYTE_0_R ;
MOV R1,#IND_MILL_R ;
LCALL BCD10BCD ;преобр секунд из уп дв-дес в неуп дес
MOV DATA_IND_R,IND_DES_R ;
MOV ADR_IND_R,#6 ;
LCALL Pod_PER_DAT_LCD ; индикация десятков секунд
MOV DATA_IND_R,IND_ED_R ;
MOV ADR_IND_R,#7 ;
LCALL Pod_PER_DAT_LCD ; индикация единиц секунд
LJMP La_OSN ;закрыть основной цикл
;Подпрограммы------------------------------------------------------------------
;-----------------------------------------------------------------------------
;Подпрограмма инициализации РСН.
;-----------------------------------------------------------------------------
Pod_INIT_RSN:
MOV PORT_KNOP,#11111111b ;сделать вх все линии порта кн
MOV PORT_IND,#00000000b ;сделать вых все линии порта индик
;Блок настройки модуля TIC
MOV TIMECON,#00110011b ;базовый интервал - часы, многократно
;генерировать интервал, разрешить счет
;разрешить счетчик врем интервала
MOV IEIP2,#01000100b ;разреш прерыв от TIC и уст им высокий
;приоритет
RET
;------------------------------------------------------------------------------
;Подпрограмма инициализации РОНов. Обнуляются все РОНы с адресами
;от NACH_ADR до KON_ADR при помощи косвенной адресации.
;------------------------------------------------------------------------------
Pod_INIT_RON:
MOV R0,#NACH_ADR ;установка начального адреса
Lk_0: MOV @R0,#0 ;обнуление очередного РОНа
INC R0 ;переход к следующему адресу
CJNE R0,#KON_ADR,Lk_0 ;не достигли ли последнего адреса ?
MOV @R0,#0 ;обнуление последнего РОНа
RET ;да, выход
;Подключение модулей опроса кнопок, вывода данных на ЖКИ (с опросом ЖКИ)
;и преобразования представления чисел
$INCLUDE (C:\PR_ADUC\TIC12\knop.asm)
$INCLUDE (C:\PR_ADUC\TIC12\lcd_opr.asm)
$INCLUDE (C:\PR_ADUC\TIC12\preobr.asm)
;Конец исполняемого кода
END
В этой программе для организации счета используется прерывание от TIC
по совпадению содержимого счетчика часов HOUR с содержимым специально-
го регистра выбора значения интервала INTVAL. При написании и отладке
программ, подобных этой, необходимо учитывать следующий важный момент.
Число разрешенных состояний N, принимаемых счетчиком часов HOUR в на-
шем случае (при 12-часовом отсчете времени) равно 12. При HOUR=13 должно
генерироваться прерывание, в блоке обработки которого в регистр HOUR про-
граммно записывается значение 1 (наименьшее разрешенное состояние), после
чего начинается новый аппаратный цикл счета времени. Однако на текущем со-
стоянии 8-разрядного счетчика временного интервала программное изменение
Страницы
- « первая
- ‹ предыдущая
- …
- 277
- 278
- 279
- 280
- 281
- …
- следующая ›
- последняя »
