Лабораторные МС 68HC11 (1086185), страница 16
Текст из файла (страница 16)
Какой объем имеет EEPROM микроконтроллера MC68HC11E1 и по каким адресам онрасположен?2. Приведите примеры использования EEPROM в реальных устройствах.3. Если в ячейке EEPROM записано число $96, можно ли в нее записать число $95, не стираяпредыдущего значения? Объясните почему.4. Каким образом осуществляется формирование высокого напряжения для программирования EEPROM в микроконтроллере MC68HC11E1?5. Объясните для чего используется встроенный RC генератор, разрешаемый установкой бита CSEL регистра OPTION?6. Можно ли защитить определенные области EEPROM от стирания/записи? Как это сделать?7. Какую особенность надо учитывать при модификации регистра BPROT, если микроконтроллер работает в расширенном или однокристальном режиме?8. Каким образом происходит управление стиранием/программированием EEPROM?9. Перечислите и опишите возможные режимы стирания EEPROM.10.Опишите назначение пяти младших битов регистра PPROG.11.Опишите покомандный алгоритм программирования ячейки EEPROM.12.Опишите покомандный алгоритм стирания байта EEPROM.13.Опишите покомандный алгоритм стирания строки EEPROM.14.Опишите покомандный алгоритм стирания всего EEPROM.15.Для чего используется регистр CONFIG? Опишите назначение трех его младших битов.16.Объясните, почему модификация регистра CONFIG не приводит к немедленному изменению конфигурации системы?17.Опишите покомандный алгоритм программирования регистра CONFIG.18.Опишите покомандный алгоритм стирания регистра CONFIG.1.2.3.4.5.6.7.8.9.5.
ЗаданияНапишите программу, которая записывала бы состояние переключателей в ячейкуEEPROM с адресом, указанным в регистре X по нажатию на кнопку PA0.Напишите программу, записывающую бы по прерыванию IRQ состояние счетчика таймера в первые две ячейки EEPROM.Напишите программу, записывающую число $AA в N первых ячеек EEPROM по нажатиюкнопки PA0. Число N (от 0 до 255) определяется состоянием переключателей модуля.Напишите программу реализующую алгоритм задания 3 с тем отличием, что при нажатиина кнопку IRQ должно происходить стирание записанных ячеек.Напишите программу, которая в зависимости от состояния двух младших переключателейблокировала бы один из четырех блоков EEPROM ($b600-$b61f, $b620-$b65f, $b660-b6df,$b6e0-b7ff) для записи/стирания.Напишите программу, производящую запись в EEPROM блока данных из ОЗУ длиной16 байт. Адрес блока в ОЗУ $d200-$d20f, адрес блока в EEPROM $b600-$b60f.Напишите программу, которая позволяла бы реализовывать один из трех вариантов стирания EEPROM, в зависимости от состояния аккумулятора B (B=0 - стирание всегоEEPROM, B=1 - стирание строки, B=2 - стирание одного байта).
Входной параметр дляпрограммы: регистр X - адрес ячейки EEPROM.Напишите программу повторяющую алгоритм задания 7, с тем отличием, что при B=3выполнялась бы процедура записи байта в EEPROM. Входные параметры для программы:регистр X - адрес ячейки EEPROM, аккумулятор A - записываемые данные.Напишите программу повторяющую алгоритм задания 8, с тем отличием, что при B=4выполнялась бы модификация регистра CONFIG. Входные параметры для программы:регистр X - адрес ячейки EEPROM, аккумулятор A - записываемые данные.Работа с EEPROM.74Лабораторная работа №1010.Напишите программу, которая модифицировала бы младший бит регистра CONFIG, взависимости от состояния переключателя С0 после нажатия кнопки PA0.11.Напишите программу последовательно записывающую в ячейку $b600 EEPROM числа от0 до $3f с промежутком между двумя записями в 1 секунду. После записи числа $3f сновазаписывается 0 и цикл повторяется.12.Напишите программу, заполняющую первую половину EEPROM числами от $0 до $FF.По нажатии кнопки PA0 содержимое EEPROM должно стираться.13.Напишите программу осуществляющую перестановку первой и второй строки EEPROM(т.е.
строки с адресами $b600-$b60f и $b610 и $b61f).14.Напишите программу, которая измеряла бы количество доступных для записи ячеекEEPROM без обращения к регистру BPROT. При подсчете постарайтесь обойтись минимальным количеством записей в EEPROM.15.Напишите программу, которая хранилась бы в EEPROM и позволяла бы сохранить воставшемся объеме EEPROM произвольный блок данных из ОЗУ допустимой длины ипри необходимости восстановить его в исходном месте. Входные параметры для программы: регистр X - начальный адрес блока данных, регистр Y - длина блока. Эти параметрытакже должны запоминаться для последующего корректного восстановления блока.Работа с EEPROM.75ПриложениеПриложениеНекоторые особенности при написании и отладке программ на модулеHC11EVB.Запуск программы пользователя с помощью программы отладчика осуществляется вспециальном режиме работы микроконтроллера bootstrap.
В отличие от нормальных режимов работы (однокристального и расширенного) режим bootstrap позволяет изменять содержимое регистра HPRIO, а также в течение всего времени работы производить запись в терегистры и биты, запись в которые в нормальных режимах разрешена только первые 64 Eцикла после сброса. Кроме этого в режиме bootstrap таблица переходов векторов прерыванийперенесена в область ОЗУ (см. табл.
П.1). В отличие от области векторов прерывания длянормальных режимов, здесь следует записывать не адрес перехода, а команду перехода с соответствующим адресом (например команду JMP). Таким образом если программа отлаживается в ОЗУ в режиме bootstrap и требуется, например, обработка прерывания IRQ, то в листинге ассемблера следует записать следующую последовательность команд:org$00eejmpint, где вместо int может быть любая метка или адрес, соответствующая началу программы обработки прерывания по IRQ. При записи отлаженной программы в ПЗУ (предполагается,что микроконтроллер будет работать в однокристальном режиме) вместо приведенной вышепоследовательности следует записать команды:org$fff2fdbintТаблица П.1.адрес00C400C700CA00CD00D000D300D600D900DC00DF00E200E500E800EB00EE00F100F400F700FA00FDBF00векторSCISPIсчетчик пульсаций, по входному фронтусчетчик пульсаций, по переполнениюпереполнение таймеравыходное сравнение 5выходное сравнение 4выходное сравнение 3выходное сравнение 2выходное сравнение 1входной захват 3входной захват 2входной захват 1прерывание реального времениIRQXIRQSWIпрерывание по неверному коду командыпрерывание от системы COPтактовый мониторсбросПри отладке программы следует иметь в виду, что программа отладчик задействует последовательный интерфейс (SCI) и функцию выходного сравнения OC4 (для организацииточек останова), т.е.
при запуске программы пользователя имеются определенные установки(отличные от состояния после сброса) в регистрах этих устройств. Кроме этого программаотладчик использует прерывание по коду неправильной команды для организации точек76Приложениеостанова и режима trace. Следует иметь в виду, что в момент запуска программы из программы-отладчика сброшен бит I регистра статуса CCR, и таким образом разрешены связанные сним прерывания (I-прерывания); непосредственно после сброса бит I устанавливается длязапрета прерываний и для его сброса в программе пользователя можно воспользоваться командой CLI.
Также после запуска программы в программе-отладчике стек инициализированзначением $C3 (в программе пользователя, предполагающей автономный режим работы значение стека, следует устанавливать в начале программы командой lds).77.