Однокристальный микроконтроллер мк51
МК КМ1816ВЕ751 содержит ППЗУ емкостью 4096 байт со стиранием ультрафиолетовым излучением и удобен на этапе разработки системы при отладке программ, а также при производстве небольшими партиями или при создании систем, требующих в процессе эксплуатации периодической подстройки.
Каждый МК рассматриваемого семейства содержит встроенное ОЗУ памяти данных емкостью 128 байт с возможностью расширения общего объема оперативной памяти данных до 64 Кбайт за счет использования внешних микросхем ЗУПВ.
Общий объем памяти МК семейства МК51 может достигать 128 Кбайт: 64 Кбайт – память программ и 64 Кбайт – память данных.
При разработке на базе МК более сложных систем могут быть использованы стандартные ИС с байтовой организацией, например, серии КР580.
МК содержат все узлы, необходимые для автономной работы:
- центральный восьмиразрядный процессор;
- память программ объемом 4 Кбайт (только КМ1816ВЕ751, КР1816ВЕ51 и КР1830ВЕ51);
- память данных объемом 128 байт;
- четыре восьмиразрядных программируемых канала ввода-вывода (порты P0, P1, P2, P3);
- два 16-битовых многорежимных таймера/счетчика;
- система прерываний с пятью векторами и двумя уровнями;
- последовательный интерфейс;
- тактовый генератор.
Система прерываний, блок последовательного интерфейса и таймеры объединены в один блок.
Чтение из внешней памяти программ стробируется сигналом PSEN. При работе с внутренней памятью программ сигнал PSEN не формируется. МК не имеют инструкций и аппаратных средств для программной записи в память программ.
При обращениях к внешней памяти программ всегда формируется 16-разрядный адрес, младший байт которого выдается через порт Р0, а старший - через порт Р2. При этом байт адреса, выдаваемый через порт Р0, должен быть зафиксирован во внешнем регистре по спаду сигнала ALE, т. к. в дальнейшем линии порта Р0 используются в качестве шины данных, по которой байт из внешней памяти программ вводится в МК.
Микроконтроллер можно представить в виде следующих основных узлов:
- арифметико-логическое устройство (АЛУ);
- память данных и программ;
- аккумулятор;
- регистр слова состояния (регистр признаков);
- 8 - битный регистр - указатель стека;
- 16 - битный регистр - указатель данных;
- блок таймеров - счетчиков;
- последовательный порт;
- регистры специальных функций;
- устройства управления и синхронизации;
- порты ввода - вывода.
МК - 51 работает от внутреннего генератора, который имеет внешние выводы для подключения кварцевого резонатора.
Все порты (0,1,2,3) МК - 51 служат для побайтного ввода - вывода данных. Кроме того, порты 0 и 2 служат для вывода адреса. Выводы порта 3 могут быть использованы для реализации альтернативных функций. Порт 0 является двунаправленным, порты 1, 2, 3 - квазидвунаправленными: каждая линия порта может быть настроена для ввода или вывода данных. Нагрузочная способность портов 1, 2, 3 - один ТТЛ - вход, а порта 0 - два ТТЛ входа. PC - 16-разрядный программный счетчик.
Аккумулятор (А) служит для хранения как операнда, так и результата операции. Но МК-51 может выполнять ряд команд и без участия аккумулятора. Выполнение многих команд производится в арифметическо-логическом устройстве, а ряд признаков операций фиксируется в регистре слова состояния программы (PSW).
Арифметическо-логическое устройство (8-битное) может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, а также операции циклического сдвига, сброса, инвертирования и т.п. В АЛУ имеются программно недоступные регистры T1 и T2, предназначенные для временного хранения операндов, схема десятичной коррекции и схема формирования признаков.
Восьмиразрядный указатель стека (SP) может адресовать любую область памяти данных. Содержимое его уменьшается на единицу в ходе выполнения команд PUSH и CALL и увеличивается на единицу при выполнении команд РОР и RET. При сбросе в SP автоматически загружается начальный код 07 Н.
16-разрядный регистр-указатель данных (DPTR) служит для фиксации адреса при обращении к внешней памяти. Он может работать как два независимых 8-разрядных регистра DPH и DPL.
МК-51 имеет два независимых программируемых 16-разрядных таймера/счетчика, представленных в виде двух регистровых пар: TH0, TL0 и TH1, TL1, буфер последовательного порта SBUF - два независимых 8 - разрядных регистра: регистр приемника и регистр передатчика, регистры специальных функций с именами IP, IE, TMOD, TCON, SCON, PCON, позволяющие программировать схему прерывания, режимы работы таймеров-счетчиков и приемопередатчика.
Память программ и память данных, размещенные на кристалле МК51, физически и логически разделены, имеют различные механизмы адресации, работают под управлением различных сигналов и выполняют разные функции.
Память программ (ПЗУ или СППЗУ) имеет емкость 4 Кбайта и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных сменных и т.п. РПП имеет 16-битную шину адреса, через которую обеспечивается доступ из счетчика команд или из регистра-указателя данных. Последний выполняет функции базового регистра при косвенных переходах по программе или используется в командах, оперирующих с таблицами.
Память данных (ОЗУ) предназначена для хранения переменных в процессе выполнения прикладной программы, адресуется одним байтом и имеет емкость 128 байт. Кроме того, к адресному пространству РПД примыкают адреса регистров специальных функций (РСФ)
