ВУЗ:
Составители:
280
HOUR никак не скажется, поскольку счетчик временного интервала инкремен-
тируется только при переполнении счетчика минут MIN (рис. 1.21). Поэтому,
чтобы устранить потенциальную ошибку в счете часов, в регистр выбора зна-
чения интервала INTVAL программно записывается число, равное разности
значения (N+1) и нового значения HOUR. Таким образом, если содержимое
HOUR изменяется программно, а не аппаратно от переполнения счетчика ми-
нут MIN, то для нового значения HOUR всегда следует сразу же программно
корректировать значение INTVAL. Коррекция производится по формуле:
INTVAL = (N+1 – HOUR), а для нашего случая – по формуле: INTVAL = (13 –
HOUR). Программное изменение содержимого HOUR в файле tic12.asm имеет
место в трех местах: в блоке обработки прерываний от TIC, при установке на-
чального значения счета времени {12:55:00} до начала основного цикла про-
граммы и при ручной модификации значения часов в блоке обработки нажатий
на кнопку «0». Как можно видеть из программы, во всех этих случаях содер-
жимое регистра INTVAL немедленно подвергается коррекции.
3.9. Использование модуля ЦАП
Использование встроенного модуля ЦАП ADuC824 иллюстрируется де-
монстрационной программой, исходный текст которой содержится в файле
dac.asm (листинг 3.22). Для экспериментов с модулем ЦАП, как и в предыду-
щем случае, требуется макет, содержащий только подключенные к ADuC824
кнопки управления и ЖКИ. Программа генерирует на одном из двух альтерна-
тивных выходов ЦАП ADuC824 (P1.7) последовательность импульсов ступен-
чато возрастающего напряжения, которую можно наблюдать на осциллографе.
Листинг 3.22. Использование встроенного ЦАП
;------------------------------------------------------------------------------
;Демонстрационная программа использования ЦАП ADuC824.
;
;Данные в ЖКИ передаются по 4-битной шине, состояние ЖКИ опрашивается.
;
;На выходе ЦАП P1.7 формируется ступенчато возрастающее напряжение от нуля до
;некоторого верхнего значения. Верхнее значение определяется десятичным числом,
;индицируемым с адреса 0 ОЗУ ЖКИ.
;При нажатии на кнопку 0 производится перебор возможных значений этого числа
;с некоторым шагом.
;
;Прерывания не используются.
;------------------------------------------------------------------------------
$INCLUDE (C:\ADuC\mod824)
$INCLUDE (C:\PR_ADUC\DAC\824.inc)
;-----------------------------------------------------------------------------
;Описание битов, регистров и констант
;-----------------------------------------------------------------------------
;Порты и линии ввода-вывода
PORT_KNOP EQU P0 ;порт кнопок
PORT_IND EQU P2 ;порт индикации
PORT_IND_0 EQU P2_0 ;-----------------------------
Страницы
- « первая
- ‹ предыдущая
- …
- 278
- 279
- 280
- 281
- 282
- …
- следующая ›
- последняя »