
- •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. Отчет по лабораторной работе
Режим сторожевого таймера
Первые 2 способа - предпочтительны по сравнению с 3-м способом. Второй способ не рекомендуется в том случае, если в работе используются остальные модули РСА .(поскольку в этом случае для всех модулей существует единственный таймер, значение которого не должно изменяться произвольно). Таким образом, в большинстве случаев наиболее пригоден 1-й способ. В случае, когда режим WDT не используется, 4-й модуль может работать в любом другом режиме.
Широтно-импульсный модулятор - PWM
Любой модуль РСА из 5-ти имеющихся может быть запрограммирован как "широтно-импульсный модулятор". Этот режим может использоваться для преобразования дискретного выходного значения в аналоговый сигнал посредством какого-либо внешнего преобразователя (например, интегрирующей цепи). Частота выходного сигнала зависит от частоты тактирования таймера/счётчика РСА, т.е., для тактовой частоты 16КГц, максимально возможная выходная частота составит 15.6 Кгц.
РСА генерирует частотно-модулированный сигнал путём сравнения младшего байта счётчика/таймера CL с младшим байтом соответствующего регистра фиксации/хранения CCAPnL (рис.6.10). Когда CL меньше CCAPnL, выход СЕХn имеет низкий уровень; при CL большем или равном CCAPnL - выход СЕХn имеет высокий уровень. Таким образом, значение регистра CCAPnL управляет длительностью импульсов, поступающих на вход СЕХn. Для изменения значения CCAPnL "на лету", без сопровождающих это действие выбросов выходного сигнала, пользователь должен производить запись этого значения в регистр ССАРnН. Значение старшего байта регистра фиксации/хранения сдвигается в младший байт аппаратно в момент перехода значения счётчика/таймера из 0FFh в 00h - начала следующего периода выходного сигнала. Регистр ССАРnН может содержать любое значение от 0 до 255, что варьирует ширину отрицательного импульса от 100 до 0.4%.
Режим широтно-импульсного модулятора
PCA1
Однако описываемая микросхема, содержит и второй набор РСА, аналогичный первому, названный РСА1. Отличия РСА1 от РСА заключаются в следующем:
• модуль 4 РСА1 не поддерживает сторожевой таймер;
• внешними выводами РСА1 являются ножки Р4.2-Р4.7 (все альтернативные функции портов микросхемы перечислены при описании её выводов);
• названия всех регистров РСА1 и их битов содержат символ "1" в своём имени см. табл.
• В регистре управления РСА1 СICON, в 5-й позиции имеется дополнительный бит CRE (битовый адрес 0EDh). При установке данного бита в "1", разрешение работы РСА1 происходит посредством совместной установки битов CR и CR 1.
Соответствие имён регистров и битов узлов рса и рса1
-
РСА
РСА1
SFR-регистры
CCON
С1CON
CMOD
C1MOD
ССАРМ0
С1САРМ0
ССАРМ1
С1САРМ1
ССАРМ2
С1САРМ2
ССАРМЗ
С1САРМЗ
ССАРМ4
С1САРМ4
CL
CL1
CCAP0L
C1CAP0L
CCAP1L
C1CAP1L
CCAP2L
C1CAP2L
CCAP3L
C1CAP3L
CCAP4L
C1CAP4L
СН
СН1
ССАР0Н
С1САР0Н
ССАР1Н
С1САР1Н
ССАР2Н
С1САР2Н
ССАРЗН
С1САРЗН
ССАР4Н
С1САР4Н
Биты
ECI
ECI1
СЕХ0
С1ЕХ0
СЕХ1
С1ЕХ1
СЕХ2
С1ЕХ2
СЕХЗ
С1ЕХЗ
СЕХ4
С1ЕХ4
CCF0
C1CF0
CCF1
C1CF1
CCF2
C1CF2
CCF3
C1CF3
CCF4
C1CF4
CR
CR1
CF
CF1