Микроконтроллеры
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
ЛИТЕРАТУРА ПО ДИСЦИПЛИНЕ
1. А.В. Боборыкин, Г.П. Липовецкий и др. Справочник. Однокристальные микроЭВМ. М.: МИКАП, 1994. – 400 с.
2. В.В. Сташин, А.В. Урусов и др. Проектирование цифровых устройств на однокристальных микроконтроллерах – М.: Энергоатомиздат, 1990. – 224 с.
3. М. Предко. Руководство по микроконтроллерам. Том 1. Москва.: ПОСТМАРКЕТ,
2001. – 416 с.
4. А.Г. Горюнов, С.Н. Ливенцов. Архитектура микроконтроллера INTEL 8051. [Электронный ресурс]. URL: portal.tpu.ru›Кафедры›ФТИ›books_eafu1/Tab/MCS51.pdf –
10.02.2014.
5. С.А. Гурьянов. Микроконтроллер INTEL8051: Курс лекций / ФГБОУ «Новгородский государственный университет им. Ярослава Мудрого», Великий Новгород,
2012 г. – 89 с.
6. Ю.С. Магда. Микроконтроллеры серии 8051: практический подход. – М.: ДМК
Пресс, 2008. – 228 с.
7. В.Б. Бродин, Шагурин И.И. Микроконтроллеры. Архитектура, программирование,
интерфейс. – М.: Издательство Эком, 1999. – 400 с.: илл.
8. www.8052.com
9. www.silabs.com C8051F41x.pdf, Data Sheets C8051F410/1/2/3, Silicon Labs.
10. Macro Assembler and Utilities for 8051 and Variants/ User’s Guide 07. 2000 – Keil
Software, Inc.
ВВЕДЕНИЕ
В1. Терминология
Микропроцессор – большая интегральная схема (БИС), способная выполнять функции
центрального процессора.
Обязательными компонентами микропроцессора (МП) являются арифметико-логическое
устройство (АЛУ) и блок управления. Они характеризуются скоростью, длиной слова
(внешней и внутренней), архитектурой, набором команд. Эффективность микропроцессора определяется сочетанием этих характеристик, а не только временем цикла. Архитектура процессора определяет необходимые регистры, стеки, систему адресации и средства
ввода-вывода, а также типы обрабатываемых процессором данных. Типы данных представляют собой базовые информационные объекты, манипулирование которыми обеспечивается системой команд: обычно это бит, полубайт (четыре бита), байт, слово (16 бит)
или двойное слово (32 бита).
В настоящее время в микроэлектронике одно из доминирующих направлений связано с
выпуском однокристальных микроконтроллеров, которые обеспечивают «интеллектуализацию» различных устройств и систем. Поскольку подавляющее большинство микроконтроллеров являются однокристальными, то далее будет использоваться термин «микроконтроллер».
Микроконтроллер (МК) – БИС, в состав которой входят все необходимые для построения микропроцессорной системы функциональные узлы: процессор, память программ и
память данных, программируемые интерфейсные узлы для связи с внешней средой и
вспомогательные узлы для эффективной работы микропроцессорной системы.
1
В2. Роль микроконтроллеров в современных интеллектуальных средствах измерений
Применение МК для реализации вычислительно-измерительных устройств и систем обеспечивает следующее:
1. Улучшение взаимодействия человек-машина (пользовательского интерфейса).
2. Увеличение числа функций на одну денежную единицу.
Использование МК в вычислительно-измерительных устройствах и системах позволяет обеспечить исключительно высокие технические характеристики при столь
низкой стоимости (во многих применениях устройство или система может состоять
только из одного МК), что микроконтроллерам пока нет разумной альтернативной
элементной базы для построения таких устройств и систем.
3. Упрощение конструкции устройства или системы.
4. Упрощение реализации интерфейса.
5. Использование «любой» математической обработки.
В3. Особенности проектирования микропроцессорных устройств. Место разработки программного обеспечения в разработке всего устройства в целом
Микроконтроллерные устройства (МКУ) имеют двойственную основу: аппаратные средства (АС) и программные средства (ПС).
Проектирование МКУ существенно отличается от традиционного проектирования ЭВМ и
электронного оборудования. Отличие заключается в определении практического взаимодействия между АС и ПС и их последующей интеграции в едином устройстве для выполнения заданных функций.
Наличие ПС в составе МКУ может приводить к необходимости их сопровождения в процессе эксплуатации МКУ. Причины те же, что вызывают необходимость сопровождения
любых ПС: в программах, как правило, остаются ошибки, не выявленные в процессе тестирования; в процессе производства и эксплуатации возникает необходимость внесения
изменений в ПС и их дальнейшего совершенствования; многие изменения аппаратной
части МКУ могут вызывать необходимость изменения ПС.
Процесс проектирования МКУ содержит ряд специфических этапов, обусловленных наличием как аппаратных, так и программных средств. Оптимальное комплексирование и
интегрирование АС и ПС в единой системе для выполнения общей задачи МКУ является
основной особенностью и проблемой процесса его проектирования.
В4. Краткие сведения о средствах разработки, тестирования и
отладки программного обеспечения
Исходную программу, которая представляется в виде одного или нескольких текстовых
файлов, необходимо преобразовать в двоичную форму, которая соответствует содержимому программной памяти МК. Этот процесс преобразования автоматизирован и выполняется с помощью специальных программных средств. Основу этих средств составляют:
ассемблер (компилятора);
редактор связей/компоновщик.
К основным средствам тестирования и отладки относятся симуляторы и внутрисхемные
эмуляторы. Симулятор – это программа, имитирующая работу целевого МК на персональном компьютере. При этом тестирование и отладка программ производится в нереальном времени. Внутрисхемный эмулятор – это аппаратно-программное средство, позволяющее вести тестирование и отладку программы в реальном времени. Обычно все сред2
ства тестирования и отладки позволяют в диалоговом режиме наблюдать и редактировать
значения всех ресурсов. Осуществлять выполнение программ по шагам, до курсора, непрерывно, до точек останова.
В современных МК средства отладки непосредственно входят в состав МК.
Современные средства разработки программ, обозначаемые в англоязычной литературе
аббревиатурой IDE (IDE сокр. от Integrated Development Environment интегрированная
среда разработки), объединяют как минимум:
Менеджер проекта (программное средство для управления проектами).
Редактор исходного кода (текста).
Ассемблер.
Редактор связей/компоновщик.
Программный отладчик (симулятор) на уровне исходного кода.
1. CТРУКТУРНАЯ ОРГАНИЗАЦИЯ МИКРОКОНТРОЛЛЕРОВ
СЕМЕЙСТВА MCS-51 (80C51)
1.1. ОБЩАЯ ХАРАКТЕРИСТИКА. УГО. НАЗНАЧЕНИЕ ВЫВОДОВ
Общая характеристика
Характеристика ядра
8-битовый микропроцессор;
встроенный тактовый генератор;
максимум 32 линии ввода-вывода;
Булевский процессор;
совместимость с ТТЛ и КМОП логическими уровнями;
Память
64 КБ адресное пространство внешней памяти программ;
64 КБ адресное пространство внешней памяти данных;
128-байтовое внутреннее ОЗУ;
Периферия
два 16-битовых программируемых счетчика-таймера;
программируемый последовательный порт, работающий в режиме UART или сдвигового регистра;
Система прерываний
5 источников прерываний;
два уровня приоритета;
Управление энергопотреблением:
холостой режим (Idle Mode);
режим микропотребления (Power Down Mode)
3
Структурная схема классического микроконтроллера 51-ого семейства AT89C51 фирмы
Atmel:
4
Структура современного микроконтроллера 51-ого семейства C8051F410 фирмы Silicon
Laboratories с развитой периферией:
5
Условное графическое обозначение и назначение выводов типового микроконтроллера 51ого семейства:
DD1
1
2
3
4
5
6
7
8
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
9
18
19
31
10
11
12
13
14
15
16
17
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
39
38
37
36
35
34
33
32
RST
ALE
30
BQ2
BQ1
PSEN
29
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
21
22
23
24
25
26
27
28
+5V
40
0V
20
SCM
EA
P3
0/RXD
1/TXD
2/INT0
3/INT1
4/T0
5/T1
6/WR
7/RD
80C51
Пример УГО микроконтроллера семейства
80С51
6
Назначение выводов представлено в табл. 1.1.
№ вывода
1–8
Обозначение
P1.0 – P1.7
9
RST
10 – 17
P3.0 – P3.7
18
19
20
BQ2
BQ1
0V
21 – 28
P2.0 – P2.7
29
30
PSEN
ALE
31
EA
32 – 39
P0.7 – P0.0
40
+5V (Vcc)
Назначение
Таблица 1.1. Назначение выводов 80С51
Тип
8-разрядный двунаправленный порт P1. Имеет внутреннюю подпитку от источника +5 В. Если записать все «1» – на выходе высокий
уровень; только при этом можно использовать порт для ввода.
Альтернативные функции:
Младший байт адреса (A0 – A7) при программировании РПЗУ,
ЭРПЗУ (PROM, EPROM)
Вывод для сброса МК. Высокий уровень на этом выводе сбрасывает
в исходное состояние микроконтроллер. Если запущен генератор,
требуется 2 машинных цикла; 19 – для сброса портов. Имеет внутреннюю подпитку.
8-разрядный двунаправленный порт P3. Имеет внутреннюю подпитку от источника +5 В. Если записать все «1» – на выходе высокий
уровень; только при этом можно использовать порт для ввода.
Альтернативные функции:
RXD – вход приемника последовательных данных;
TXD – выход передатчика последовательных данных;
INT0 – вход внешнего прерывания 0;
INT1 – вход внешнего прерывания 1;
T0 – вход счетчика-таймера 0;
T1– вход счетчика-таймера 1;
WR – выход стробирующего импульса при записи во внешнюю память данных;
RD – выход стробирующего импульса при чтении из внешней память данных;
Выводы для подключения кварцевого резонатора
Вывод для подключения к шине нулевого потенциала (общий вывод)
8-разрядный двунаправленный порт P1 с внутренней подпиткой от
источника +5 В. Если записать все «1» – на выходе высокий уровень; только в этом случае порт можно использовать для ввода.
Альтернативные функции:
Старший адресный байт (A8 – A15) при доступе к внешней памяти.
Кроме того, используется при программировании и проверке внутренней памяти программ.
Строб чтения из внешней памяти программ (Program Store Enable)
Строб фиксации младшего байта адреса при доступе к внешней памяти.
Альтернативные функции:
При программировании РПЗУ – сигнал PROG
External Access Enable. Разрешение доступа к внутренней памяти
программ. «1» – внутренняя память разрешена.
Альтернативные функции:
При программировании РПЗУ – Upp (12, 75 В).
8-разрядный двунаправленный порт P0 с открытым стоком. Допускает нагрузку 8 входов LS TTL. Если записать все «1», то образуется
высокоомный вход; только в этом случае порт можно использовать
для ввода.
Альтернативные функции:
Мультиплексированная шина младшего байта адреса/данных при
доступе к внешней памяти.
Шина данных при программировании внутренней памяти программ.
Вывод для подключения источника питания
Вход/
выход
Вход
Вход/
выход
Вход
Выход
Вход
Вход
Вход
Вход
Выход
Выход
Выход
Вход
Вход/
выход
Выход
Выход
Вход
Вход
Вход/
Выход
7
Табл.1.2. Некоторые данные микроконтроллеров семейства MCS-51
Тип
Память программ, байт
Внутренняя память данных,
байт
128
128
128
128
256
256 + 2048
Линий
ввода/
вывода
32
32
32
32
32
24
80C31BH
80C51BH
4K ROM
87C51
4K EPROM
AT89C51
4K Flash/EE
AT89C52
8K Flash/EE
C8051F410 32/16 K Flash
/1/2/3
1)
При тактовой частоте 50 МГц
Тактовая
частота,
МГц
3,5 16
3,5 16
3,5 20
0 24
0 24
0 50
Ток потребления, мА при
Fosc = 12 МГц
20/5/0,05
20/5/0,05
20/5/0,05
20/5/0,04
25/6,5/0,1
12/8/0.05 1)
1.2. ЗАДАЮЩИЙ ГЕНЕРАТОР И СИНХРОНИЗАЦИЯ
МИКРОКОНТРОЛЛЕРА
C1
18
BQ2
19
C2
BQ1
Типовая схема подключения кварцевого резонатора
C1, C2 = 30 пФ 10 пФ для кварцевого резонатора
40 пФ 10 пФ для пьезоэлектрического резонатора
Упрощенная схема тактового генератора
Ucc
PD
&
На внутренний формирователь тактовых импульсов
BQ1
BQ2
8
Подключение внешнего тактового генератора
18
Внешний
тактовый
генератор
BQ2
19
BQ1
Машинный цикл имеет фиксированную длительность и состоит из 6 состояний S1-S6, каждый из которых, в свою очередь, состоит из двух временных интервалов, определяемых
фазами P1 и P2. Длительность фазы равна периоду тактового генератора.
Машинный цикл
P1
S1
P2
P1
S2
P2
P1
S3
P2
P1
S4
P2
P1
S5
P2
P1
S6
P2
1.3. ОРГАНИЗАЦИЯ ПАМЯТИ
FFFF
FFFF
Внешняя
Внешняя
FF
2000
1FFF
80
7F
Внутренняя
0000
00
Память программ
РСФ
только
прямая
адресация
ОЗУ
только
косвенная
адресация
ОЗУ
прямая и
косвенная
адресации
Внутренняя память данных
0000
Внешняя память данных
9
СТРУКТУРА ОЗУ С ПРЯМОЙ И КОСВЕННОЙ АДРЕСАЦИЕЙ
FF
80
7F
7F
РСФ
только
прямая адресация
Прямая и
косвенная
адресации
00
Банк регистров
R7
R6
30
2F
20
1F
00
R5
Битовая область
R4
Банк 2
Банк 2
Банк 1
R3
R2
R1
Банк 0
R0
Выбор текущего (активного) банка осуществляется с помощью битов RS1, RS0 регистра
специальных функций PSW, битовая структура которого представлена ниже
7
CY
6
AC
5
F0
4
RS1
3
RS0
2
OV
1
F1
P
CY – бит переноса;
AC – бит дополнительного переноса;
F0 – бит (флаг) общего назначения;
RS1, RS0 – биты выбора текущего банка;
OV – бит переполнения при знаковых операциях;
F1 – бит (флаг) общего назначения (только в семействе 80С52);
P – бит паритета.
10
F8H
F0H
FFH
B
*
F7H
00000000
E8H
E0H
EFH
*
ACC
E8H
00000000
D8H
D0H
C8H
DFH
PSW*
D7H
00000000
T2CON*
RCAP2L
RCAP2H
TL2
TH2
00000000
00000000
00000000
00000000
00000000
CFH
C0H
B8H
B0H
A8H
A0H
98H
90H
88H
80H
C7H
*1
IP
BFH
XXX00000
*
P3
B7H
11111111
*2
IE
AFH
0XX00000
*
P2
11111111
*
A7H
SCON
SBUF
00000000
*
XXXXXXXX
9FH
P1
11111111
*
97H
TCON
TMOD
TL0
TL1
TH0
TH1
00000000
*
00000000
00000000
00000000
00000000
00000000
P0
SP
DPL
DPH
PCON
11111111
00000111
00000000
00000000
0XXX0000
8FH
87H
Карта РСФ
Дополнительные РСФ 80C52; * – РСФ с побитовой адресацией; 1 – XX000000
для 80C52; 2 – 0X000000 для 80C52
Общесистемные РСФ: ACC, B, PSW, P0 – P3, SP, DPL, DPH. Остальные РСФ используются для настройки и управления соответствующих периферийных устройств.
11
1.4. ДОСТУП К ВНЕШНЕЙ ПАМЯТИ
Временные диаграммы, поясняющие доступ к внешней памяти, рассмотреть самостоятельно.
12
1.5. ПОРТЫ ВВОДА-ВЫВОДА
Порты P0-P3 двунаправленные порты, содержащие 8-разрядный регистр-защелку и допускающие побитовую адресацию.
Устройство портов поясняет рисунок.
Последовательно рассматриваются устройства разрядов портов P0-P3.
Каждый разряд регистра-защелки – D-триггер. Данные можно записывать в регистрзащелку или считывать из нее. Кроме того, данные можно считывать непосредственно с
вывода порта.
Как видно из рисунка, выходные каскады портов 0 и 2 переключаются на внутреннюю
шину данных/адреса под действием внутреннего управляющего сигнала при доступе к
внешней памяти. При этом защелка P2 не изменяется, а в P0 записываются «1».
Альтернативные функции порта P3 реализуются только в том случае, если соответствующие разряды регистра-защелки содержат «1».
13
Порты P1-P3 имеют внутренние подпитки, а порт P0 имеет выход с открытым стоком.
Каждая линия может быть индивидуально использована в качестве входа или выхода.
Порты P0 и P2 не могут использоваться как порты общего назначения, когда они используются при доступе к внешней памяти. Чтобы линию порта использовать для ввода, в соответствующий разряд регистра-защелки необходимо записать «1», которая запретит выходной каскад. Порты P1-P3 имеют фиксированные внутренние подпитки. Поэтому они
будут источать ток при подаче на вход «0» (IIL = 50 мкА). С другой стороны, порт P0 – истинно двунаправленный, поскольку при конфигурировании его для ввода, он «плавает».
После сброса во все регистры-защелки портов записываются «1».
Выходной каскад портов P0-P3. Содержит 3 p-канальных МОП транзистора (р1-р3),
подключенных к Ucc, и один n-МОП транзистор, подключенный к шине нулевого потенциала. Отметим, что n-МОП транзистор открывается «1», а . p-МОП транзистор – «0».
Транзистор P1 включается на 2*1/Fosc для уменьшения времени перехода из «0» в «1»
(источает ток раз в 100 больше, чем в нормальном режиме «подтяжки»). Инвертор и P3
образуют триггер, который удерживает состояние логической «1» на выходе порта, когда
P1закрывается. P3 при этом играет роль подтягивающего резистора. Для предотвращения
запирания P3 помехой служит транзистор P2, который работает в противофазе с nканальным транзистором. После исчезновения помехи транзистор P2 через инвертор
вновь откроет транзистор P3. Ток через P2 приблизительно в 10раз меньше тока через P3.
Чтение-модификация-запись. Некоторые инструкции чтения из порта считывают данные с защелок порта, а другие – непосредственно с его выводов. Инструкции, считывающие информацию с защелок, возможно изменяют ее, а затем переписывают ее в защелку.
Такая инструкция реализует так называемый режим «чтение-модификация-запись». Ниже
перечислены такие инструкции. Когда операндом
Инструкция
Пример
назначения является порт или бит порта, то при исполнении инструкции данные считываются с выхоANL P1,A
ANL
дов защелок. Не очевидно, что последние три коORL P2,A
ORL
манды относятся к рассматриваемой группе коXRL P3,A
XRL
манд, но это не так. Они считывают байт , модифицируют адресуемый байт, затем записывают полуJBC P1.1,L1
JBC
ченный новый байт обратно в регистр-защелку.
CPL P3.0
CPL
INC
INC P2
DEC
DEC P2
DJNZ
DJNZ P3,L1
MOV
MOV PX.Y,C
CLR
CLR PX.Y
SETB
SETB PX.Y
Чтение данных с выходов защелок, а не с внешних
выводов порта позволяет исключить возможную в
ряде случаев неправильную интерпретацию уровня
напряжения на выводе порта.
14