МИКРОКОНТРОЛЛЕРЫ
Константы программы.
tablel:
; Картинки нечетных
.db
_0L, _1L, _2
_MINUSL, _GRADL, _BLANKL, 0
table2:
; Картинки четных зи
• db
_0H, _1Н, _2
_MINUSH, _GRADH, _BLANKH, 0
Автоматные таблицы.
t
orButton:
; Автоматная
• db
0+BUTTON_PRESSED,
■ db
l+BUTTON_RELEASED, 0
.db
1+TIMEOUT, 2, BUTTON
• db
2+TIMEOUT, 3, BUTTON
.db
3+TIMEOUT, 3, BUTTON
.db
3+BUTTON_RELEASED, 4
.db
2+BUTTON_RELEASED, 4
.db
4+BUTTON_RELEASED, 5
• db
5+BUTTON_PRESSED, 4,
.db
4+TIMEOUT, 6, BUTTON
.db
6+TIMEOUT, 0, BUTTON
■ db
6+BUTTON_PRESSED, 7,
.db
7+BUTTON_RELEASED, 6
■ db
7+TIMEOUT, 8, BUTTON.
■ db
8+BUTTON_RELEASED, 9
.db
9+BUTTON_PRESSED,
.db
9+TIMEOUT, 0, BUTTON
BUTTON_START_DTl, о
TON STOP DT, 0
8, BUTTON_STOP_DT+BUTTON_START_DT1,
TOP_DT+BUTTON OFF,
0
0
0
0
forMain:
Автоматная таблица устройства.
.db
0+BUTTON_PRESSED,
1, 0, EXEC_T
• db
1+BUTTON_RELEASED, 2, 0, EXEC_T02
• db
2+BUTTON_RELEASED,
1,
0, EXEC_T01
.db
l+BUTTON_REPEATED, 1, 0, EXEC_INC1
• db
2+BUTTON_REPEATED, 2, 0, EXEC_INC2
.db
1+BUTTON_DBLCLICKED, 0, EXEC_SAVE,
.db
2+BUTTON_DBLCLICKED, 0, EXEC_SAVE,
Назначение этих констант вполне рчевидно - это две таблицы перекодировки данных в семисегментный код и две автомат-
ных таблицы. Обратите внимание - под программы выхода отведен не один байт, как обычно, а два. Это - плата за тот способ
обработки выходных символов, который мы приняли при'работе автомата.
Вот, собственно, и все. Как видите, при аккуратном программировании и знании типовых приемов реализации тех или иных
задач, разработка даже достаточно серьезных программ не является слишком уж сложным занятием.
ПОДВЕДЕМ ИТОГ
Первое, что необходимо отметить - видимо, проект такого ■
уровня, который мы только что рассмотрели, и является “по-
толком” для микроконтроллеров серии АГПпу. Безусловно, ■
ограничение на 512 слов памяти программ является, пожалуй,
самым критичным при работе с данным контроллером. Дело в
том, что в большинстве программ, разрабатываемых для мик-
роконтроллеров, весьма большой “кусок” занимает набор слу-
жебных подпрограмм. Это - те “кирпичики”, из которых затем
будет складываться готовая система. Соединять кирпичики
вместе - задача несравненно более простая, чем изготовле-
ние самих кирпичей. Поэтому, после того как набор этих кир-
пичей реализован, расширение функциональных возможнос-
тей программы происходит со значительно меньшими затра-
тами программного кода. Увеличенная всего лишь вдвое па-
мять программ переводит микроконтроллер КР1878ВЕ1 из раз-
ряда “легких” в разряд вполне “средних” микроконтроллеров,
несмотря на гораздо более “бедную” периферию. Поэтому при
2S
У
Радиолюбитель - 1
2 /2 0 0 7
предыдущая страница 28 Радиолюбитель 2007-12 читать онлайн следующая страница 30 Радиолюбитель 2007-12 читать онлайн Домой Выключить/включить текст