- •1. Архитектура семейства mcs51.
- •1.1 Общие характеристики.
- •1.2 Структурная схема.
- •1.3 Назначение выводов микроконтроллера 8051.
- •3.4 Организация памяти.
- •1.4.1 Память программ (пзу).
- •1.4.2 Память данных (озу).
- •1.4.3 Регистры специальных функций.
- •1.4.4 Регистр флагов (psw).
- •1.5 Устройство управления и синхронизации.
- •1.6 Организация портов ввода вывода
- •1.6.1 Общие сведения.
- •1.6.2 Альтернативные функции.
- •1.7 Таймеры / счетчики микроконтроллеров семейства 8051.
- •1.7.1 Регистр режима работы таймера/счетчика tmod
- •1.7.2.Регистр управления/статуса таймера tcon.
- •1.7.3 Режимы работы таймеров-счетчиков.
- •1.8 Последовательный порт.
- •1.9 Регистр управления/статуса приемопередатчика scon.
- •1.9.1 Функциональное назначение бит регистра управления/статуса приемопередатчика scon
- •1.9.2 Скорость приема/передачи информации через последовательный порт.
- •1.9.3 Регистр управления мощностью pcon.
- •1.10 Система прерываний.
- •1.10.1 Регистр масок прерывания (ie).
- •1.10.2 Регистр приоритетов прерываний (ip).
- •1.10.3 Выполнение подпрограммы прерывания.
- •2. Особенности элементов структуры 80c51 gb
- •2 .1 Функциональные особенности кристаллов 8xc51gb
- •3.2 Порты I/o p0-p5
- •Альтернативные функции выводов портов 0-5
- •3.3 Система прерываний 8xc51gb
- •Вектора прерываний
- •Регистр iе
- •Регистр iеа
- •Регистр ip
- •Регистр iрн кристаллов 8xc51gb
- •Регистр ipа кристалла 8xc51gb
- •Регистр iрна кристаллов 8xc51gb
- •Регистр exicon
- •3.4 Узел ацп Функциональная схема ацп
- •Регистр результата сравнения асмр
- •Регистр управления ацп acon
- •3.5 Аппаратный сторожевой таймер
- •3.6 Обнаружение сбоя тактового генератора
- •3.7 Матрица программируемых счётчиков рса
- •Регистр управления рса - ccon
- •Режимы работы модулей сравнения/фиксации
- •16-Битный режим фиксации.
- •16-Битный режим фиксации рса
- •16-Битный режим сравнения: программный таймер и высокоскоростной выход
- •Режим сторожевого таймера
- •Режим широтно-импульсного модулятора
- •Соответствие имён регистров и битов узлов рса и рса1
- •3.8 Расширенный последовательный порт
- •Режимы работы порта sep
- •Регистр управления sepcon
- •Регистр состояния sepstat
- •3.9 Таймеры/счетчики
- •4. Основы программирования mk 8051gb
- •4.1 Программная модель
- •4.2 Типы данных
- •Память данных (озу)
- •4.3 Способы адресации данных
- •4.4 Система команд
- •4.4.1 Общая характеристика
- •4.4.2 Типы команд
- •Типы команд
- •4.4.3 Типы операндов
- •4.4.4 Группы команд
- •4.4.5 Oбозначения, используемые при описании команд
- •4.4.6 Команды пересылки данных микроконтроллера
- •4.4.7 Команды арифметических операций 8051
- •4.4.8 Команды логических операций микроконтроллера 8051
- •4.4.9 Команды операций над битами микроконтроллера 8051
- •4.4.10. Команды передачи управления микроконтроллера 8051
- •5. Язык программирования asm-51.
- •5.1 Отладка программ.
- •5.2 Запись текста программы на языке программирования asm-51.
- •5.3 Алфавит языка.
- •5.4 Идентификаторы.
- •5.5 Числа.
- •5.6 Директивы языка программирования asm-51.
- •5.7 Реализация подпрограмм на языке asm51.
- •5.7.1 Реализация подпрограмм-процедур на языке asm51.
- •5.7.2 Передача переменных-параметров в подпрограмму.
- •5.7.3 Реализация подпрограмм-функций на языке asm51.
- •5.7.4 Реализация подпрограмм обработки прерываний на языке asm51.
- •5.8 Структурное программирование на языке asm-51.
- •5.9 Многомодульные программы.
- •5.10 Использование сегментов в языке программирования ассемблер.
- •5.10.1 Абсолютные сегменты памяти.
- •5.10.2 Перемещаемые сегменты памяти.
- •6. Язык программирования с-51.
- •6.1 Применение.
- •6.2 Отладка программ.
- •6.3 Структура программ с-51.
- •6.4. Символы языка программирования с-51.
- •6.4.1 Лексические единицы, разделители и использование пробелов.
- •6.4.2 Идентификаторы.
- •6.4.3 Ключевые слова.
- •6.4.4 Константы.
- •6.5 Выражения в операторах языка программирования c-51.
- •6.6 Приоритеты выполнения операций.
- •6.7 Операторы языка программирования c-51.
- •6.7.1 Операторы объявления.
- •6.7.2 Исполняемые операторы.
- •6.7.3 Оператор присваивания.
- •6.7.4 Условный оператор.
- •6.7.5 Структурный оператор {}.
- •6.7.6 Оператор цикла for.
- •6.7.7 Оператор цикла с проверкой условия до тела цикла while.
- •6.7.8 Оператор цикла с проверкой условия после тела цикла do while.
- •6.7.9 Оператор break.
- •6.7.10 Оператор continue.
- •6.7.11 Оператор выбора switch.
- •6.7.12 Оператор безусловного перехода goto.
- •6.7.13 Оператор выражение.
- •6.7.14 Оператор возвращения из подпрограммы return.
- •6.7.15 Пустой оператор.
- •6.8 Объявление переменных в языке программирования c-51.
- •6.8.1 Категории типов данных.
- •6.8.2 Целые типы данных.
- •6.8.3 Числа с плавающей запятой.
- •6.8.4 Переменные перечислимого типа.
- •6.9 Объявление массивов в языке программирования c-51.
- •6.10 Структуры.
- •6.10.1 Поля битов.
- •6.11 Объединения (смеси).
- •6.12 Объявление указателей в языке программирования c-51.
- •6.12.1 Нетипизированные указатели.
- •6.12.2 Память зависимые указатели.
- •6.13. Объявление новых типов переменных.
- •6.14. Инициализация данных.
- •6.15. Использование подпрограмм в языке программирования с-51.
- •6.15.1 Определение подпрограмм.
- •6.15.2 Параметры подпрограмм.
- •6.15.3 Предварительное объявление подпрограмм.
- •6.15.4 Вызов подпрограмм.
- •6.15.5 Рекурсивный вызов подпрограмм.
- •6.15.6 Подпрограммы обработки прерываний.
- •6.15.7 Области действия переменных и подпрограмм.
- •6.16. Многомодульные программы.
- •7. Подготовка программ
- •7.1 Пример создания проекта на языке ассемблера для учебного контроллера в интегрированной среде разработки Keil μVision2.
- •7.2 Пример создания проекта на языке c для учебного контроллера в интегрированной среде разработки Keil μVision2.
- •8. Описание стенда
- •8.1. Структура контроллера
- •8.2 Структура по
- •8.3 Адресное пространство
- •8.4 Внешняя память
- •8.5 Внутренняя память данных
- •8.6 Регистры специальных функций
- •Передняя панель
- •Задняя панель
- •9. Лабораторные работы мк-51
- •10. Отчет по лабораторной работе
- •1. Введение
- •2. Архитектура семейства mcs51.
- •3. Особенности элементов структуры 80c51 gb
- •4. Основы программирования mk 8051gb
- •5. Язык программирования asm-51.
- •6. Язык программирования с-51.
- •7. Подготовка программ
- •8. Описание стенда
- •9. Лабораторные работы мк-51
- •10. Отчет по лабораторной работе
4. Основы программирования mk 8051gb
4.1 Программная модель
Резедентная память данных
|
Адреса |
(D7) |
|
|
|
|
|
|
(D0) |
|
7FH |
| |||||||
|
|
| |||||||
|
2FH |
7F |
7E |
|
|
|
|
79 |
78 |
|
2EH |
77 |
|
|
|
|
|
|
70 |
|
2DH |
6F |
|
|
|
|
|
|
68 |
|
2CH |
67 |
|
|
|
|
|
|
60 |
|
2BH |
5F |
|
|
|
|
|
|
58 |
|
2AH |
57 |
|
|
|
|
|
|
50 |
|
29H |
4F |
|
|
|
|
|
|
48 |
|
28H |
47 |
|
|
|
|
|
|
40 |
|
27H |
3F |
|
|
|
|
|
|
38 |
|
26H |
37 |
|
|
|
|
|
|
30 |
|
25H |
2F |
|
|
|
|
|
|
28 |
|
24H |
27 |
|
|
|
|
|
|
20 |
|
23H |
1F |
|
|
|
|
|
|
18 |
|
22H |
17 |
|
|
|
|
|
|
10 |
|
21H |
0F |
|
|
|
|
|
|
08 |
|
20H |
07 |
06 |
|
|
|
|
01 |
00 |
|
1FH |
| |||||||
|
|
Банк 3 | |||||||
|
18H |
| |||||||
|
17H |
| |||||||
|
|
Банк 2 | |||||||
|
10H |
| |||||||
|
0FH |
| |||||||
|
|
Банк 1 | |||||||
|
08H |
| |||||||
|
07H |
| |||||||
|
|
Банк 0 | |||||||
|
00H |
| |||||||
|
Прямой адрес байта−− |
|
Адреса битов по разрядам |
|
|
Имя рег-ра
| ||||
|
(D7) |
|
|
|
|
|
|
(D0) | ||
|
0FFH |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
0F8H |
FF |
FE |
FD |
FC |
FB |
FA |
F9 |
F8 |
P5 |
|
|
|
|
|
|
|
|
|
|
|
|
0F7H |
- |
- |
- |
- |
- |
SEPFWR |
SEPFRD |
SEPIF |
SEPSTAT |
|
|
|
|
|
|
|
|
|
|
|
|
0F0H |
F7 |
F6 |
F5 |
F4 |
F3 |
F2 |
F1 |
F0 |
B |
|
|
|
|
|
|
|
|
|
|
|
|
0E8H |
EF |
EE |
ED |
EC |
EB |
EA |
E9 |
E8 |
CICON |
|
|
|
|
|
|
|
|
|
|
|
|
0E0H |
E7 |
E6 |
E5 |
E4 |
E3 |
E2 |
E1 |
E0 |
ACC |
|
|
|
|
|
|
|
|
|
|
|
|
0DEH |
- |
ECOM4 |
CAPP4 |
CAPN4 |
MAT4 |
TOG4 |
PWM4 |
ECCF4 |
CCAPM4 |
|
|
|
|
|
|
|
|
|
|
|
|
0DDH |
- |
ECOM3 |
CAPP3 |
CAPN3 |
MAT3 |
TOG3 |
PWM3 |
ECCF3 |
CCAPM3 |
|
|
|
|
|
|
|
|
|
|
|
|
0DCH |
- |
ECOM2 |
CAPP2 |
CAPN2 |
MAT2 |
TOG2 |
PWM2 |
ECCF2 |
CCAPM2 |
|
|
|
|
|
|
|
|
|
|
|
|
0DBH |
- |
ECOM1 |
CAPP1 |
CAPN1 |
MAT1 |
TOG1 |
PWM1 |
ECCF1 |
CCAPM1 |
|
|
|
|
|
|
|
|
|
|
|
|
0DAH |
- |
ECOM0 |
CAPP0 |
CAPN0 |
MAT0 |
TOG0 |
PWM0 |
ECCF0 |
CCAPM0 |
|
|
|
|
|
|
|
|
|
|
|
|
0D9H |
CIDL |
WDTE |
- |
- |
- |
CPS1 |
CPS0 |
ECF |
CMOD |
|
|
|
|
|
|
|
|
|
|
|
|
0D8H |
CF |
CR |
- |
CCF4 |
CCF3 |
CCF2 |
CCF1 |
CCF0 |
CCON |
|
|
|
|
|
|
|
|
|
|
|
|
0D7H |
- |
- |
SEPE |
SEPREN |
CLKPOL |
CLKPH |
SEPSI |
SEPSO |
SEPCON |
|
|
|
|
|
|
|
|
|
|
|
|
0D0H |
CY |
AC |
FO |
RS1 |
RS0 |
V |
- |
P |
PSW |
|
|
|
|
|
|
|
|
|
|
|
|
0C9H |
- |
- |
- |
- |
- |
- |
T2OE |
DCEN |
T2MOD |
|
|
|
|
|
|
|
|
|
|
|
|
0C8H |
TF2 |
EXF2 |
RCLK |
TCLK |
EXEN2 |
TR2 |
C/T2 |
CP/RL2 |
T2CON |
|
|
|
|
|
|
|
|
|
|
|
|
0C7H |
CMP0 |
CMP1 |
CMP2 |
CMP3 |
CMP4 |
CMP5 |
CMP6 |
CMP7 |
ACMP |
|
|
|
|
|
|
|
|
|
|
|
|
0C6H |
- |
IE6 |
IE5 |
IE4 |
IE3 |
IE2 |
IT3 |
IT2 |
EXICON |
|
|
|
|
|
|
|
|
|
|
|
|
0C0H |
C7 |
C6 |
C5 |
C4 |
C3 |
C2 |
C1 |
C0 |
P4 |
|
|
|
|
|
|
|
|
|
|
|
|
0B8H |
- |
PPC |
PT2 |
PS |
РT1 |
РХ1 |
РТ0 |
РХ0 |
IP |
|
|
|
|
|
|
|
|
|
|
|
|
0B7H |
- |
PPCH |
PT2H |
PSH |
PT1H |
PX1H |
PT0H |
PX0H |
IPH |
|
|
|
|
|
|
|
|
|
|
|
|
0B6H |
PAD |
PX6 |
PX5 |
PX4 |
PX3 |
PX2 |
PC1 |
PSEP |
IPA |
|
|
|
|
|
|
|
|
|
|
|
|
0B5H |
PADH |
PX6H |
PX5H |
PX4H |
PX3H |
PX2H |
PC1H |
PSEPH |
IPAH |
|
|
|
|
|
|
|
|
|
|
|
|
0B0H |
B7 |
B6 |
B5 |
B4 |
B3 |
B2 |
B1 |
B0 |
P3 |
|
|
|
|
|
|
|
|
|
|
|
|
0A8H |
EA |
EC |
ET2 |
ES |
ET1 |
EX1 |
ET0 |
EX0 |
IE |
|
|
|
|
|
|
|
|
|
|
|
|
0A7H |
EAD |
EX6 |
EX5 |
EX4 |
EX3 |
EX2 |
EC1 |
ESEP |
IEA |
|
|
|
|
|
|
|
|
|
|
|
|
0A0H |
A7 |
A6 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
P2 |
|
|
|
|
|
|
|
|
|
|
|
|
98H |
FE |
SM1 |
SM2 |
REN |
TB8 |
RB8 |
T1 |
R1 |
SCON |
|
|
|
|
|
|
|
|
|
|
|
|
97H |
- |
- |
AIF |
ACE |
ACS1 |
ACS0 |
AIM |
ATM |
ACON |
|
|
|
|
|
|
|
|
|
|
|
|
90H |
97 |
96 |
95 |
94 |
93 |
92 |
91 |
90 |
P1 |
|
|
|
|
|
|
|
|
|
|
|
|
89H |
GATE1 |
C/T1 |
M11 |
M01 |
GATE0 |
C/T0 |
M10 |
TM00 |
TMOD |
|
|
|
|
|
|
|
|
|
|
|
|
88H |
TF1 |
TR1 |
TF0 |
TR0 |
IE1 |
IT1 |
IE0 |
IT0 |
TCON |
|
|
|
|
|
|
|
|
|
|
|
|
87H |
SMOD1 |
SMOD0 |
- |
POF |
GF1 |
GF0 |
PD |
IDL |
PCON |
|
|
|
|
|
|
|
|
|
|
|
|
80H |
87 |
86 |
85 |
84 |
83 |
82 |
81 |
80 |
P0 |
___________
`-` − бит не используется
` IE0` − бит устанавливается/сбрасывается аппаратно
Регистры
|
SP |
|
|
DPL |
DPTR |
|
DPH |
