- •Аналоговые и цифровые устройства автоматики
 - •Глава 1. Архитектура и устройство
 - •1.1. Внутренняя организация мк
 - •1.2. Назначение выводов микросхемы мк
 - •1.3. Организация памяти в мк
 - •1.4. Регистр состояния программы psw
 - •1.5. Таймеры/счетчики, регистры tmod и tcon
 - •1. 6. Режимы работы таймеров/счетчиков
 - •Структура прерываний мк
 - •1.8. Блок последовательного интерфейса мк
 - •1.8.1. Последовательная передача информации
 - •1.8.2. Последовательный порт однокристального мк
 - •1.8.3. Регистр управления последовательным портом scon
 - •1.8.4. Режимы работы последовательного порта
 - •1.8.5. Асинхронный обмен (режимы 1,2,3) данными
 - •1.8.6. Скорость приёма/передачи
 - •1.8.7. Работа мк в локальной сети
 - •1.9. Системный сброс однокристального мк
 - •1.10. Режим пониженного энергопотребления мк
 - •1.11. Нагрузочная способность портов ввода/вывода
 - •1. 12. Расширение портов ввода/вывода
 - •Глава 2. Система команд однокристальных мк семейства mcs51
 - •Способы адресации операндов
 - •2.2. Команды мк
 - •2.3. Правила написания программ на языке assembler
 - •Метка операция операнд(ы) комментарии
 - •2.3.1. Метка
 - •2.3.2. Операция
 - •2.3.3. Операнды
 - •2.3.4. Комментарий
 - •2.4. Директивы ассемблера
 - •2.4.1. Директивы символических определений
 - •Пример:
 - •Ozu_org xdata 0800h; Адрес начала области внешнего озу.
 - •2.4.2. Директивы резервирования и инициализации памяти
 - •2.4.3. Директивы управления состоянием ассемблера
 - •Глава 3. Обработка данных в однокристальных микроконтроллерах
 - •3.1. Обращение к внутренней, внешней памяти данных и памяти программ
 - •3.2. Арифметические операции
 - •3.3. Логические операции
 - •3.4. Операции с битами
 - •Глава 4. Взаимодействие однокристального мк с объектом управления
 - •4.1. Программный опрос и ожидание срабатывания позиционных датчиков
 - •4.2. Ожидание импульсного сигнала
 - •4.3. Программирование таймеров/счетчиков и формирование дискретных управляющих сигналов
 - •4.4. Программирование прерываний в микропроцессорном устройстве
 - •4.5. Программирование последовательного порта
 - •Глава 5. Аппаратные средства
 - •5.1. Ввод информации с клавиатуры
 - •5.1.1. Прямое подключение клавиш к разрядам порта мк
 - •В блоке основной программы происходит инициализация системы, разрешение прерываний, а затем выполняется основная программа.
 - •Применение шифратора для организации клавиатуры
 - •Шифратора
 - •5.1.3. Матричный способ подключения клавиатуры
 - •5.1.4. Комбинированный способ организации клавиатуры
 - •5.2. Отображение информации в микропроцессорном устройстве
 - •5.2.1. Контроллер клавиатуры и дисплея к580вв79 ( intel 8279 )
 - •5.2.2. Матричные светодиодные индикаторы
 - •5.2.3. Жидкокристаллический дисплей
 - •Ввод аналоговых сигналов в микропроцессорный контроллер
 - •Ацп с параллельными цифровыми выходами
 - •5.3.2. Применение ацп с последовательным выходом
 - •5.3.3. Применение таблиц для вычисления функций
 - •5.4. Формирование управляющих аналоговых сигналов
 - •5.5. Построение ацп с использованием цап
 - •5.6. Микропроцессорный контроллер как управляющее устройство в системах автоматического регулирования
 - •Согласование дискретных датчиков и исполнительных механизмов с однокристальным мк
 - •5.8. Контроль напряжения питания в микропроцессорных системах
 - •Глава 6. Отладка программного обеспечения и программирование однокристальных мк
 - •6.1. Интегрированная система отладки программного обеспечения для мк ProView
 - •6.1.1. Оптимизирующий кросс - компилятор c51
 - •6.1.2. Макроассемблер a51
 - •6.1.4. Отладчик/симулятор WinSim51
 - •6.2. Запуск ProView и создание файла проекта
 - •Если в системе задействованы таймеры-счетчики, то удобно промоделировать их работу при разворачивании соответствующих окон Timer (рис.76).
 - •В окне указаны источники и адреса векторов прерываний, их состояние и приоритет. Разрешенные прерывания отмечены словом Enable, неразрешенные - Not Enable.
 - •Рассмотрим основные пункты раздела debug (отладка), представлены на рис. 84. Эти функции предназначены для выполнения процесса отладки прикладной программы пользователя.
 - •6.3. Программирование однокристальных мк
 - •Контрольные вопросы для закрепления материала
 - •Заключение
 - •Библиографический список
 - •Глава 1. Архитектура и устройство однокристальных мк семейства mcs51………………………..6
 - •Глава 6. Отладка программного обеспечения и программирование однокристальных мк ……….203
 - •162600, Г.Череповец , пр. Луначарского, 5
 
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
ГОУ ВПО Череповецкий государственный университет
Институт информационных технологий
Кафедра Автоматизации и систем управления
К. А. Харахнин, канд. техн. наук, проф.
Аналоговые и цифровые устройства автоматики
У Ч Е Б Н О Е П О С О Б И Е
Ч Е Р Е П О В Е Ц 2007
УДК 681.58: 681.32
ХАРАХНИН К.А. Основы проектирования микропроцессорных устройств автоматики на однокристальных микроконтроллерах: Учебное пособие. – Череповец: ЧГУ, 2007. – 234 с.
Учебное пособие содержит теоретические сведения об архитектуре и устройстве однокристальных микроконтроллеров семейства MCS51. Рассматриваются назначение всех программно-доступных регистров и их битов, система прерывания, работа последовательного порта, возможности по расширению параллельных портов ввода/вывода, виды адресации и система команд.
Показаны основные принципы построения и программирования цифровых устройств на базе однокристальных микроконтроллеров, рассмотрены вопросы согласования с периферийными устройствами. Приведены многочисленные примеры программ, реализующих типовые процедуры обработки данных и управления объектами, рассматриваются схемы подключения стандартных средств, составляющих цифровое устройство. Рассмотрены вопросы моделирования и отладки микропроцессорного устройства, а также программирование управляющей программы в ПЗУ контроллера.
В конце каждого раздела пособия приведены задания для самостоятельной работы, позволяющие закрепить изученный материал.
Пособие ориентировано на студентов специальностей 220301 “Автоматизация технологических процессов и производств” и 220201 “Управление и информатика в технических системах”, изучающих дисциплины “Основы микропроцессорной техники”, “Однокристальные микроконтроллеры”, “Проектирование микропроцессорных систем” и выполняющих курсовые и дипломные проекты.
Рецензенты: Заведующий кафедрой ПО ЭВМ Череповецкого государственного университета к.т.н., профессор Е.В.Ершов;
Заместитель директора по научной и учебной работе ЧФ ИБП д.т.н., профессор В.Р. Аншелес.
Научный редактор канд. техн. наук, проф. В.А. Шабалов
ISBN 5-88954-143-9 © ГОУ ВПО “Череповецкий
государственный университет”, 2007
“Пройди путь от ученика до мастера”
В в е д е н и е
Появление однокристальных микроконтроллеров (МК) значительно упростило процесс разработки новых цифровых устройств автоматики и бытовой радиоэлектроники в сравнении с устройствами, создаваемыми на однокристальных микропроцессорах /1/. Старый добрый “прадедушка” микропроцессор 580 безнадежно устарел. За это время появились новые типы микропроцессоров, а также однокристальные МК. Архитектура МК – это результат эволюции архитектуры микропроцессоров и микропроцессорных систем, обусловленной стремлением существенно снизить их аппаратные затраты и стоимость. Средняя стоимость 8 - разрядной однокристального МК составляет в настоящее время 3-4 $ (USA) и держится постоянной на протяжении ряда лет. Эти микропроцессорные средства предназначены для “интеллектуализации” оборудования в различных отраслях промышленности. В некоторых публикациях отмечается, что более 2/3 мирового рынка микропроцессорных устройств автоматики построено именно на однокристальных МК. Использование МК в информационных и управляющих системах столь эффективно (при низкой стоимости контроллера), что, видимо, в ближайшем будущем им не будет альтернативной элементной базы.
МК представляют собой большие интегральные схемы, включающие в себя все устройства и режимы, необходимые для реализации цифрового устройства любой сложности: память программ, память данных, таймеры-счетчики, параллельные и последовательный порты, встроенный генератор. Однокристальные МК позволяют легко построить цифровое устройство любой сложности с малым током потребления и широкими функциональными возможностями / 2 /. Основная доля затрат времени (приблизительно 80%) при создании нового устройства приходится на разработку программного обеспечения. В периодической литературе рассматриваются цифровые устройства на различных типах однокристальных МК, приводятся таблицы с HEX кодами для программирования устройства, объясняется работа электрической принципиальной схемы и не затрагиваются вопросы методики программирования процедур и управляющей программы. Как правило, предлагается просто повторить устройство и запрограммировать его кодами, которые указаны в таблице. Такой подход не позволяет понять до конца принцип функционирования устройства и дополнить его новыми функциональными возможностями.
Отечественной промышленностью выпускались МК серий 1816 (n-MOП технология) и 1830 (КМОП технология) известных семейств МК48 (MCS48) и МК51 (MCS51). Зарубежные производители выпускают большую номенклатуру однокристальных МК. Среди большого количества разработчиков отметим занявшие передовые позиции на мировом контроллерном рынке фирмы: ATMEL ( AVR, семейство АТ89), MICROCHIP (PIC-контроллеры), INTEL (MCS51). Производители МК интенсивно работают над улучшением характеристик устройств. Основные тенденции развития следующие: увеличение быстродействия МК, рост объемов памяти данных и программ, увеличение количества таймеров-счетчиков и портов, снижение токопотребления, применение FLASH технологии записи в память программ и данных (многократно электрически перепрограммируемая память взамен ультрафиолетового стирания), на кристалле МК размещаются АЦП с аналоговым коммутатором, ЦАП и широтно-импульсные модуляторы (ШИМ), увеличение нагрузочной способности разрядов портов.
В предлагаемом учебном пособии в комплексе рассматриваются вопросы, связанные с разработкой аппаратных средств и программного обеспечения при проектировании цифрового устройства, методики создания прикладной управляющей программы.
Материал пособия основан на лекционных курсах “Однокристальные микроконтроллеры” и “Основы микропроцессорной техники”, читаемых автором на протяжении ряда лет на кафедре “Автоматизации и систем управления” ЧГУ. В качестве изучаемого объекта выбраны однокристальные МК классического семейства MCS51. Выбор того или иного типа МК (AVR, pic-контроллеры, MCS51) для цифрового устройства определяется задачами, которые нужно решить. Так, например, pic-контроллеры (RISC тип), имеющие упрощенную систему команд, в основном ориентированы на применение в схемах, решающих логические задачи. Они обладают малыми габаритами, малым током потребления, высокой нагрузочной способностью разрядов. Если требуется решать более интеллектуальные задачи, где необходимо выполнить какие-либо вычисления по формулам, на взгляд автора, более выгодно семейство MCS51, имеющее 111 ассемблерных команд, включая команды умножения и деления / 3 /.
Некоторые читатели могут возразить:“Зачем создавать свои контроллеры?” В настоящее время множество зарубежных и отечественных фирм, таких как OCTAGON, FASTWEL, OMRON, ADVANTECH, ТЕХНОКОНТ, SIEMENS и др., предлагает свои разработки. Как правило, выпускаемые контроллеры предназначены для решения задач АСУ ТП и стоят не дешево. Базовый процессорный модуль с блоком питания имеет цену 300 $. Если добавить многоканальные платы аналогового и дискретного ввода/вывода цена возрастет до 800$. Необходимо адаптировать универсальный контроллер для своей задачи. При решении определенных задач не всегда нужна многоканальность. Это касается, например, разработки устройств для оперативного контроля параметров оборудования и измерительной техники. Как правило, это одноканальное устройство с возможностью обработки и сохранения информации о параметрах в энергонезависимой памяти. Стоимость такого прибора, построенного с использованием однокристального МК, будет на порядок ниже предлагаемых контроллеров.
Желаю своим читателям успехов в изучении методики разработки и программирования микропроцессорной техники.
