Краткая историческая справка (прочитать обязательно!). Американец Сэмюэль Морзе (Samuel Morse) в 1837 году изобрёл телеграфный аппарат для передачи информации с помощью сигналов двух видов - точек и тире. В аппарате Морзе принятая телеграмма записывалась на бумажную ленту. Своё «второе рождение» код Морзе получил после изобретения радиосвязи в 1895 году (А.С Попов - Россия, Г. Маркони - Италия), когда была обнаружена возможность приёма телеграфных радиограмм на слух, без предварительной записи. К середине XX века телеграфные аппараты Морзе были практически вытеснены буквопечатающими аппаратами, однако определённый интерес к коду Морзе появился вновь после изобретения микропроцессоров и микроконтроллеров. В настоящее время код (азбука) Морзе продолжает применяться в радиолюбительской связи (CW-связь), а также в аварийно-спасательных системах в качестве запасного средства. Радиосигналы Морзе удаётся принимать даже при наличии таких сильных помех, когда никакой другой вид радиообмена невозможен.
В коде Морзе каждый символ (буква, цифра, знак препинания) представлен в виде комбинации двух знаков - точек и тире. Количество этих знаков может быть от 1 до 6, то есть код Морзе - это пример неравномерного кода. За единицу времени при передаче принята продолжительность точки. Продолжительность тире должна быть равна трём точкам. Продолжительность паузы между знаками - одна точка, между символами - три точки, между словами - семь точек. Мы видим, что код Морзе - не двоичный код, как иногда принято считать: его алфавит содержит не два, а целых пять знаков - точка, тире и три вида пробелов.
Цифровая аппаратура работает с битами и байтами. Как же представить с их помощью код Морзе? Для упрощения задачи ограничимся только буквами (без цифр и служебных символов). Один из возможных способов состоит в том, что каждая буква, как и в коде ASCII, представляется одним байтом. Младший полубайт (4 бита) пусть содержит количество знаков - точек и тире - в данной букве. Старший полубайт (ещё 4 бита) будет содержать саму последовательность точек и тире для данной буквы, причём точку будем кодировать нулём, а тире - единицей и записывать эту последовательность, начиная с крайнего левого бита. Поскольку количество точек и тире в букве (за редким исключением) не превышает 4, нам как раз хватит этих четырёх бит.
Достарыңызбен бөлісу: |