\
МИКРОКОНТРОЛЛЕРЫ
I
Главная их особенность - их имена известны только
в области, ограниченной “настоящими” метками. Метка
$1 за labeH и метка $1 за Iabel2 -
совершенно разные
метки, хотя их имена и совпадают. Поэтому команда jmp
$1 передаст управление на метку $1 в области за labeH,
а не в области за Iabel2. Более того - команда jmp $3
вообще вызовет
ошибку
компиляции, потому что в об-
ласти за labeH такой метки нет, а то, что она определе-
на в области за Iabel2, не играет в данном случае ника-
кой роли. Локальными метками удобно пользоваться в
том случае, если кусок программы с метками имеет раз-
мер примерно около страницы экрана.
Итак, программа написана! Сохраните ее на диск под
именем first.mic (лучше всего сохранить нашу програм-
му в тот же директорий, где находится комплятор
tessa.exe). Теперь ее необходимо
откомпилировать,
т.е.
перевести с языка ассемблера в
двоичный код,
при-
годный для записи в ПЗУ микроконтроллера. Для этого
из командной строки Windows (лучше всего, если у вас
на компьютере установлен какой-нибудь “нормальный”
файловый менеджер, например Far или WinCmd) набе-
рите команду:
tessa first.mic
После завершения работы компилятора обязатель-
но надо посмотреть, какие сообщения об ошибках он вы-
дал. Если таковых нет, можете себя поздравить - ваша
первая программа готова к тому, чтобы быть загружен-
ной в микроконтроллер (программа появится на диске
под именем first.sav). Если сообщения об ошибках есть
(в них указывается номер строки программы, где была
обнаружена ошибка, и характер ошибки), надо испра-
вить все то, на что “пожаловался” компилятор, и повто-
рить компиляцию заново. Каким способом мог ошибить-
ся читатель, предсказать, увы, невозможно, поэтому ни-
каких рекомендаций по исправлению ошибок компиля-
ции, кроме “внимательно проверить”, автор, к сожале-
нию, дать не сможет.
Готовую программу можно загрузить в микроконтрол-
лер либо с помощью программатора ОАО “Ангстрем” (как
это делать - см. документацию ОАО “Ангстрем”), либо с
использованием программатора, предложенного авто-
ром в самой первой статье данного цикла. Программу
ve 1 w rite .e x e
для этого программатора желательно раз-
местить в том же директории, что и компилятор fessa.exe.
Для загрузки программы в микроконтроллер необходи-
мо в командной строке Windows набрать команду:
ve1 write first.sav /с:0х01 СО
Обратите внимание - буквы должны быть только анг-
лийские! После запуска программы на экран будет выда-
но сообщение “Connect programmator and press Enter”. Не-
обходимо вставить микроконтроллер в программатор (со-
блюдая полярность - см описание программатора в са-
мой первой статье цикла), включить программатор в порт
СОМ1: и нажать клавишу Enter. Следует дождаться появ-
ления сообщения “Disconnect programmator and press
Enter” , отсоединить программатор и нажать клавишу Enter
(программа завершит свою работу). При работе програм-
мы не должно выдаваться никаких ошибок (автор пола-
гает, что читатель без труда сумеет разобраться в выда-
ваемой при работе программы информации).
Ну а теперь - ответственный момент: устанавлива-
ем микроконтроллер в панельку “мигалки”, соблюдая по-
лярность, подсоединяем питание (от 5 до 6 вольт), и на-
блюдаем за работой первой вашей программы по мига-
нию светодиода.
Подведем итог.
..
В данной статье мы попытались совместными усили-
ями написать свою первую программу. Было “явочным
порядком” рассмотрено понятие цикла, команд условного
и безусловного перехода, а также способов представ-
ления и хранения в микроконтроллере числовой инфор-
мации. Автор надеется, что сам процесс компиляции про-
граммы и занесения ее в микроконтроллер прошел бла-
гополучно, и “мигалка” все-таки заработала.
Напоследок - один совет.
Никогда
не устанавливай-
те в готовую конструкцию микроконтроллер, на котором
вы производили отладку программы. Дело в том, что ко-
личество циклов записи в память программ микроконт-
роллера ограничено (согласно документации - не менее
100, но на практике это следовало бы читать как “не бо-
лее”). В практике автора было несколько случаев, когда
на таких “юзанных” микроконтроллерах “слетала” про-
грамма, более того - были случаи, когда она самопро-
извольно восстанавливалась после того, как конструк-
ции с микроконтроллером давали “вылежаться” доста-
точно продолжительное время. Поэтому в
рабочую
кон-
струкцию всегда ставьте
новый,
первый раз запрограм-
мированный микроконтроллер, чтобы она не вышла из
строя в самый неподходящий момент.
В следующей статье цикла мы рассмотрим один из
фундаментальных приемов программирования микро-
контроллеров - т.н.
автоматное программирование.
Автор надеется, что к тому времени читатели основа-
тельно ознакомятся с системой команд микроконтрол-
лера, и предлагает читателям выполнить “домашнее за-
дание” - переделать нашу первую программу так, чтобы
она мигала двумя светодиодами “в противофазе” (т.е.
когда один го ри т-д ругой потушен). Считайте для опре-
деленности, что второй светодиод подключен к линии
В[1]. Не забудьте соответствующим образом запрограм-
мировать подрегистр 3 порта В.
П риносим извинения читателям ж ур н ал а и приводим рис. 1
и з статьи А л е кс а н д р а Ч ер но м ы рд ин а “О б щ ее устройство
микроконт роллера К Р 1 8 7 8 В Е Г (стр. 4 4 /№ б /2 0 0 5 )
Адрес из поля команды
g g
D D D
Регистр
----------------- ^ -----------------
сегмента
0 0 0
А А А А
SS
------------------г------------------
~
4
___
л
\ Смещение
v
^ от начала
V.
сегмента
Номер сегментного
регистра
Исполнительный адрес
А А А А А
D D D
Рис. 1
\ *
Радиолюбитель - 0 7 /2 0 0 5 |
предыдущая страница 50 Радиолюбитель 2005-07 читать онлайн следующая страница 52 Радиолюбитель 2005-07 читать онлайн Домой Выключить/включить текст