Первая программа
для АП1ЫУ15
МИКРОКОНТРОЛЛЕРЫ
и-
-------
Выходные символы
х
отключить таймер
0,02
пуск таймера на 20 мс
.0,50
пуск таймера на 0,5 с
1,00
пуск таймера на 1 с
отключить светодиод
О
включить светодиод
О
изменить яркость светодиода
изменить направление изменения яркости светодиода
Александр Черномырдин
г. Магнитогорск
Написание программ для микрокон-
троллера АТ"Ппу15 заметно отлича-
ется от написания программ для
КР1878ВЕ1. Главные причины этого
- очень небольшая память программ
и довольно ограниченное подмноже-
ство системы команд. Казалось бы,
объем памяти программ АТП пу15
всего
вдвое
м еньш е
объем а
КР1878ВЕ1, но в программировании
вдвое меньший объем программы -
это едва ли не на порядок меньшая
функциональность. Поскольку азы
- - - - - - - - - - - - - - - - - - - - - - - - -
:—
о
программирования были изложены
автором ранее, в предыдущем цик-
ле статей, программирование для
АТПпу15 мы сразу начнем с реали-
зации достаточно сложной задачи.
Итак, имеется устройство по схе-
ме рис. 1. На линию В[2] микроконт-
роллера подсоединена кнопка, а на
линию В[1] - светодиод. Требуется
реализовать на устройстве следую-
щую функциональность:
- нажатие кнопки приводит к зажи-
ганию светодиода, повторное нажатие
кнопки приводит к его погасанию;
- нажатие и удержание кнопки при
горящ ем светодиоде приводит к
плавному увеличению яркости свече-
ния светодиода. Повторное нажатие
и удерж ание кнопки приводит к
уменьшению яркости свечения све-
тодиода;
- двойной щелчок кнопки при по-
гасшем светодиоде приводит к его
миганию. Яркость в режиме мигания
изменять нельзя. Нажатие кнопки в
режиме мигания отключает светодиод.
Фактически на этом примере мы
попытаемся продемонстрировать и
реализацию автомата средствами
АТПпу15, и программирование в сти-
ле "от прерываний”, и виртуальный
таймер.
Прежде, чем начать реализацию
нашего устройства, напомним чита-
телю, почему в данной задаче задей-
ствованы именно эти, а не другие
линии. Линия В[2] на кнопку задей-
ствована потому, что эта и только эта
линия имеет в микроконтроллере
АТПпу15 свое собственное индиви-
дуальное прерывание. В принципе,
кнопку можно было бы подсоединить
Рис. 2
на любую линию порта В, - в микро-
контроллере существует прерывание
по изменению сигнала на любой из
линий порта В, - но в таком случае
нам потребовался бы еще дополни-
тельный анализ в обработчике пре-
рываний. Проще воспользоваться
линией В[2]. Линия же В[1 ], к которой
подключен светодиод, является (при
соответствующей настройке) выход-
ной линией Ш ИМ, которым очень
удобно пользоваться для изменения
яркости свечения светодиода.
Граф переходов автомата, реали-
зующего данную задачу, приведен на
рис. 2. Читателю предлагается ра-
зобраться в нем самостоятельно. Как
и в микроконтроллере КР1878ВЕ1,
любая программа для АТПпу15 начи-
нается с участка инициализации:
Вариант реализации задачи в технике "от прерываний" с применением
автоматного программирования и виртуального таймера.
/
Распределение регистров:
гО - для доступа к автоматной таблице.
г1 - текущее состояние автомата
г2 - терминальный символ.
гЗ - счетчик цикла при работе с автоматной таблицей.
г4 - регистр для сохранения регистра состояния при обработке прерываний.
У
Радиолюбитель - 0 7 /2 0 0 7
предыдущая страница 26 Радиолюбитель 2007-07 читать онлайн следующая страница 28 Радиолюбитель 2007-07 читать онлайн Домой Выключить/включить текст