- •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. Отчет по лабораторной работе
8. Описание стенда
8.1. Структура контроллера

Учебный контроллер состоит из следующих основных узлов:
Микроконтроллер (МК) Intel 80C51GB с тактовой частотой 11,059 МГц
Модуль памяти с совмещенным адресным пространством кода и данных (SRAM 32K и Flash ROM 16K), подключенных через мультиплексированную шину данных/адреса
Сетевой модуль с преобразователями интерфейсов RS-232 и RS-485, гальванически изолированные (опторазвязка) от других схем контроллера
Драйвер интерфейса RS-232 для монитора (отладчика)
Логических входов и выходов (кнопки Пуск и Стоп, «светофор»)
Модуля АЦП
Имитатора объекта управления с двумя апериодическими звеньями
ШИМ 15,6 кГц с отключаемым фильтром для управления объектом
Силовым ключом на КМОП-транзисторе с драйвером для управления подсветкой ЖКИ (5В, 0.5А)
Символьного жидкокристаллического дисплея (ЖКИ) с контроллером HD44780u и стандартным 8-битным (4-битным) интерфейсом
Цифровой матричной клавиатурой 4 строки х 3 клавиши
Последовательной перепрограммируемой памяти EEPROM, подключенной к МК по шине SPI
Блока питания
Все узлы контроллера размещены на двух печатных платах: базовой и дополнительной и смонтированы в едином пультовом корпусе.
8.2 Структура по

8.3 Адресное пространство
Микроконтроллеры семейства Intel MCS-51 имеют четыре основные, независимо адресуемые, области памяти:
Внутренняя память данных
Регистры специальных функций
Внешняя память данных
Внешняя память программ
В учебном контроллере внешняя память данных находится в одном адресном пространстве с внешней памятью программ. Распределение областей всех видов памяти приведено на рисунке.

Системная область внешней памяти показана серым цветом. Штриховкой обозначены несуществующие адреса. Все остальные области доступны для использования программистом.
8.4 Внешняя память
Учебный контроллер имеет совмещенное адресное пространство (архитектура фон Неймана) внешней памяти микроконтроллера. Младшая половина является системной и доступна только для чтения (Flash-ПЗУ). Старшая половина адресного пространства отдана под программу и данные пользователя, которые хранятся в ОЗУ.
Распределение
внешней
памяти
микроконтроллера
Программа и данные размещаются с адреса 8000h по F7FF, всего 30 Кбайт. Распределение этого адресного пространства не регламентируется. Соотношение между размерами области программы и области данных может быть любым, если их суммарный объем не больше 30К. Например, 24К может быть отведено под программу и 6К под данные.
8.5 Внутренняя память данных
В учебном контроллере имеется внутренняя память данных объемом 256 байт. Свободно адресовать можно имеют младшие 128 байт, старшие 128 байт доступны только через косвенную адресацию. Чаще всего старшая половина внутренней памяти данных отводится под стек.
8.6 Регистры специальных функций
В МК 51GB используются 70 из 128 возможных адресов области регистров специальных функций (РСФ). Её распределение приведено на рисунке, вне таблицы указаны их адреса в шестнадцатеричном формате. Для каждого регистра указано его состояние при сбросе МК (символом x обозначено неопределенное).
РСФ доступны только при прямой адресации. Использование косвенной приведет к обращению к внутреннему ОЗУ.
Регистры специальных функций
|
f8 |
P5б 00000000 |
CH 00000000 |
CCAP0H XXXXXXXX |
CCAPl1h XXXXXXXX |
CCAP2H xxxxxxxx |
CCAP3H xxxxxxxx |
CCAP4H XXXXXXXX |
|
ff |
|
f0 |
*Bб 00000000 |
|
|
|
AD 7 00000000 |
|
|
SEPSTAT XXXXX000 |
f7 |
|
e8 |
CICONб 00000000 |
CL 00000000 |
CCAP0L XXXXXXXX |
CCAP1L XXXXXXXX |
CCAP2L XXXXXXXX |
CCAP3L XXXXXXXX |
CCAP4L XXXXXXXX |
|
ef |
|
e0 |
*ACCб 00000000 |
|
|
|
AD6 00000000 |
|
|
SEPDRT XXXXXXXX |
e7 |
|
d8 |
cconб 00X0000 |
CMOD 00XXX000 |
CCAPM0 x0000000 |
CCAPM1 x0000000 |
CCAPM2 X0000000 |
CCAPM3 X0000000 |
CCAPM4 X0000000 |
|
df |
|
d0 |
*PsWб 00000000 |
|
|
|
AD5 00000000 |
|
|
SEPCOn XX000000 |
d7 |
|
c8 |
T2CONб 00000000 |
T2MOD XXXXXX00 |
RCAP2L 00000000 |
RCAP2H 00000000 |
TL2 00000000 |
TH2 00000000 |
|
|
cf |
|
c0 |
P4б 00000000 |
|
|
|
AD4 00000000 |
|
EXICON X0000000 |
ACMP 00000000 |
c7 |
|
b8 |
*IPб X0000000 |
SADEN 00000000 |
CICAP0H XXXXXXXX |
CiCAP1H xxxxxxxx |
CiCAP2H XXXXXxXX |
CiCAP3H xxxxxxxx |
CiCAP4H XXXXXXXX |
CH1 00000000 |
bf |
|
b0 |
*P3б 11111111 |
|
|
|
AD3 00000000 |
IPAH 00000000 |
IPA 00000000 |
IPH x0000000 |
b7 |
|
a8 |
*IEб 00000000 |
SADDR 00000000 |
CICAPOL XXXXXXXX |
CiCAP1l xxxxxxxx |
CiCAP2l XXXXXxXX |
CiCAP3L XXXXXXXX |
C1CaP4L xxxxxxxx |
CL1 00000000 |
af |
|
A0 |
*P2б 00000000 |
|
|
|
AD2 00000000 |
OSCR XXXXXXX0 |
wDTRST XXXXXXXX |
iEa 00000000 |
a7 |
|
98 |
*SCONб 00000000 |
*SBUF xxxxxxxx |
CiCAPM0 x0000000 |
CiCApM1 X0000000 |
CiCaPM2 x0000000 |
CiCAPH3 x0000000 |
CiCAPM4 X0000000 |
CiMOD xxxx0000 |
9f |
|
90 |
*PIб 00000000 |
|
|
|
ADI 00000000 |
|
|
ACONб xx000000 |
97 |
|
88 |
*TCONб 00000000 |
*TMOD 00000000 |
*TL0 00000000 |
*TL1 000O00D0 |
*TH0 00000000 |
*TH1 00000000 |
|
|
8f |
|
80 |
*POб 11111111 |
*SP 00000111 |
*DPI 00000000 |
*DPH 00000000 |
AD0 00000000 |
|
|
*PCON 00XX0000 |
87 |
* – стандартные РСФ семейства MCS-51
Х – неопределенное состояние
б – битдоступные регистры
См. описание регистра РСОN. Бит РСОN.4 не изменяется после системного сброса.
8.7 Панели контроллера
Учебный контроллер имеет две панели, на которых размещены органы индикации и управления, разъемы для подключения внешних устройств.
