Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000123.doc
Скачиваний:
21
Добавлен:
30.04.2022
Размер:
453.12 Кб
Скачать

Специальные команды

CLRWDT

SLEEP

Hам осталось упомянуть о двух специальных командах - CLRWDT и SLEEP. Команда CLRWDT предназначена для сброса сторожевого таймера, назначение котоpого мы уже обсуждали. Эта команда должна присутствовать в таких участках пpогpаммы, чтобы вpемя выполнения программы между двумя соседними командами CLRWDT не пpевышало вpемени срабатывания сторожевого таймеpа. Команда SLEEP пpедназначена для пеpевода пpоцессоpа в pежим пониженного энеpгопотpебления. После выполнения этой команды тактовый генеpатоp пpоцессоpа выключается и обpатно в pабочий pежим пpоцессоp можно пеpевести либо по входу сброса, либо по срабатыванию сторожевого таймера, либо по преpыванию.

41

  1. Тладочные средства и средства программирования микроконтроллеров

4.1. Программный эмулятор для отладки программ MPSIM

4.1.1. Структура системы и система пользовательского интерфейса

Программный имитатор (эмулятор, симулятор) MPSIM предназначен для отладки программ, составленных на языке Ассемблера и оттранслированных в объектные коды для микроконтроллеров (МК) типов PIC16C5x и PIC16Cxx [1, 2]. Диалог с пользователем в системе осуществляется на командном уровне. Симулятор MPSIM имеет развитую систему команд, позволяющую загружать исходную программу, задавать режимы просмотра текущих и конечных результатов работы имитируемого МК, получать доступ к внутренней памяти и регистрам процессора с целью просмотра и модификации их содержимого, корректировать исходную программу, не выходя из MPSIM, и т. д

Пользовательский интерфейс симулятора реализуется через стандартные устройства ввода-вывода ЭВМ - клавиатуру и экран монитора. Экран делится на три части: титульную строку, экранную область и командную строку.

Титульная строка находится вверху экрана и содержит имя загруженного объектного файла, файл листинга, версию MPSIM, имя эмулируемого контроллера, шаги цикла и время.

Экранная область отображает указанные пользователем состояния регистров и выводов. Эта область обычно создается пользователем в инициализирующем командном файле.

Командная область занимает оставшуюся часть экрана. Симулятор высвечивает символ ‘ % ‘ для приглашения к вводу команды.

В имитаторе осуществляется моделирование выводов и состояний процессора. Список зарезервированных идентификаторов выводов находится в приложении для каждого типа контроллера. Моделирование выводов может осуществляться синхронно и асинхронно. Синхронная имитация состояний выводов осуществляется с помощью стимулирующего файла ‘ *. sti ‘ , который имеет специальный формат. Асинхронный ввод

осуществляется при нажатии клавиши Alt и клавиши, предварительно связанной с вводимым воздействием.

42

В конце выполнения каждой инструкции проверяется состояние выводов на наличие сигналов:

- если состояние RTTC/TMRO - вывода изменяется, происходит приращение таймера в соответствии с делителем частоты;

- если вывод MCLR L-активен, имитируется сброс контроллера;

- биты регистра статуса TRIS задают режимы функционирования портов.

В MPSIM моделируются все условия сброса. Сброс из-за падения напряжения имитируется командой RS. Все специальные регистры инициализируются после сброса в соответствии с принятыми для процессора соглашениями (см. PIC16C74). Сброс MCLR во время выполнения программы и в режиме SLEEP может имитироваться через стимулирующий файл или с помощью команды SE .

Сторожевой таймер WDT полностью эмулируется в MPSIM. Первоначально WDT пассивен и для его активизации необходимо ввести команду DW. Период WDT-таймера определяется предделителем, устанавливаемым в регистре OPTION. Базовый период (без предделителя) равен примерно 18 мсек и кратен периоду текущей выполняемой инструкции. При активизации WDT с помощью команды DW сброс происходит при переполнении WDT c учетом предварительной установки делителя частоты. Биты задержки (TO) и энергопотребления (PD) показывают состояние сброса.

Симулятор MPSIM эмулирует режим SLEEP и будет находиться в “спячке” до получения команды запуска от таймеров или от внешних устройств при запросе прерывания.

4.1.2. Использование системы

Перед использованием симулятора необходимо скомпилировать файл. По умолчанию MPSIM использует объектный код в формате INHX8M, но возможно также использование формата INHX8S. Тип процессора по умолчанию PIC 16c54. Для выполнения компиляции необходимо ввести соответствующую команду, например, такую:

MPALC sample/p 16c54

или

MPASM sample/p 16c54

в зависимости от типа используемого Ассемблера. Здесь sample – имя компилируемой программы.

43

Программа MPSIM вызывается командой:

MPSIM

Программа может быть вызвана с любой или с комбинацией из следующих опций (табл. 4.1).

Таблица 4.1

Опция

Описание

Значение по умолчанию

-v

-m

-c

-s

-a

избыточный

черно-белый режим

поддержка Ассемблера MPASM

поддержка Ассемблера MPALC

только ASCII

Выключено

Выключено

MPASM

MPASM

Выключено

По окончанию загрузки MPSIM появляется стандартный интерфейс симулятора. Для дальнейшей работы целесообразно загрузить файл инициализации.

Файлы инициализации - очень полезны, поскольку они позволяют загружать Вашу программу, выбирать области данных, которые Вы хотите наблюдать на экране для просмотра, создавать точки прерывания, а также обеспечивают другие сервисные функции. Файл инициализации с именем MPSIM.INI уникален в том, что он автоматически загружается каждый раз, когда вызывается программа MPSIM, причем все команды, появляющиеся в этом файле, будут выполняться. Файл инициализации очень похож на командный файл в операционной системе DOS.

В качестве файла инициализации можно использовать файл с любым именем, отличным от MPSIM.INI. Файл загружается командой:

GE <имя файла>

Файл инициализации содержит набор команд, которые, в принципе, могут вводиться пользователем непосредственно в сеансе работы в среде MPSIM, но которые целесообразно выполнить сразу же после загрузки MPSIM (загрузка объектных файлов и листинга, инициализация окна просмотра и т. д.).

Простой способ создания файла инициализации состоит в следующем. Необходимо войти в среду MPSIM, ввести соответствующие

команды, которые устанавливают экран и точки прерывания, а затем выйти с помощью команды

Q

При выходе из системы создается файл MPSIM.JRN. Это “журнальный” файл, содержащий все команды, которые были выполнены

44

в предшествующем сеансе. Файл может быть отредактирован в любом текстовом редакторе с целью удаления некоторых команд (как, например, ‘E’ - выполнить или ‘Q’ - выход), а затем переименован в файл с расширением ‘*. ini’. Необходимо отметить, что перед последующим вызовом MPSIM “журнальный” файл следует сохранить под другим именем, так как всякий раз, когда MPSIM вызван, перезаписывается предыдущий “журнальный” файл и, если Вы его не переименовали, он будет содержать все команды, выполненные в предыдущем сеансе. Для рассматриваемого примера будем использовать файл инициализации, названный SAMPLE.INI, который может быть загружен командой: