Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла "Laba#7_1.doc" (без форматирования) Мета роботи:закріплення теоретичних знань по системі команд мікроконтролера PIC16F84; -придбання навиків складання програм на мові програмування асемблер; -ознайомлення та придбання навиків роботи з емулятором контролерів PIC Основні теоретичні відомості: Parallax PIC16Cxx Assembler v4.2 SPASM.EXE. Поддерживает процессоры: PIC16C5X: 52/ 54/ 55/ 56/ 57/ 58 и PIC16CXX: 61/ 62/ 63/ 64/ 65/ 71/ 72/ 73/ 74/ 84/ 620/ 621/ 622 SPASM полностью заменяет PASM и PASMX. Правила набора Рассмотрим правила набора программ на языке Ассемблера в компиляторе Parallax PIC16Cxx Assembler v4.2. В языке существуют четыре основных поля: поле меток; поле команд; поле операндов; поле комментариев; Метки Коды команд Операнды Комментарии m1 movf 0Ch,0 ;пересылка Поле меток может содержать либо метку, либо имя. Метка – это символьное имя значение, которого определяется счетчиком адреса при ассемблировании. Должна начинаться с буквы и содержать не более5(6) символов и оканчивается знаком ‘:’. В одной программе не может быть одинаковых меток. Имя используется для директивы EQU. Записывается по тем же правилам, что и метка, но не заканчивается ‘:’. Поле команд содержит мнемокод команды или директиву. Поле операндов содержит дополнительную информацию необходимую для выполнения операции. Директивы INCLUDE ‘filename’ - включает файл ‘filename’ в трансляцию (может предшествовать директиве DEVICE). DEVICE type,setting,setting… - Устанавливает тип устройства и опции (должна предшествовать другим директивам и командам). label EQU value - Приравнивает label значение value. ORG address - Устанавливает счетчик команд в соответствии со значением address. EEORG address - Устанавливает адрес Flash-памяти данных (Только PIC16C84). EEDATA data,data … - Предварительная загрузка данных в Flash-память данных (Только PIC16C84). Параметры директивы DEVICE для PIC16C84. Параметр. Возможные значения. Тип процессора PIC16C84 Тип генератора LP_OSC XT_OSC HS_OSC RC_OSC Сторожевой таймер WDT_OFF WDT_ON Питание PWRT_OFF PWRT_ON Защита кода PROTECT_OFF PROTECT_ON Пример: DEVICE PIC16C84,XT_OSC,WDT_ON,PWRT_OFF,PROTECT_ON PIC16CXX Simulator PSIM.EXE. PSIM – универсальный программный эмулятор микроконтроллеров PIC16XX. Позволяет отлаживать программы для PIC16XX на PC. Команды и функциональные клавиши. F1 HELP – справка, отображает справочную информацию по командам и функциональным клавишам. Используя клавиши “PgDn” и “PgUp” можно переключать страницы справки. F2 BRKPT – устанавливает/удаляет все контрольные точки. Для перемещения по тексту программы используйте клавиши управления курсором. В нужной строке нажмите F2, цвет строки изменится на красный, следовательно, контрольная точка установлена. Повторное нажатие F2 удалит контрольную точку. F3 CLEAR – удаляет все контрольные точки. F5 TIME – Сбрасывает дисплей реального времени. F6 GO – Нажатие F6 запускает эмуляцию программы, эмуляция будет остановлена при нажатии любой клавиши или при достижении контрольной точки. Экран модифицируется и отображает все изменения после выполнения каждой строки. F7 STEP – Шаг на адрес вперед. Выполняет одну строку и используется при пошаговой отладке. Изменения в регистрах высвечиваются после выполнения каждой строки. Нажатие клавиши “пробел” выполняет туже функцию. Alt+F7 BACK – Шаг на адрес назад. Позволяет сделать до 100 шагов назад. F9 RUN – Эмулятор выполняет код, пока не нажата любая клавиша или не достигнута контрольная точка. Экран не будет модифицироваться до остановки выполнения. F10 RST – Сброс. Моделирует аппаратный сброс. Alt+C CRYSTAL – При нажатии появляется окно, в котором следует задать частоту процессора. По умолчанию задается частота равная 8MHz. Пользователь может задать значение частоты в герцах (Hz), килогерцах (kHz) или мегагерцах (MHz), при этом нужно ввести значение и соответствующий суффикс. Если суффикс не указан, считается что, частота задана в герцах. Суффикс можно вводить строчными или прописными буквами, или их комбинацией. Например: 32768, 32768Hz, 32.768kHz, 1MHz, 4mhz. Alt+D DEVICE – При нажатии появляется меню, в котором, используя клавиши управления курсором “вверх” и “вниз”, можно выбрать необходимый тип устройства. Нажатие клавиши “Enter” устанавливает выбранный тип устройства. “Esc” – выход без изменений. Следует иметь в виду, что разные типы процессоров могут иметь несовместимый объектный код или разный объем памяти программ, что приведет к непредсказуемым последствиям. Alt+E EEPROM – Если установлен тип процессора PIC16C84, то пользователь может просматривать содержимое памяти данных EEPROM. В других типах процессоров эта функция не доступна. Alt+F FILE – Загрузка файлов. В появляющемся при нажатии окне файлы отображаются желтым цветом, а каталоги – красным. В списке перечисляются только файлы с расширением *.lst. Alt+S STCK – Отображает содержимое стека. Alt+W WDTMR – Позволяет включить или отключить сторожевой таймер. Atl+X EXIT – Выход из эмулятора и возврат в MS-DOS. Всплывающая подсказка позволит подтвердить выход. Отладка программы Для отладки программы необходимы два файла Spasm.exe, Psim.exe и любой текстовый редактор (например, встроенный редактор Volkov Commander) для набора программы на языке Ассемблера. Пример текста программы: device PIC16F84 org 00h goto 05h ;переход на 05h org 05h clrw ;очистка W M1 addlw 1h ;прибавить 1h к W goto M1 ;переход на M1 end Внимание! Директива device является обязательной и должна быть самой первой командой в программе. Внимание! В отличие от других Ассемблеров и языков высокого уровня, в SPASM после метки не надо ставить двоеточие, иначе будет выдано сообщение об ошибке. После набора текста программы необходимо сохранить ее в файле с расширением *.src. Далее следует с помощью программы Ассемблера Spasm произвести трансляцию файла. Программа Spasm запускается с командной строки MS-DOS, при этом следует задать два параметра: имя файла, в котором содержится текст программы (файл с расширением *.src), и ключ /L. Формат команды: spasm где filename – имя файла, в котором содержится текст программы. Если файл с текстом программы находится в другом каталоге или на другом диске к имени файла следует добавить полный путь. Ключ /L указывает на то, что необходимо генерировать List-файл. Если в программе не обнаружено ошибок, то в результате трансляции будут созданы два файла с расширениями *.lst и *.obj. И на экран будет выдано сообщение. Для приведенной выше программы сообщение будет иметь вид: ===== Parallax PIC16Cxx Assembler v4.7 ===== Copyright (C) Parallax, Inc. 1996 ===== Tel (916) 624-8333 : BBS (916) 624-7101 ===== Fax (916) 624-8003 : Pass 0 - resolving symbols... okay Pass 1 - generating object... okay ===== Done - 4 words, 1020 free - symbol table 5% Если же в программе есть ошибки, то в сообщении будет указываться номер строки, содержащей ошибку, и причина ошибки. Например, в ниже приведенном сообщении указывается, что вторая и третья строки программы содержат ошибки, причиной ошибки является неверный мнемокод: ===== Parallax PIC16Cxx Assembler v4.7 ===== Copyright (C) Parallax, Inc. 1996 ===== Tel (916) 624-8333 : BBS (916) 624-7101 ===== Fax (916) 624-8003 : Pass 0 - resolving symbols... ERROR IN 2: illegal mnemonic ERROR IN 3: illegal mnemonic Pass 0 - terminated after 2 errors ...Assembly aborted... Информация об ошибках в программе, так же содержится в List-файле. Поэтому при исправлении ошибок рекомендуется пользоваться именно List-файлом, если он создан (Существуют ошибки, при наличии которых трансляция прекращается, и List-файл не создается. Например: illegal mnemonic или syntax error in operand). После исправления всех ошибок и успешной трансляции можно приступить к отладке. Отладчик Psim так же запускается с командной строки MS DOS, в качестве параметра следует задать имя List-файла. Формат команды: psim где filename – имя List-файла (файл с расширением *.lst). Результатом успешного выполнения команды будет запуск программы отладчика. Внешний вид отладчика имеет вид: Рис. 1. Отладчик содержит информацию о содержании РСН, состоянии флагов, позволяет просматривать содержимое стека. В PIC16C84 можно просмотреть содержимое EEPROM. Так же есть возможность установить частоту тактового генератора, вкл/выкл сторожевой таймер, изменить тип устройства, загрузить другой файл программы. Отладчик считает суммарное время выполнения команд, с момента последнего обнуления (Time), и количество машинных циклов, с начала работы программы (CYCLES). Щелчок любой кнопкой мыши на бите, двоичного представления содержимого регистра, изменяет значение бита на противоположное. Щелчок правой кнопкой мыши на тетраде, шестнадцатеричного преставления содержимого регистра, уменьшает содержимое регистра на единицу, щелчок левой кнопкой – увеличивает. Отладка осуществляется путем пошагового выполнения программы с помощью клавиш F7 – шаг на адрес вперед и Alt+F7 – шаг на адрес назад. Если в программе были найдены логические ошибки, то для их исправления необходимо выйти из отладчика и в своем файле на Ассемблере исправить их. А затем заново повторить все операции. Для выхода из отладчика следует нажать комбинацию клавиш Alt+X или Esc, и подтвердить выход, нажав клавишу Y. Информация об стальных клавишах приведена выше. Робота в лабораторії Текст налагодженої програми. Інкремент регістру W: device PIC16F84 org 0h goto 05h org 05h clrw m1 addlw 1h goto m1 end Висновок.На даній лабораторій роботі ми вперше ознайомились з емулятором для PIC- контролерів. Було проведено знайомство з помічником емулятора, вікном відлагоджувальника, а також написано програму і проведено її емуляцію. |
Посетителей: 0, из них зарегестрированных: 0, гостей: 0 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 0.0591 сек. |