Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПСУ новая 2.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.56 Mб
Скачать

Программирование микроконтроллеров

При программировании микроконтроллера полученный в результате компиляции программы машинный код загружается в память программ, а требуемые данные заносятся в ЭСППЗУ (EEPROM-память). Используются два режима программирования:

• режим параллельного программирования при высоком напряжении;

• режим программирования по последовательному каналу.

Таблица 5.27. Регистр маски внешних прерываний GIMSK

Разряд

Название

Описание

7

INT1

Флаг разрешения внешнего прерывания INT1. Если в этом разряде записана логическая «1» и флаг I регистра SREG также установлен в «1», то разрешается внешнее прерывания с вывода INT1. Условия генерации прерывания определяются содержимым разрядов ISC11 и ISC10 регистра MCUCR

6

INT0

Флаг разрешения внешнего прерывания INT0. Если в этом разряде записана логическая «1» и флаг I регистра SREG также установлен в «1», то разрешается внешнее прерывания с вывода INT0. Условия генерации прерывания определяются содержимым разрядов ISC01 и ISC00 регистра MCUCR

5...0

-

Не используются, читаются как «0»

Таблица 5.28. Регистр флагов внешних прерываний GIFR

Разряд

Название

Описание

7

INTF1

Флаг внешнего прерывания INT1. Если в результате события на выводе INT1 сформировался запрос на внешнее прерывание, этот разряд устанав­ливается в «1». Флаг сбрасывается аппаратно при запуске подпрограммы обработки прерывания или программно записью в него логического «0»

6

INTF0

Флаг внешнего прерывания INT0. Если в результате события на выводе INT0 сформировался запрос на внешнее прерывание, этот разряд устанав­ливается в «1». Флаг сбрасывается аппаратно при запуске подпрограммы обработки прерывания или программно - записью в него логического «0».

5...0

Не используются, читаются как «0»

Под «высоким» напряжением здесь понимается управляющее напряжение (12В), подаваемое на вывод микроконтроллера для перевода последнего в режим программирования. При этом независимо от режима программирование FLASH- и EEPROM-памяти осуществляется всегда побайтно.

В процессе программирования могут выполняться следующие операции:

• стирание кристалла (Chip erase);

• чтение/запись Flash-памяти программ;

• чтение/запись EEPROM-памяти данных;

• чтение/запись конфигурационных ячеек;

• чтение/запись ячеек защиты;

• чтение ячеек идентификатора;

Все модели микроконтроллеров поставляются со стертой памятью программ и памятью данных (во всех ячейках находится число $FF).

Защита программного кода и данных

Содержимое FLASH-памяти (памяти программ), а также содержимое EPROM-памяти (памяти данных) может быть защищено от записи и/или чтения посредством программирования ячеек защиты (Lock bits) LB1 и LB2. Возможные режимы защиты, соответствующие различным состояни­ям этих ячеек, приведены в табл. 5.29.

Стирание ячеек защиты (запись в них лог. «1») может быть произведено только при выполнении команды «Стирание кристалла», уничтожающей также содержимое и EEPROM-памяти.

Таблица 5.29. Режимы защиты

Ячейки защиты

Описание

№ режима

LB1

LB2

1

1

1

Защита кода и данных отключена

2

0

1

Последующая запись FLASH и EEPROM запрещена

3

0

0

Запрещена запись и чтение FLASH и EEPROM

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]