\
МИКРОКОНТРОЛЛЕРЫ
I
При использовании такой табли-
цы содержимое битов одного байта
можно описать очень просто - необ-
ходимо сложить “вес” всех битов, ус-
тановленных в лог. 1. Например, если
в байте содержится информация
10001101, это кодируется числом 128
(вес бита 7) + 8 (вес бита 3) + 4 (вес
бита 2) + 1 (вес бита 0) = 145. Соот-
ветственно этому код 10001101 явля-
ется т.н.
внутренним представлени-
ем
числа 145. По аналогии с десятич-
ной системой счисления, в которой
существует десять различных цифр
для обозначения чисел, система счис-
ления, содержащая только лог. 0 и
лог. 1, называется
двоичной
и число
10001101 - это двоичное представле-
ние числа 145. Десятичная система
счисления, вообще говоря, не пользу-
ется особой популярностью у про-
граммистов, поскольку переход от
двоичного представления числа к де-
сятичному далеко не очевиден, и по
десятичному числу бывает непросто
понять, какой комбинации битов оно
соответствует. Однако двоичная сис-
тема счисления гораздо менее ком-
пактна, чем десятичная (целых во-
семь двоичных цифр вместо трех де-
сятичных для числа 145), поэтому в
программировании широко применя-
ется еще одна система счисления -
шестнадцатиричная.
В шестнадца-
тиричной системе счисления байт де-
лится на две половинки, - т.н. тетра-
ды, - и биты в каждой из тетрад так-
же нумеруются “справа налево”. Для
четырех битов тетрады существует
всего 16 неповторяющихся комбина-
ций битов. Первые десять из них в
шестнадцатиричной системе счисле-
ния обозначаются цифрами от 0 до 9
(по тому же принципу, который дан в
предыдущей таблице), а для осталь-
ных шести используются буквы латин-
ского алфавита:
А
- для числа 10, В —
для числа 11, С - для числа 12 и т.д
до
F
включительно. При такой коди-
ровке содержимое байта может быть
описано двумя шестнадцатиричными
цифрами: одна - для старшей, другая
- для младшей тетрады. Например,
число 145 = 10001101 в шестнадца-
тиричной системе счисления будет
записано как 8D (т.е 8 - в старшей
тетраде, и 13 - в младшей). С этой
системой счисления программисту
придется постоянно сталкиваться.
Итак, как устроен блок данных
микроконтроллера КР1878ВЕ1 (все
шестнадцатиричные числа, для того
чтобы отличить их от десятичных, при
программировании микроконтролле-
ра завершаются буквой И в конце чис-
ла), показано в
таблице 2.
Как видно из
таблицы 2,
из 256
адресов блока данных реально ис-
пользуется чуть больше половины.
Про такую таблицу говорят, что она
описывает
адресное пространство
микроконтроллера. Пройдясь по
таб-
лице
2, читатель очень легко может
составить список внешних устройств
микроконтроллера. Вот он:
• Порт
А
• Порт В
• Интервальный таймер
• Сторожевой таймер
• ЭСППЗУ (электрически стирае-
мое перепрограммируемое постоян-
ное запоминающее устройство)
Как уже отмечалось, к любому из
элементов блока данных можно обра-
титься по его адресу. Обратившись из
программы по адресу 42И, мы полу-
чим доступ к третьей (не второй! -
потому что самая первая ячейка бу-
дет иметь адрес 40(1) ячейке ОЗУ
микроконтроллера, обратившись по
адресу 01
- сможем вывести сигнал
на внешние выводы порта
А
и т.д. В
микроконтроллере КР1878ВЕ1 работа
с ячейками ОЗУ не отличается от ра-
боты с регистрами внешних устройств
(в отличие от многих других микрокон-
троллеров, а также “больших” компь-
ютеров, где внешние устройств содер-
жатся в отдельном “блоке” данных, и
где для работы с ними даже использу-
ются другие, совершенно отличные от
работы с ОЗУ команды). На взгляд
автора, это является одним из досто-
инств микроконтроллера КР1878ВЕ1,
поскольку позволяет оперировать с
внешними устройствами
всем
набо-
ром команд микроконтроллера, а не
только командами ввода и вывода в
регистры внешних устройств.
А
команды? Как представляются
в микроконтроллере команды про-
граммы? Да точно таким же спосо-
бом, как и данные! Но, в отличие от
данных, для представления одной
команды
в
микроконтроллере
КР1878ВЕ1 требуется не восемь, а
шестнадцать бит данных. Поэтому
данные в памяти программ хранятся
в микроконтроллере не байтами, а
словами
(слово - это два подряд
идущих байта). Таким образом, па-
мять программ микроконтроллера
имеет размер 1024 слова, или же
2048 байт! В литературе можно
встретить и другое обозначение -
1 Килослово или 2 Килобайта.
Таблица 2
Шестнадцатиричный адрес
Что здесь находится
00h
Регистр состояния процессора микроконтроллера
01 h
Регистр данных порта А
02h
Регистр данных порта В
03h
Свободно
04h
Управляющий регистр интервального таймера
05h
Рабочий регистр интервального таймера
06h.
.18h
Свободно
I9h
Регистр конфигурации порта А
1Ah
Регистр конфигурации порта В
lBh.
.lCh
Свободно
1Dh
Управляющий регистр сторожевого таймера
1Eh.
.37h
Свободно
38h
Управляющий регистр ЭСППЗУ
39h
Регистр адреса ЭСППЗУ
3Ah.
.3Eh
Свободно
3Fh
Регистр данных ЭСППЗУ
40h.
.BFh
128 байт ОЗУ микроконтроллера
C0h.
.FFh
Свободно
\
25
Радиолюбитель - 05/2005 |
предыдущая страница 21 Радиолюбитель 2005-05 читать онлайн следующая страница 23 Радиолюбитель 2005-05 читать онлайн Домой Выключить/включить текст