\
РАДИОЛЮБИТЕЛЬ - НАЧИНАЮЩИМ
\
.t
Где у человека хранится все его “пра-
вила”, по которым он действует? Пра-
вильно, в памяти. Вот и у микроконт-
роллера для хранения программ (и не
только, но об этом позже) использует-
ся не что иное, как память. Если уст-
ройство памяти человека пока до кон-
ца неизвестно ученым, то строение па-
мяти микроконтроллеров весьма при-
митивно - для редко изменяемой ин
формации (программ) это набор flash-
ячеек памяти (последние годы обычно
flash, но может быть ПЗУ и т.п.), а для
часто изменяющейся информации это
набор статических регистров-ячеек, как
правило, 8-разрядных. Как видим, и там
и там используется термин
ячейка па-
мяти,
т.е. вместилище информацион-
ной единицы. Большинство популярных
микроконтроллеров - восьмиразряд-
ные, т.е. они оперируют информацией
по 8 битов (т.е. по байту) сразу. Соот-
ветственно, все ячейки тоже 8-битные
или однобайтные.
Небольш ое пояснение.
Битом
называется единица информации. Бит
может принимать одно из д вух значе-
ний
-
истина-ложь, единица-ноль,
нет, красное-черное,
чет-нечет и т.п.
Представление инф ормации в виде
битов удобно для цифровой техники,
ведь в ней определены только два уров-
ня сигналов - высокий и низкий. Одна-
ко, обработка информации столь мел-
кими дозами - побитно - не очень удоб-
на из-за низкой скорости и из -за того,
что объекты реального мира описыва-
ются куда большим количеством зна-
чений, нежели два. Поэтому для удоб-
ства обработки информации использу-
ют группы по
8
бит, называемые
бай-
том.
Н у а если требуется оперировать
гораздо большими объемами - исполь-
зуют
килобайты, мегабайты
и тд. Но
учтите: килобайт-это не 1000 байт, а
1024! Объяснение этой странности вы
узнаете чуть позже, когда станем зна-
комиться со
системами счисления.
Даже в нашей простейшей програм-
ме мы столкнулись с необходимостью
нумеровать шаги, т.е.
команды про-
граммы. Очевидно, что ячейки памяти
тоже должны нумероваться. У програм-
мистов принято оперировать не номе-
ром, а
адресом
ячейки памяти, что в
сущности одно и то же.
Наконец, стоит коснуться еще од-
ного аспекта, связанного с памятью
U i
-------------------
микроконтроллеров. Для нас важно то,
можно ли простыми средствами осуще-
ствлять изменение содержимого памя-
ти или нет. Это важно потому, что мик-
роконтроллер должен быть “всегда го-
тов” к работе, т.е. его программа не
должна уничтожаться из памяти при
отключении питания и т.п. А вот резуль-
таты работы этой программы, как пра-
вило, могут возобновляться, т.е. если
при отключении питания они пропадут
- невелика беда, программа в следую-
щий раз снова их сформирует. Отсюда
и четкое разделение памяти микрокон-
троллера на память программ и данных.
Первая обычно не подлежит измене-
нию в ходе работы программы, а мо-
жет быть изменена только при помо-
щи
специального
программатора.
Вторая же может быть изменена
в
ходе выполнения программы. Одна-
ко всегда есть отклонения ©: суще-
I
ствуют микроконтроллеры,
которые
могут программно изменять содер-
жимое памяти программ, т.е.
сам о-
перепрограммирую щ иеся
микрокон-
троллеры.
И последнее. Возможно, вы по про-
чтении предыдущих строк пришли к
выводу, что все эти виды памяти обя-
зательно должны быть внутри микро-
контроллера
и ничего иного больше и
быть не может. Это напрасно: во-пер-
вых, любая память из числа рассмот-
ренных может быть реализована как на
кристалле микроконтроллера, так вне
его - в виде отдельных микросхем (мик-
роконтроллеры без встроенной памя-
ти программ вполне обыденное явле-
ние), а во-вторых, существует еще ре-
гистровая память, стековая и др., но обо
всем этом в свое время.
Небольшое отступление.
К а к и з-
вестно, программа КПСС представля-
ла собой брошюру средних размеров,
где были подробно изложены шаги,
выполняя которые мы должны были
построить ком м унизм .
..
Но видно в
программу вкралась ош ибка, потому
как коммунизма мы не построили
©.
Это я к тому, что программы составля-
ет человек, а ему свойственно ошибать-
ся. Микроконтроллер же тупо следует
написанной программе. Так что если вы
не будете со всей тщательностью под-
ходить к разработке собственных про-
грамм, “коммунизма” ваш микроконт-
роллер не построит.
Глава 2.
Копаем глубж е
В предыдущей главе мы познако-
мились в общих чертах о принципе со-
ставления программ для микроконтрол-
лера, о командах и операндах, о памя-
ти, где программа хранится. Продол-
жим наше знакомство с базовыми по-
нятиями.
Прежде всего, поговорим о систе-
мах счисления. Постараюсь объяснить
как можно проще. Всем нам известная
с детства десятичная система .счисле-
ния характеризуется тем, что е ней зна-
чение каждого разряда числа указыва-
ет на количество единиц, умножаемых
на число 10 в степени, номер которой
соответствует поредковому номеру раз-
ряда, начиная с нуля (справа налево).
Небольшое отступление.
Обрати-
те внимание, что номера разрядов от-
считываются во-первых,
справа нале
- .
во,
а во-вторых, нес1 (как все привык-
ли вести счет), а с
нуля
Такой подход
навсегда прижился в программирова-
нии, и вам, уважаемый читатель, при-
дется привыкать к нему. Здесь и далее,
если особо не оговорено, любой счет
чего бы то ни было ведется с нуля, а
рассмотрение последовательности би-
тов (и иногда
-
байтов) всегда ведется
справа налево. Самый правый (нуле-
вой) бит в байте (или байт, если речь о
нескольких байтах) считается самым
младшим,
самый левый (последний)
-
самы м
старшим.
Старшинство эле-
ментов такой последовательности од-
нозначно определяется номером пози-
ции рассматриваемого элемента.
Н априм ер,
число
147
в
этом
с л у ч а е
р а с с м а тр и в а е тс я
к а к
Т х Ю ^х Ю '-И х Ю 2, а число 20340 как
0x10°+4х10'-АЗх102+0x1042x104. Легко
провести аналогию: каждый разряд в
числе имеет собственный “вес”, опре-
деляющий степень числа
10,
а соб-
ственно цифра в этом разряде показы-
вает количество этих “весов". Так как
любое число мы выражаем через сте-
пень числа 10, то эта система и полу-
чила название
десятичной,
а само чис-
ло 10 - называется
основанием сис-
темы счисления.
Характерно, что ко-
личество различных цифр, при помо-
щи которых мы можем записать любое
число, равно основанию системы счис-
ления - для нашей десятичной это
цифры от 0 до 9. Однако, несмотря на
| Радиолюбитель -01/2007
предыдущая страница 48 Радиолюбитель 2007-01 читать онлайн следующая страница 50 Радиолюбитель 2007-01 читать онлайн Домой Выключить/включить текст