- •Введение.
- •Микроконтроллеры. Общие положения.
- •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. Типы памяти микроконтроллеров
Можно выделить три основных вида памяти, используемой в микроконтроллерах:
Память программ представляет собой постоянную память, предназначенную для хранения программного кода и констант. Эта память не изменяет своего содержимого в процессе выполнения программы.
Память данных предназначена для хранения переменных в ходе выполнения программы.
3. Регистры микроконтроллера - этот вид памяти включает внутренние регистры процессора и регистры, которые служат для управления периферийными устройствами.
Следует отметить малый объем памяти микроконтроллеров, но это не является их существенным недостатком. При первом знакомстве данная особенность действительно вызывает удивление, особенно, если сравнивать микроконтроллеры с современными персональными компьютерами, которые содержат десятки мегабайт памяти.
1.4.1. Память программ.
Для хранения программ обычно служит один из видов постоянной памяти:
ROM (масочно-программируемое ПЗУ);
PROM (однократно-программируемое ПЗУ);
EPROM (электрически программируемое ПЗУ с ультрафиолетовым стиранием);
- EEPROM (ПЗУ с электрической записью и стиранием, к этому виду относятся также современные микросхемы Flash-памяти);
Все эти типы памяти являются энергонезависимыми - это означает, что содержимое памяти сохраняется после выключения питания микроконтроллера. Такая память необходима, так как микроконтроллер не содержит каких-либо устройств массовой памяти (магнитных дисков), с которых загружается программа в компьютерах. Программа постоянно хранится в микроконтроллере.
В процессе выполнения программа считывается из этой памяти, а блок управления (дешифратор команд) обеспечивает ее декодирование и выполнение необходимых операций. Содержимое памяти программ не может меняться (перепрограммироваться) во время выполнения программы. Поэтому функциональное назначение микроконтроллера не может измениться, пока содержимое его памяти программ не будет стерто (если это возможно) и перепрограммировано (заполнено новыми командами).
Память ROM (ПЗУ) используется тогда, когда программный код заносится и микроконтроллер на этапе его производства. Предварительно программа отлаживается и тестируется, после чего передается фирме-производителю, где программа преобразуется и рисунок маски на стеклянном фотошаблоне. Полученный фотошаблон с маской используется в процессе создания соединении между элементами, из которых состоит память программ. Поэтому такую память часто называют масочно-программируемой ROM. Существует ограничение, связанное с возможностью использования таких микроконтроллеров только в определенной сфере применения, так как его программа обеспечивает выполнение жестко фиксированной последовательности операций, и не может быть использована для решения каких-либо других задач.
Память PROM может быть запрограммирована только один раз. Эта память обычно содержит плавкие перемычки, которые пережигаются во время программирования. В настоящее время такая память используется очень редко.
Электрически программируемая память EPROM состоит из ячеек, которые программируются электрическими сигналами и стираются с помощью ультрафиолетового света Чтобы стереть содержимое ячейки, она освещается ультрафиолетовым светом, этот процесс может занимать от нескольких секунд до нескольких минут.
Память EEPROM (Electrically Erasable Programmable Memory - электрически стираемая программируемая память) можно считать новым поколением EPROM памяти. Использование
EEPROM позволяет стирать и программировать микроконтроллер, не снимая его с платы. Таким способом можно периодически обновлять его программное обеспечение.
Память EEPROM более дорогая, чем EPROM (в два раза дороже EPROM с однократным программированием). EEPROM работает немного медленнее, чем EPROM.
Основное преимущество использования памяти EEPROM заключается в возможности ее многократного перепрограммирования без удаления из платы. Это дает огромный выигрыш на начальных этапах разработки систем на базе микроконтроллеров или в процессе их изучения, когда масса времени уходит на многократный поиск причин неработоспособности системы и выполнение последующих циклов стирания-программирования памяти программ.
Функционально Flash-память мало отличается от EEPROM. Основное различие состоит в способе стирания записанной информации. В памяти EEPROM стирание производится отдельно для каждой ячейки, а во Flash-памяти стирание осуществляемая целыми блоками. Если Вы хотите изменить содержимое одной ячейки Flash-памяти, то Вам потребуется перепрограммировать целый блок (или всю микросхему). В микроконтроллерах с памятью EEPROM можно изменять отдельные участки программы без необходимости перепрограммировать все устройство.
В настоящее время протоколы программирования современной EPROM и EEPROM памяти существенно изменились, что позволило выполнять программирование микроконтроллера непосредственно в составе системе, где он работает. Такой способ программирования получил название «in-system programming» или «ISP». ISP-микроконтроллеры могут быть запрограммированы после того, как их припаяли на плату. При этом сокращаются расходы на программирование, так как нет необходимости в использовании специального оборудования -программаторов.
