- •Им. А. Н. Туполева
- •1.2. Аналоговые системы автоматического управления.
- •1.3. Системы с цикловым программным управлением (цпу)
- •1.4. Системы числового программного управления (чпу)
- •2. Общая характеристика задач программного управления
- •2.1. Задачи управления устройства чпу
- •2.2. Задачи управления гибким производственным модулем (гпм)
- •2.3. Задачи управления гибкой производственной системой (гпс)
- •3. Геометрическая задача чпу
- •3.1. Этапы реализации геометрической задачи управления
- •3.2. Алгоритм работы устройства чпу
- •3.3. Интерполяция
- •4. Логическая задача чпу
- •4.1. Циклы автоматики
- •4.2. Структура компонентов реализации логической задачи управления
- •4.3. Задача минимизации времени поиска инструмента
- •4.4.Традиционное описание цикла автоматики
- •4.6. Обобщенная модель логической задачи управления
- •5. Технологическая задача чпу
- •5.1 Управление точностью обработки
- •5.2 Управление эффективностью обработки
- •6. Терминальная задача чпу
- •6.1 Содержание терминальной задачи
- •6.2 Панель оператора
- •6.3. Структура диалога
- •6.5. Виды клавиатур устройств чпу
- •6.6. Виды диалога
- •7. Микропроцессорные системы управления
- •7.1. Структура микропроцессора
- •7.2. Типовая структура микропроцессорной системы (мпс)
- •7.2.1. Системная магистраль и циклы обмена
- •7.2.2 Функции памяти
- •7.2.3. Функции устройств ввода/вывода
- •7.2.4. О системе команд процессора
- •7.3. Функциональная структура микропроцессорного устройства чпу
- •7.3.1. Центральный процессор
- •7.3.2. Особенности организации системной магистрали
- •7.3.3. Организация памяти
- •7.3.4. Состав устройств ввода/вывода
- •7.3.5. Системные команды цп, используемые при реализации логической задачи управления (пример)
- •7.4. Управление микроконтроллерами
- •7.4.1. Архитектура мк aTmega128l.
- •7.4.2. Организация памяти мк
- •7.4.3. Некоторые сведения о системе команд микроконтроллера
- •7.4.4. Выполнение программы
- •7.4.5. Порты ввода/вывода
- •7.4.6. Программирование мк
- •7.4.7. Некоторые сведения о подготовке исполняемой программы
- •7.4.8. Имитация и отладка программы в среде avr Studio 4
- •Список литературы
7.4.4. Выполнение программы
При включении напряжения питания, а также после сброса микроконтроллера в счетчик команд PC автоматически загружается значение 0x0000- это адрес вектора сброса. По этому адресу в памяти программ находится команда безусловного перехода к инициализационной части программы - к подпрограмме обработки сброса, команды которой программно осуществляют сброс регистра состояния SREG и установку указателя стека SP. Если в программе не используются прерывания, то эта подпрограмма может начинаться непосредственно с адреса 0x0001. При нормальном выполнении программы содержимое счетчика команд автоматически увеличивается на 1 или 2 (в зависимости от выполняемой команды) в каждом машинном цикле.
Адрес команды, размещенный в счетчике команд PC (рис.7.2 ), выставляется на шину адреса и по этому адресу из памяти программ производится выборка кода команды. Код команды записывается в регистр команд и по адресному полю команды инициируется соответствующий РОН (или область памяти ОЗУ), операционное поле команды анализируется дешифратором со схемой управления выполнением команд и на этой основе формируются управляющие сигналы, поступающие через шину управления в обрабатывающую часть МК (АЛУ и др.). Как уже отмечалось, все РОН непосредственно доступны АЛУ. Такое решение позволяет АЛУ выполнять одну операцию (извлечение операнда из регистрового файла, выполнение команды и запись результата обратно в регистровый файл) за один машинный цикл T (рис. 7.15). Длительность машинного цикла составляет один период T системного тактового сигнала МК.
.
Рис. 7.15.
В МК при выполнении программы реализован так называемый двухуровневый конвейер. Работа этого конвейера в течение машинных циклов показана на рис. 7.16. Во время первого машинного цикла происходит вы-
Рис. 7.16
борка команды и ее декодирование. Во время второго цикла эта команда выполняется, а параллельно происходит выборка и декодирование второй команды и т. д. В результате фактическое время выполнения команды получается равным одному машинному циклу.
7.4.5. Порты ввода/вывода
Каждый порт МК (их всего семь) состоит из восьми выводов, через которые МК может осуществить прием и передачу сигналов. Задание направления передачи данных через любой контакт вывода может быть произведено программно в любой момент времени.
Обращение к портам (рис. 7.12) производится через регистры ввода/вывода. Под каждый порт ввода-вывода PORTx в адресном пространстве ввода/вывода (рис. 7.14) зарезервировано 3 адреса, по которым размещены следующие регистры: регистр данных PORTx, регистр направления данных DDRx и регистр вывода PINx. Действительные названия регистров получаются подстановкой названия порта вместо символа x, соответственно регистры порта A называются PORTA, DDRA, PINA, порта B - PORTB, DDRB, PINB и т. д. Поскольку с помощью регистров PINx осуществляется доступ к физическим значениям сигналов на выводах порта, они доступны только для чтения, тогда как остальные два регистра доступны и для чтения и для записи. Упрощенная структура одного из каналов порта ввода-вывода приведена на рис. 7.17. Каждому выводу n порта PORTx соответствуют три разряда
Рис. 7.17
регистров ввода/вывода: PORTxn, DDRxn и PINxn. Действительные названия разрядов регистров получаются подстановкой названия порта вместо символа x и номера разряда вместо символа n. Порядковый номер вывода порта соответствует порядковому номеру разряда регистров этого порта.
Разряд n регистра DDRx определяет направление передачи данных через контакт (вывод) Pxn. Если этот разряд установлен в «1», то вывод Pxn является выходом, если же сброшен в «0» - входом.
Разряд PORTxn регистра PORTx выполняет двойную функцию. Если вывод Pxn функционирует как выход (DDxn=1), этот разряд определяет состояние вывода порта PORTx, если разряд PORTxn, установлен в «1», на выводе Pxn устанавливается напряжение высокого уровня, если же разряд сброшен в «0», на выводе Pxn устанавливается напряжение низкого уровня.
Если же вывод Pxn функционирует как вход (DDRxn=0), то драйвер Dr переходит в так называемое высокоимпедансное состояние «z», при котором его выход как бы электрически изолируется от других участков цепи. Если в этом случае разряд PORTxn установлен в «1», то схема управления внутренним резистором R подключает его к напряжению источника питания Uи.п. и вывод Pxn становится источником тока.
Состояние вывода МК независимо от установок разряда DDRxn может быть получено путем чтения разряда PINxn регистра PINx.