I
РАДИОЛЮБИТЕЛЬ - НАЧИНАЮЩИМ
I
Кратко остановлюсь на том, на кого
рассчитан и как будет построен весь
цикл в целом. Я рассчитываю, что ста-
тьи заинтересуют радиолюбителей,
имеющих достаточный опыт в разра-
ботке цифровых устройств, но ранее
никогда не имевших дела с микроконт-
роллерами (но имевших желание ©).
Думаю, многие разделы будут полез-
ны и тем, кто уже пробовал себя в раз-
работке
микроконтроллерных уст-
ройств, но еще не чувствует себя абсо-
лютно уверенно. Наконец, цикл будет
полезен тем, кто работал с микроконт-
роллерами семейства Р1С, АУИ или
иными, и теперь хочет освоить семей-
ство МС551.
Материал будет преподноситься
без излишнего “академизма”, при лю-
бой возможности рассматриваемые
темы будут сопровождаться примера-
ми, которые можно будет тут же “по-
пробовать”. Чтобы читатель мог зак-
репить теоретические знания, я буду
иногда предлагать небольшие “домаш-
ние задания” - задачи для самостоя-
тельного решения, которые обязатель-
но будут впоследствии разбираться.
Время от времени от вас будут требо-
ваться кое-какие материальные й ин-
теллектуальные затраты,
например,
приобретение микроконтроллера, по-
иск и скачивание необходимых про-
грамм и т.п. Вы должны быть к этому
готовы, необходимые “указания” я буду
давать заранее, чтобы вы успевали
подготовиться.
Глава 1.
Приподнимаем завесу
Ранее я упоминал, что микроконт-
роллер действует по “правилам”, зало-
женным в него разработчиком. Этот
набор правил называется
программой,
т.е. руководством к действию. Програм-
ма подробно описывает все действия,
которые контроллер должен выполнить
в зависимости от полученных входных
сигналов. Приведу некий абстрактный
пример. Пусть мы хотим при помощи
микроконтроллера заставить непре-
рывно мигать светодиод. Это человеку
слово “мигать” все определяет, а вот
микроконтроллеру надо разжевывать
по шагам:
1. Настроить вывод, к которому под-
ключен светодиод, на работу в качестве
выхода.
2.
Изменить уровень сигнала на
противоположный на “светодиодном”
выводе.
3. Подождать определенный интер-
вал времени, например, 0,5 секунды.
4. Перейти к выполнению шага 2.
Вот мы и написали первую “про-
грамму” для микроконтроллера! Легко
видеть, что выполняя эти “руководства
к действию”, мы заставим светодиод
вспыхивать и погасать каждые 0,5 се-
кунды. Однако, микроконтроллеру че-
ловеческие слова неведомы, все эти
команды надо перевести на понятный
ему язык. А понимает микроконтроллер
только язык чисел, то есть любому дей-
ствию, которое он в принципе может вы-
полнить, сопоставляется определенное
число,
код команды,
а наша програм-
ма превращается в последователь-
ность кодов, которые уже понятны мик-
роконтроллеру.
Н ебольш ое отступление.
Д а в-
ным-давно, лет эдак 50 назад
© ,
про-
граммы для тогдашних компьютеров
составлялись именно в
кодах,
люди,
которые все эти коды знали (програм-
мисты) считались полубогами, а напи-
сание программ было чем-то средним
между шаманством и искусством из-
бранных. Сейчас все стало значитель-
но проще: появились специальные про-
граммы, которые понимают некий бо-
лее “человекоподобный’ язык команд
и преобразуют его в коды команд, по-
нятных микроконтроллеру.
Эти про-
граммы называются
компиляторами,
а язы к для них называется
язы ком
программирования.
Языков програм-
мирования известно много, однако мы
ограничимся одним, называемым
ас-
семблером.
Этот язык отличается от
прочих тем, что он наиболее близок ко-
дам команд контроллера, в сущности,
это и есть коды команд, обозначенные
мнемоническими сочетаниями.
Итак, программа для микроконтрол-
лера состоит из кодов команд, которые
он (т.е. микроконтроллер) выполняет
одну за другой. Но только ли из одних
команд состоит программа? Разумеет-
ся, нет. Даже в нашей простейшей про-
грамме мы использовали
константу
(т.е. неизменную величину) в 0,5 се-
кунды. Следовательно, кроме кодов
команд программа должна включать
в себя и константы. Далее мы позна-
комимся и с
переменными,
которые
хранят в себе изменяющиеся по ходу
работы программы значения, а пока что
ограничимся только констатацией фак-
та, что в программе используются кон •
станты и переменные. Разумеется, кон-
станты и переменные не могут нахо-
диться в программе сами по себе, ведь,
как мы уже знаем, контроллер понима-
ет только коды команд! Чтобы контрол-
лер мог каким-либо образом учесть их
наличие, они должны быть составной
частью команды. Вот мы и пришли к
заключению, что команда микроконт-
роллерной программы состоит из кода
команды и нескольких
операндов,
т.е.
констант и(или) перёменных. участву-
ющих в исполнении команды. Кстати,
операндов может и не бьпъ вообще -
все зависит от конкретной команды.
Если вернуться к ранее рассмотрен-
ной программе, то проще всего пред-
ставить себе, что команда соответству-
ет действию (т.е. глаголу), а операнды
- предмету (т.е. существительному).
Попробуем разобраться, что в нашей
программе команды, а что операнды.
Первый шаг. Очевидно, что коман-
дой тут является “настроить”, а операн-
дом будет, например, номер вывода, к
которому подключен светодиод. На вто-
ром шаге тоже все понятно - команда
“изменить уровень на противополож-
ный”, а операнд - все тот же номер вы-
вода. С третьим шагом все и точно так,
и не точно так ©. Дело в том, что если
бы микроконтроллер имел такую ко-
манду “подождать”, то мы без труда оп-
ределились бы и с операндом - кон-
стантой 0,5 секунды. Но ни один из су-
ществующих ныне микроконтроллеров
не имеет такой команды! Однако сей-
час не станем заострять на этом вни-
мание, но запомним этот нюанс, т.к. в
одной из ближайших статей мы будем
рассматривать способ реализации того,
что в микроконтроллере не реализова-
но ©. Наконец, четвертый шаг нашей
программы - вам все понятно? Наде-
юсь, вы догадались, что командой тут
будет “перейти”, а операндом.
.. разу-
меется, номер шага, к которому следу-
ет перейти.
Чтобы завершить с общим принци-
пом составления и выполнения про-
грамм, следует остановиться на том,
как и где эта программа хранится. Вер-
немся к нашим аллегориям, т.е. к срав-
нению микроконтроллера и человека.
-----------------------
-
1
"
I
Радиолюбитель - 0 1
/2 0 0
7
предыдущая страница 47 Радиолюбитель 2007-01 читать онлайн следующая страница 49 Радиолюбитель 2007-01 читать онлайн Домой Выключить/включить текст