Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Kharakhnin / Аналоговые и цифр. устройства авт. пособие

.pdf
Скачиваний:
60
Добавлен:
08.03.2016
Размер:
3.06 Mб
Скачать

Министерство образования и науки Российской Федерации Федеральное агентство по образованию

ГОУ ВПО Череповецкий государственный университет Институт информационных технологий

Кафедра Автоматизации и систем управления

К. А. Харахнин, канд. техн. наук, проф.

Аналоговые и цифровые устройства автоматики

У Ч Е Б Н О Е П О С О Б И Е

Ч Е Р Е П О В Е Ц 2007

УДК 681.58: 681.32

ХАРАХНИН К.А. Основы проектирования микропроцессорных устройств автоматики на однокристальных микроконтроллерах: Учебное пособие. – Череповец: ЧГУ, 2007. – 234 с.

Учебное пособие содержит теоретические сведения об архитектуре и устройстве однокристальных микроконтроллеров семейства MCS51. Рассматриваются назначение всех программно-доступных регистров и их битов, система прерывания, работа последовательного порта, возможности по расширению параллельных портов ввода/вывода, виды адресации и система команд.

Показаны основные принципы построения и программирования цифровых устройств на базе однокристальных микроконтроллеров, рассмотрены вопросы согласования с периферийными устройствами. Приведены многочисленные примеры программ, реализующих типовые процедуры обработки данных и управления объектами, рассматриваются схемы подключения стандартных средств, составляющих цифровое устройство. Рассмотрены вопросы моделирования и отладки микропроцессорного устройства, а также программирование управляющей программы в ПЗУ контроллера.

В конце каждого раздела пособия приведены задания для самостоятельной работы, позволяющие закрепить изученный материал.

Пособие ориентировано на студентов специальностей 220301 “Автоматизация технологических процессов и производств” и 220201 “Управление и информатика в технических системах”, изучающих дисциплины “Основы микропроцессорной техники”, “Однокристальные микроконтроллеры”, “Проектирование микропроцессорных систем” и выполняющих курсовые и дипломные проекты.

Рецензенты: Заведующий кафедрой ПО ЭВМ Череповецкого государственного университета к.т.н., профессор Е.В.Ершов; Заместитель директора по научной и учебной работе ЧФ ИБП д.т.н., профессор В.Р. Аншелес.

Научный редактор

канд. техн. наук, проф. В.А. Шабалов

ISBN 5-88954-143-9

© ГОУ ВПО “Череповецкий

 

государственный университет”, 2007

 

“Пройди путь от ученика до мастера”

 

2

В в е д е н и е

Появление однокристальных микроконтроллеров (МК) значительно упростило процесс разработки новых цифровых устройств автоматики и бытовой радиоэлектроники в сравнении с устройствами, создаваемыми на однокристальных микропроцессорах /1/. Старый добрый “прадедушка” микропроцессор 580 безнадежно устарел. За это время появились новые типы микропроцессоров, а также однокристальные МК. Архитектура МК

– это результат эволюции архитектуры микропроцессоров и микропроцессорных систем, обусловленной стремлением существенно снизить их аппаратные затраты и стоимость. Средняя стоимость 8 - разрядной однокристального МК составляет в настоящее время 3-4 $ (USA) и держится постоянной на протяжении ряда лет. Эти микропроцессорные средства предназначены для “интеллектуализации” оборудования в различных отраслях промышленности. В некоторых публикациях отмечается, что более 2/3 мирового рынка микропроцессорных устройств автоматики построено именно на однокристальных МК. Использование МК в информационных и управляющих системах столь эффективно (при низкой стоимости контроллера), что, видимо, в ближайшем будущем им не будет альтернативной элементной базы.

МК представляют собой большие интегральные схемы, включающие в себя все устройства и режимы, необходимые для реализации цифрового устройства любой сложности: память программ, память данных, таймерысчетчики, параллельные и последовательный порты, встроенный генератор. Однокристальные МК позволяют легко построить цифровое устройство любой сложности с малым током потребления и широкими функциональными возможностями / 2 /. Основная доля затрат времени (приблизительно 80%) при создании нового устройства приходится на разработку программного обеспечения. В периодической литературе рассматриваются цифровые устройства на различных типах однокристальных МК, приводятся таблицы с HEX кодами для программирования устройства, объясняется работа электрической принципиальной схемы и не затрагиваются вопросы методики программирования процедур и управляющей программы. Как правило, предлагается просто повторить устройство и запрограммировать его кодами, которые указаны в таблице. Такой подход не позволяет понять до конца принцип функционирования устройства и дополнить его новыми функциональными возможностями.

Отечественной промышленностью выпускались МК серий 1816 (n- MOП технология) и 1830 (КМОП технология) известных семейств МК48 (MCS48) и МК51 (MCS51). Зарубежные производители выпускают боль-

3

шую номенклатуру однокристальных МК. Среди большого количества разработчиков отметим занявшие передовые позиции на мировом контроллерном рынке фирмы: ATMEL ( AVR, семейство АТ89), MICROCHIP (PIC-контроллеры), INTEL (MCS51). Производители МК интенсивно работают над улучшением характеристик устройств. Основные тенденции развития следующие: увеличение быстродействия МК, рост объемов памяти данных и программ, увеличение количества таймеровсчетчиков и портов, снижение токопотребления, применение FLASH технологии записи в память программ и данных (многократно электрически перепрограммируемая память взамен ультрафиолетового стирания), на кристалле МК размещаются АЦП с аналоговым коммутатором, ЦАП и широтно-импульсные модуляторы (ШИМ), увеличение нагрузочной способности разрядов портов.

В предлагаемом учебном пособии в комплексе рассматриваются вопросы, связанные с разработкой аппаратных средств и программного обеспечения при проектировании цифрового устройства, методики создания прикладной управляющей программы.

Материал пособия основан на лекционных курсах “Однокристальные микроконтроллеры” и “Основы микропроцессорной техники”, читаемых автором на протяжении ряда лет на кафедре “Автоматизации и систем управления” ЧГУ. В качестве изучаемого объекта выбраны однокристальные МК классического семейства MCS51. Выбор того или иного типа МК (AVR, pic-контроллеры, MCS51) для цифрового устройства определяется задачами, которые нужно решить. Так, например, picконтроллеры (RISC тип), имеющие упрощенную систему команд, в основном ориентированы на применение в схемах, решающих логические задачи. Они обладают малыми габаритами, малым током потребления, высокой нагрузочной способностью разрядов. Если требуется решать более интеллектуальные задачи, где необходимо выполнить какие-либо вычисления по формулам, на взгляд автора, более выгодно семейство MCS51, имеющее 111 ассемблерных команд, включая команды умножения и деления / 3 /.

Некоторые читатели могут возразить:“Зачем создавать свои контроллеры?” В настоящее время множество зарубежных и отечественных фирм, таких как OCTAGON, FASTWEL, OMRON, ADVANTECH, ТЕХ-

НОКОНТ, SIEMENS и др., предлагает свои разработки. Как правило, выпускаемые контроллеры предназначены для решения задач АСУ ТП и стоят не дешево. Базовый процессорный модуль с блоком питания имеет цену 300 $. Если добавить многоканальные платы аналогового и

4

дискретного ввода/вывода цена возрастет до 800$. Необходимо адаптировать универсальный контроллер для своей задачи. При решении определенных задач не всегда нужна многоканальность. Это касается, например, разработки устройств для оперативного контроля параметров оборудования и измерительной техники. Как правило, это одноканальное устройство с возможностью обработки и сохранения информации о параметрах в энергонезависимой памяти. Стоимость такого прибора, построенного с использованием однокристального МК, будет на порядок ниже предлагаемых контроллеров.

Желаю своим читателям успехов в изучении методики разработки и программирования микропроцессорной техники.

ГЛАВА 1. АРХИТЕКТУРА И УСТРОЙСТВО

5

ОДНОКРИСТАЛЬНЫХ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА MCS 51

1.1. Внутренняя организация МК

Рассмотрим архитектуру однокристального МК К1830ВЕ751, представленную на рис.1. МК не являются машинами классического “фоннеймановского” типа, поскольку память программ и память данных физически и логически разделена. Такая архитектура называется “гарвардской”. Рассматриваемый МК содержит все узлы, необходимые для автономной работы:

-центральный восьмиразрядный процессор;

-память программ объемом в 4 кбайта;

-память данных объемом в 128 байт;

-4 восьмиразрядных параллельных порта ввода-вывода;

-2 шестнадцатиразрядных многорежимных таймера-счетчика;

-систему прерываний с 5 векторами прерываний и двумя уровнями;

-последовательный порт;

-встроенный тактовый генератор.

АЛУ – 8 - разрядное арифметико-логичеcкое устройство позволяет выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции “И”, “ИЛИ”, “исключающее ИЛИ”, “НЕ”, а также операции циклического сдвига. АЛУ содержит программно - недоступные регистры Т1 и Т2, предназначенные для временного хранения операндов. АЛУ может оперировать четырьмя видами информационных объектов: битами, тетрадами, байтами, шестнадцатиразрядными словами. Особенно важна способность АЛУ работать с битами. Семейство МК51 даже называют “битовым процессором”, что показывает направленность этих МК на решение задач управления объектами. Рассмотрим элементы архитектуры.

А (АСС)– аккумулятор представляет 8 - разрядный регистр, предназначенный для приема и хранения результата, полученного при выполнении арифметико-логических операций.

PSW – 8- разрядный регистр состояния, предназначен для хранения информации о состоянии результата текущей выполненной команды.

В – 8 - разрядный регистр, используемый во время операции умножения и деления, для других команд может рассматриваться как сверхоперативный регистр.

6

EPROM - 4 - килобайтное перепрограммируемое (стираемое ультрафиолетовыми лучами) постоянное запоминающее устройство, предназначено для долговременного хранения кодов программы и констант (таблиц перекодировок).

RAM - 128 - байтное оперативное запоминающее устройство, предназначено для временного хранения переменных в процессе выполнения прикладной программы.

PC – счетчик команд - шестнадцатиразрядный регистр, предназначен для хранения адреса следующей выполняемой команды прикладной программы.

DPTR – 16 - разрядный регистр, предназначен для хранения адреса ячейки внешней памяти. Этот регистр состоит из двух половинок DPL ( младший байт) и DPH (старший байт), которые программно - доступны и независимы.

OSC – внутренний генератор, который вырабатывает импульсы синхронизации.

Блок управления и синхронизации – предназначен для выработки управляющих сигналов, обеспечивающих координацию совместной работы блоков МК во всех режимах работы.

SP – восьмибитный регистр - указатель стека, предназначенный для хранения адреса вершины стека. При системном сбросе в указателе стека находится адрес 07H. Область стека в ОЗУ начинается с адреса 08Н. При необходимости программно можно переопределить адрес SP в ОЗУ.

RAR – восьмиразрядный регистр (программно недоступен), предназначенный для хранения адреса ячейки внутреннего ОЗУ.

Десятичный корректор – устройство, позволяющее проводить десятичную коррекцию результата, находящегося в аккумуляторе (имеется специальная команда DA A).

PCON – восьмиразрядный регистр, предназначенный для управления режимом пониженного энергопотребления.

IE – восьмиразрядный регистр разрешения или запрещения прерываний от соответствующих источников.

IP – восьмиразрядный регистр установки приоритетов прерываний. TMOD – восьмиразрядный регистр для настройки таймеров-

счетчиков на соответствующий режим.

TCON – восьмиразрядный регистр для управления таймерамисчетчиками, а также для хранения информации о состоянии системы прерываний МК.

7

EPROM 4kB x 8

RAM 128B x 8

PC

0

 

DPTR

Порт

 

RAR

2

 

SP

Порт

 

PSW

АЛУ

Десятичный

корректор

 

PME

 

 

 

 

 

и

 

 

 

 

 

ALE

синхронизации управления

 

 

 

 

 

DEMA

 

 

 

 

 

Блок

 

RST

 

 

 

 

 

 

 

 

 

 

BQ1 Генера-

BQ2 тор OSC

Т1 Т2 А В

Блок прерываний, таймеров и последовательного порта

PCON TMOD TCON SCON

 

Таймер 0

SBUF

IE

 

 

Прием

TH0

TL0

 

.

 

 

 

 

 

Таймер 1

SBUF

IP

 

 

TH1

TL1

Перед.

 

 

 

 

 

Порт 3 Порт 1

Рис. 1. Архитектура однокристального МК К1830ВЕ751

8

TL0,TH0 (T/C0), TL1,TH1 (T/C1) – соответственно младшие и стар-

шие байты регистра таймеров-счетчиков 0 и 1.

SCON – восьмиразрядный регистр предназначен для приема и хранения кода, управляющего последовательным портом МК.

SBUF - буферный восьмиразрядный регистр передатчика и приемника, предназначенный для временного хранения передаваемого или принимаемого информационного байта последовательного порта.

С целью оценки технических возможностей МК различных фирм кратко рассмотрим основные параметры табл. 1. Из таблицы видно, что некоторые МК не содержат на кристалле память программ. Для работы таких устройств требуется внешняя память, подключение которой будет рассмотрено позже. Некоторые МК содержат УФППЗУ - перепрограммируемое постоянное запоминающее устройство со стиранием ультрафиолетовыми лучами. На корпусе таких устройств имеется специальное окно, покрытое кварцевым стеклом, через которое видно кристалл микросхемы. Именно через это окно происходит облучение кристалла ультрафиолетовыми лучами в случае стирания записанной программатором прикладной программы. Такие микросхемы выгодны на этапе отладки программного обеспечения микропроцессорного устройства, поскольку программу можно записывать несколько раз. Отдельные микросхемы содержат память программ в виде ПЗУ. В такую память программа записывается единожды. Эти МК удобно использовать в серийном производстве контроллеров, когда программа отлажена и модифицироваться не будет.

В последнее время в качестве памяти программ используется FLASH

память (AT89C55, AT89LV55, AT89S8252) / 2 /. FLASH технология поз-

воляет многократно (1000 раз гарантировано) программировать память электрическими сигналами. Микросхема AT89S8252 содержит в дополнение к внутренней памяти данных 2 - килобайтное FLASH ОЗУ, число циклов стирания/записи которого составляет 100000. Размещенная на кристалле энергонезависимая внешняя память данных позволяет хранить константы, таблицы и другие данные, которые должны допускать возможность оперативного изменения в процессе работы без потери их при выключении напряжения питания. Микросхемы ATMEL, содержащие в маркировке букву S, имеют устройство SPI (Serial Peripheral Interface) -

последовательный периферийный интерфейс, который может использоваться для программной загрузки.

Современные МК в дополнение к основным таймерам/счетчикам содержат так называемый сторожевой таймер (WATCH DOG). Он предна-

9

значен для исключения ситуаций, когда процессор “зависает”. С этой целью сторожевой таймер вырабатывает сигнал сброса по истечению определенного заданного интервала времени.

В настоящее время широкое распространение получили МК фирмы MICROCHIP, так называемые pic-контроллеры / 3 /. Эти устройства относятся к RISC виду, имеют упрощенную систему команд. Их отличает высокое быстродействие, высокая нагрузочная способность разрядов портов (25 мА), низкое потребление энергии (2мА при +5В и частоте 4мГц, в режиме SLEEP – 1 мкА), последовательный порт для PIC16C74 имеет режимы SPI и приборной, двухпроводной шины I2C.

 

 

 

 

 

 

Таблица 1

 

Объем внут-

Тип па-

Объем

Такто-

Ток

Особенности

 

ренней памя-

мяти про-

памяти

вая ча-

по-

 

МК

ти программ,

грамм

дан-

стота,

треб-

 

 

байт

 

ных,

мГц

ления,

 

 

 

 

байт

 

мА

 

1

2

3

4

5

6

7

INTEL 8035

Нет

Внешняя

64

6

135

 

(КР1816ВЕ35)

 

 

 

 

 

 

INTEL 8748

1кБ

УФППЗУ

64

6

135

 

(КР1816ВЕ48)

 

 

 

 

 

 

INTEL 8039

Нет

Внешняя

128

11

110

 

(КР1816ВЕ39)

 

 

 

 

 

 

INTEL 8049

2кБ

ПЗУ

128

11

110

 

(КР1816ВЕ49)

 

 

 

 

 

 

INTEL 80C35

Нет

Внешняя

64

6

8

 

(КР1830ВЕ35)

 

 

 

 

 

 

INTEL 80C48

1кБ

ПЗУ

64

6

8

 

(КР1830ВЕ48)

 

 

 

 

 

 

INTEL 8031AH

Нет

Внешняя

128

12

150

 

(КР1816ВЕ31)

 

 

 

 

 

 

INTEL 8051AH

4кБ

ПЗУ

128

12

150

 

(КР1816ВЕ51)

 

 

 

 

 

 

INTEL 8751H

4 кБ

УФППЗУ

128

12

220

 

(К1816ВЕ751)

 

 

 

 

 

 

INTEL

 

 

 

 

 

 

80C31BH

Нет

Внешняя

128

12

18

 

(КР1830ВЕ31)

 

 

 

 

 

 

INTEL

 

 

 

 

 

 

80C51BH

4 кБ

ПЗУ

128

12

18

 

(КР1830ВЕ51)

 

 

 

 

 

 

10