I
РАДИОЛЮБИТЕЛЬ - НАЧИНАЮЩИМ
I
привычность этой системы, в микро-
процессорной технике гораздо чаще
оперируют числами в других системах
- двоичной и шестнадцатеричной.
По названиям этих систем вы уже
должны догадаться, как записываются
числа в этих системах. Очевидно, для
двоичной системы основанием будет
число 2, т.е. любое число будет выра
жаться степенью двойки, а количество
цифр, необходимое для записи любо-
го числа - всего две: 0 и 1. Замечаете
сходство с единицей информации -
битом? Именно поэтому двоичная сис-
тема и является основной в програм-
мировании микроконтроллеров. Как же
будут выглядеть числа в двоичной си-
стеме? К сожалению, не так красиво,
как в привычной нам десятичной ©.
Например, рассмотренное ранее чис-
ло 147 запишется в двоичной систе-
ме как 10010011. Давайте проверим:
1х20+1х21+Ох2г4Ох23+1х24чОх2б4Ох26+1х27.
Подсчитали, сколько получится? Дей-
ствительно, 147. А число 20340 запи-
шется как 100111101110100, проверку
желающие могут сделать самостоя-
тельно. Кстати, теперь можно вернуть-
ся к ранее рассмотренным
кило-
и
мегабайтам - помните,
не
1000,
а
1024? Если обратить внимание, что 210
это как раз 1024, то все становится на
свои места, хотя несколько и противо-
речит общепринятому соответствию
кило
- тысяча.
Не очень привычно, не
очень удобно (для нас), но очень удоб-
но для микроконтроллера. Основное
неудобство двоичной системы - слиш-
ком громоздкая запись чисел. Чтобы
немного упростить себе жизнь, про-
граммисты используют шестнадцате-
ричную систему счисления. Догадли-
вый читатель наверняка всполошится:
как, основание системы -1 6 ? Значит,
цифр потребуется тоже 16? Как же это,
ведь цифр всего 10?! Как это ни стран-
/
но, но цифр действительно потребует-
ся 16, хотя их всего 10 ©. Программи-
сты - ужасно хитрый народ, чтобы не
изобретать велосипед, они взяли да и
вместо недостающих еще 6 цифр ис-
пользуют буквы латинского алфавита
от А до
Р.
Получается такой набор
цифр: 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 , А, В, С, О,
Е и
Р
- всего 16. В этой системе знако-
мые нам числа 147 и 20340 будут выг-
лядеть так: 93 и
АР7А
- попробуйте са-
мостоятельно расписать по степеням
16 и проверить.
Чем же эта запись
удобна, спросит меня читатель? А тем,
что если внимательно посмотреть на
двоичную и шестнадцатеричную за-
пись одного и того же числа, то можно
заметить, что одной шестнадцатерич-
ной цифрой сразу заменяются 4 дво-
ичные!
И действительно, какое наи-
большее число можно записать при
помощи 4-х двоичных разрядов? Е с-
тественно 1111, т.е. 15, что как раз и
соответствует наибольшей шестнад-
цатеричной цифре F.
Кстати, такие
четверки двоичных разрядов называ-
ются
тетрадами,
и теперь мы можем
сказать, что в одном байте две тетра-
ды битов (как и все, чего несколько
штук в мире программирования, тет-
рады байта делятся на младшую и
старшую), соответствующие двум ше-
стнадцатеричным цифрам.
Конечно, все это поначалу кажется
ужасно неудобным, но привыкнуть к
этому совсем не трудно. Возможно, у
вас могут быть сложности с переводом
чисел из одной системы счисления в
другую,
раньше всюду описывались
несложные,
но громоздкие правила
перевода, но ведь теперь у каждого
есть калькулятор из Windows ©! Так что
я не стану слишком уделять внимание
этому, т.к. перевод чисел в пределах от
0 до 16 спустя пяток тренировок не бу-
дет вызывать у вас проблем, а больше
вам вряд ли и понадобится. Читатели,
знакомые с математикой
в рамках
школьной программы без труда разбе-
рутся с методом перевода чисел из од-
ной системы счисления в другую.
Небольшое задание.
Мы не кос-
нулись еще одной достаточно популяр-
ной системы счисления
-
восьмерич-
ной. Попробуйте самостоятельно с нею
разобраться и в качестве тренировки
записать наши взятые для примера де-
сятичные числа 147 и 20340 в восьме-
ричном виде (желательно, без помо-
щ и калькулятора © ). А тем, кого эта
тема захватила по-настоящему, в ка-
честве дополнительного задания
по-
вышенной сложности
(а кто тут ищет
легких путей?!) предлагаю перевести
эти числа в пятеричную и девятерич-
ную системы (хотя они практически ни-
когда не используются).
Ну, вот позади и системы счисле-
ния. И с памятью мы немного разобра-
лись, и с программами чуть-чуть. Что
еще можно рассказать о микроконтрол-
лерах в общем, не вникая в конкрет-
ные детали конкретных чипов?
Одной
из
важных особенностей
микроконтроллеров, коренным обра-
зом отличающей их от микросхем жес-
ткой логики и тем более от аналоговых
элементов, является дискретность их
работы. Несколько упрощенно это мож-
но объяснить тем, что программа мик-
роконтроллера выполняется команда
за командой и, разумеется, каждая ко-
манда
выполняется
какое-то пусть
очень малое, но все же ненулевое вре-
мя. Отсюда следует, что неизбежны
промежутки времени, когда микрокон-
троллер не в состоянии “заметить" из-
менение поступающего на него вход-
ного сигнала либо осуществить воздей-
ствие на что-либо. В самом деле, как,
например, строится программа, кото-
рая следит за уровнем сигнала на ка-
ком-либо входе и что-то выполняет,
если уровень на этом входе изменил-
ся? Примерно так:
1.
Считать уровень сигнала на
входе.
2. Если считанный уровень равен 1
- перейти к шагу 3, а иначе - перейти к
шагу 1.
3. Выполнить заданное действие.
В этом очередном крохотном при-
мере вы знакомитесь с принципом оп-
роса уровня сигнала - сначала считы-
ваем, затем сравниваем и по результа-
ту сравнения делаем то или это. Пред-
положим, что каждая команда выпол-
няется 1 микросекунду. Значит, в луч-
шем случае, опрос состояния уровня на
входе будет осуществляться один раз
в 2 микросекунды, а это в свою очередь
означает, что если сигнал меняется
чаще, например каждые 1,5 микросе-
кунды, то микроконтроллер вполне мо-
жет “прозевать” очередное изменение
со всеми вытекающими последствия-
ми. А если мы анализируем не един-
ственный вход, а несколько, то време-
ни между опросом и “принятием мер”
может пройти еще больше!
Точно так же из-за дискретности
работы микроконтроллера невозможно
абсолютно точное измерение и форми-
рование временных интервалов. Эта
особенность никак не является препят-
ствием для применения микроконтрол-
леров, так как в той или иной степени
дискретность или
конечная точность
------------
1
I
Л
Радиолюбитель - 0 1 /2 0 0 7 ^
предыдущая страница 49 Радиолюбитель 2007-01 читать онлайн следующая страница 51 Радиолюбитель 2007-01 читать онлайн Домой Выключить/включить текст