- •Введение.
- •Микроконтроллеры. Общие положения.
- •1.2. Типы микроконтроллеров
- •1.2.1. Встраиваемые микроконтроллеры.
- •1.2.2. Микроконтроллеры с внешней памятью.
- •1.2.3. Цифровые сигнальные процессоры
- •1.3. Архитектура микроконтроллеров.
- •1.4. Типы памяти микроконтроллеров
- •1.4.1. Память программ.
- •1.4.2. Память данных
- •1.4.3. Регистры микроконтроллера.
- •1.4. 4.Внешняя память
- •Микроконтроллеры pic (Разработка фирмы Mikrochip).
- •2.1. Питание р1с-микроконтроллеров
- •Тактирование pic-микроконтроллеров.
- •2.3. Схемы сброса
- •2.4. Выбор микроконтроллера
- •Микроконтроллеры типа pic16f873.
- •3.1. Основные характеристики.
- •3.2. Структурная схема микроконтроллера.
- •3.3. Блоки памяти.
- •1.4. Регистры состояния и управления.
- •1.5. Порты ввода-вывода.
- •1.6. Пример программирования работы фрагмента электроавтоматики станка с чпу.
- •2.0.Функциональные модули микроконтроллера pic16f873.
- •2.1. Таймеры.
- •2.1.2. Модуль таймера tmr1.
- •2.1.3. Модуль таймера tmr2.
- •2.2. Модуль сср.
- •2.2.2. Режим сравнения.
- •2.2.3. Режим широтно-импульсного преобразователя (шим).
- •2.3. Модуль ацп.
- •2.3.1.Работа модуля осуществляется в следующей последовательности:
- •2.3.2.Временные требования к работе модуля ацп.
- •2.3.4. Последовательность преобразования аналогового сигнала.
- •2.3.5. Выравнивание результата преобразования.
- •2.3.6. Работа модуля ацп в sleep режиме.
- •2.3.7. Пример программирования модуля ацп.
- •2.4.Универсальный синхронно – асинхронный приемопередатчик (usart).
- •2.4.1.Режим асинхронного полного дуплекса.
- •2.4.1.1. Асинхронный передатчик usart.
- •2.4.1.2. Асинхронный приемник модуля usart.
- •2.5.Модуль ведущего синхронного последовательного порта (mssp).
- •2.5.1. Режим ведомого i2c.
- •2.5.1.1.Прием данных.
- •2.5.1.2. Передача данных.
- •2.5.1.3.Поддержка общего вызова.
- •2.5.1.4.Работа в sleep режиме.
- •2.5.2. Режим ведущего i2c.
- •2.5.3. Подключение абонентов к шине i2c.
- •2.6. Модуль eeprom памяти данных.
- •2.6. Прерывания.
- •2.7. Сторожевой таймер.
- •2.8. Система команд микроконтроллера.
- •Incf Прибавить 1 к содержимому регистра f.
- •Incfsz Прибавить 1 к регистру f, пропустить, если 0.
- •Iorlw Побитное «или» регистра w и константы k.
- •Iorwf Побитное “или» регистров w, f.
- •Xorlw Побитное «Исключающее или» константы и регистра w.
- •Xorwf Побитное «исключающее или» регистров w,f.
1.4.2. Память данных
При первом знакомстве с описанием микроконтроллера многих удивит малый объем их оперативной памяти данных RAM, который обычно составляет десятки или сотни байт. Если микроконтроллер использует для хранения данных память EEPROM, то ее объем также не превышает нескольких десятков байт. Если Вы пишите программы для персонального компьютера (PC), то у Вас. вероятно, возникнет вопрос, что можно сделать с таким маленьким объемом памяти. Вероятно, Ваши приложения для PC содержат переменные, объем которых измеряется в килобайтах, не считая используемых массивов данных. При использовании массивов требуемый объем памяти может составлять сотни килобайт. Так что же можно сделать, имея объем ОЗУ порядка 25 байт?
Дело в том, программирование для микроконтроллера выполняется по несколько другим правилам, чем программирование PC. Применяя некоторые несложные правила можно решать многие задачи с использованием небольшого объема памяти RAM. При программировании микроконтроллеров константы, если возможно, не хранятся как переменные. Максимально используются аппаратные возможности микроконтроллеров (такие как таймеры, индексные регистры), чтобы по возможности ограничить размещение данных в RAM. Это означает, что при разработке прикладных программ необходимо предварительно позаботиться о распределении ресурсов памяти. Прикладные программы должны ориентироваться на работу без использования больших массивов данных.
1.4.3. Регистры микроконтроллера.
Подобно всем компьютерным системам, микроконтроллеры имеют множество регистров, которые используются для управления различными устройствами, подключенными к процессору, Это могут быть регистры процессора (аккумулятор, регистры состоянии, индексные регистры), регистры управления (регистры управления прерываниями, регистры управления таймером) или регистры, обеспечивающие ввод-вывод данных (регистры данных и регистры управления параллельным, последовательным или аналоговым вводом-выводом). Обращение к этим регистрам может производиться различными способами. Реализуемые микроконтроллером способы обращения к регистрам оказывают существенное влияние на их производительность. Поэтому очень важно понять, как происходит обращение к регистрам, чтобы писать эффективные прикладные программы для микроконтроллеров. В процессорах с RISC-архитектурой все регистры (часто и аккумулятор) располагаются по явно задаваемым адресам. Это обеспечивает более высокую гибкость при работе процессора.
Используя процессор, который может непосредственно обращаться к любому регистру, можно получить преимущество при разработке простых прикладных программ.
1.4. 4.Внешняя память
Несмотря на огромные преимущества использования внутренней встроенной памяти, в некоторых случаях необходимо подключение к микроконтроллеру дополнительной внешней памяти (как памяти программ, так и данных). Существует два основных способа подключения внешней памяти. Первый способ - подключение внешней памяти к микроконтроллеру, как к микропроцессору. Многие микроконтроллеры содержат специальные аппаратные средства для такого подключения. Второй способ состоит в том. чтобы подключить память к устройствам ввода-вывода и реализовать обращение к памяти через эти устройства программными средствами. Такой способ позволяет использовать простые устройства ввода-вывода без реализации сложных шинных интерфейсов. Выбор наилучшего из этих способов зависит от конкретного приложения.
