
- •Введение Структура гибкой производственной системы
- •1. Классификация устройств программного управления
- •2. Принципы построения микропроцессорных систем
- •3. Способы внутрисистемной организации мультимикропроцессорных систем
- •Устройства числового программного управления станками и системы управления промышленными роботами
- •4. 1. Устройство числового программного управления fms-3000
- •4.2. Учпу Маяк600
- •4.3. Система управления рб 242
- •4.4. Су «сфера-36»
- •Микроконтроллеры cisc и risc архитектуры
- •5.1. Выбор микроконтроллера
- •5. 2. Микроконтроллер км1816ве51
- •Устройство управления и синхронизации
- •Порты ввода/вывода информации
- •Таймеры/счётчики
- •Последовательный порт
- •Работа уапп в мультимикроконтроллерных системах
- •Система прерываний
- •Приоритеты прерываний при поллинге
- •Особенности запросов внешних прерываний
- •Программирование мк51 Методы адресации
- •Система команд семейства mк-51
- •Типовая схема построения су на базе мк51
Устройство управления и синхронизации
Кварцевый резонатор, подключаемый к внешним выводам X1 и X2, управляет работой генератора, который формирует сигналы синхронизации.
Устройство управления МК51 на основе сигналов синхронизации формирует машинный цикл фиксированной длительности, равный 12 периодам резонатора или 6 состояниям первичного управляющего автомата (S1-S6).
Каждое состояние управляющего автомата содержит две фазы (P1, P2) сигналов резонатора. В фазе Р1, как правило, выполняются операции в АЛУ, а в фазе Р2 осуществляется межрегистровая передача. Весь машинный цикл состоит из 12 фаз, начиная с фазы S1P1 и кончая фазой S6P2.
Большинство команд МК51 выполняет за один машинный цикл. Некоторые команды, оперирующие с 2-байтными словами или связанные с обращением к внешней памяти, выполняются за два машинных цикла. Только команды деления и умножения требуют четырех машинных циклов.
Память МК и программно доступные ресурсы
В архитектуре МК51 память программ и память данных разделены. Каждая из них имеет размер 64 Кбайт, выбор одной из двух матриц памяти осуществляется сигналами PSEN, /RD, /WR. Организация памяти в микроконтроллере иллюстрируется рис. 5.3.
Рис. 5.3. Организация памяти микроконтроллера
Память программ может быть целиком внешней (сигнал EA=0), либо при обращении по младшим 4 К адресов код извлекается из ячеек внутренней памяти микроконтроллера, а содержимое старших 60 К берется из внешней памяти системы (сигнал ЕА=1). Некоторые микроконтроллеры имеют бит секретности, предназначенный для защиты внутренней памяти программ от доступа извне. Значение этого бита программируется один раз, очищен он может быть только при полном стирании всей внутренней памяти программ. При установленном бите секретности запрещается не только чтение внутренней памяти из вне, но и ее допрограммирование, а также обращение к внешней памяти программ.
Память данных делится на внешнюю и внутреннюю, каждая из них имеет свое пространство адресов. В архитектуре MК51 пространство адресов внутренней памяти данных объединяет все внутренние программно доступные ресурсы.
Это пространство размером 256 байт в свою очередь делится на пространство адресов внутреннего ОЗУ (резидентная память данных РПД) размером 128 байт (табл. 5.2) и пространство адресов регистров специальных функций (табл. 5.3).
Ячейки РПД занимают младшие адреса внутренней памяти данных с 00H по 7FH. Младшие 32 адреса занимают четыре регистровых банка, каждый из которых содержит по восемь регистров общего назначения R0-R7. Текущий банк определяется значением битов RS0, RS1 регистра PSW. Таким образом, младшие 32 ячейки ОЗУ, кроме адресов, имеют имена. Ячейки с адресами в диапазоне 32÷48 имеют прямоадресуемые биты. Адреса битов этой части в ОЗУ находятся в диапазоне 00H÷7FH.
В табл. 5.3 показана область регистров специальных функций. В нее включены все программно доступные регистры (управления и данных) внутренних блоков ввода вывода. Эта область формально занимает старшие 128 байт внутренней памяти данных, но обращение должно осуществляться по определенным адресам ячеек или отдельных битов. Обращение по промежуточным адресам приведет к ошибочному результату. Все регистры имеют как символические имена, так и адреса в качестве ячеек внутренней памяти. Часть регистров содержит прямо адресуемые биты. Адреса битов находятся в диапазоне 80H÷F7H.
Регистр указатель стека (8 - бит) может адресовать любую область РПД.
Двухбайтный регистр-указатель данных (РУД) обычно используется для фиксации 16-битного адреса в операциях с обращением к внешней памяти. Командами МК51 регистр указатель данных может быть использован или как 16-битный регистр, или как два независимых 8-битных регистра (DPH и DPL).
Регистры с символическими именами IP, IE, TMOD, TCON, и PCON используются для фиксации и программного изменения управляющих бит и бит состояния схемы прерывания, таймера/счётчика, приёмопередатчика последовательного порта и для управления мощностью электропитания МК51.