Файл: Самоучитель по программированию PIC контроллеров для начинающих (Е.А. Корабельников,2008).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.06.2025

Просмотров: 3637

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Щелкаем по OK.

Файл проекта с расширением .PJT cоздан и "ушел" в папку Multi.

Одновременно открывается окно Edit Project, в котором предлагается создать "пустышку"

HEX-файла.

Но перед этим, на всякий случай, нужно убедиться, что в окошке Divelopment Mode установлено: MPLAB SIM PIC16F84A (то, чем мы занимались в настройках), а в окошке

Language Tool Suite установлено: Microchip.

Создаем "пустышку".

В списке Project Files щелкаем по строке multi(.hex).

После этого, строка выделяется и кнопка Node Properties... активизируется.

Щелкаем по ней.

Открывается окно Node Properties.

51

Менять здесь ничего не нужно (настройки по умолчанию).

Единственное, что нужно сделать – убедиться в том, что в окошке Node установлено: MULTI.HEX, а в окошке Language Tool установлено: MPASM.

Щелкаем по OK. "Пустышка" HEX - файла создана и "ушла" в папку Multi. Опять появится окно Edit Project. Теперь создаем "пустышку" ASM-файла.

Щелкаем по кнопке Add Node... Раскрывается окно Add Node.

Это то же самое , что и окно New Project, только предназначенное для создания ASM-файла, поэтому нужно сделать в точности то же самое, что и в окне New Project.

Единственное различие может быть в том, что, если Вы указываете название файла с расширением, то естественно, что оно должно быть не .PJT, а .ASM

Чтобы не ошибиться, настучите Multi.asm и дело с концом.

Щелкаем по OK. "Пустышка" ASM-файла создана. Опять появится окно Edit Project.

52

В списке этого окна Вы увидите, что к HEX-файлу добавился ASM-файл. Щелкните по OK.

Окно Edit Project закроется, и Вы останетесь "один на один" с пустым файлом Untitled... .

Необходимо сделать его пригодным для работы по составлению текста программы (следовательно, речь идет о файле с расширением .ASM).

Для этого необходимо назвать его Multi.asm и "вписать" его в ранее созданную "пустышку" ASM-файла (см. выше).

Делается это так: щелкаем по слову File в главном меню, а затем - по строке выпадающего списка Save As.. .

Открывается уже знакомое нам окно, только с названием Save File As. Выбираем папку Multi и определяем название файла (Multi.asm).

Здесь Вы еще увидите нечто, перед которым можно поставить или не поставить галочку. Ничего менять не нужно.

Щелкаем по OK и опять остаемся наедине с пустым файлом, только теперь он "прописан" в папке Multi под названием multi.asm (см. адресную строку окна файла).

Обратите внимание: и в списке окна Edit Project, и в адресной строке созданного нами ASM - файла, большая буква M, в названии файла Multi.asm, "превратилась" в маленькую m. Пусть Вас это не смущает, так как "что в лоб, что по лбу - все едино".

Особо дотошные могут работать только в нижнем регистре, а я, в этом смысле, привык работать по старинке. Каюсь, грешен, но ничего с собой поделать не могу.

Итак, проект Multi создан, и перед Вашими глазами сейчас находится "поле предстоящих сражений" (файл Multi.asm).

Именно на этом, пока пустом, "белом листе" мы и будем заниматься тем, что называется

53


программированием.

"Для полного счастья", нужно потренироваться в закрытии и открытии проекта. Сейчас проект открыт.

Для того чтобы закрыть проект, в главном меню, щелкните по слову Project, и в выпадающем списке, щелкните по строке Close Project (закрыть проект).

При первом закрытии, программа может ничего не спросить, но при последующих закрытиях проекта, она может спросить: сохранить или нет внесенные изменения?

Тут, как говорится, дело хозяйское.

В этом случае нужно щелкнуть или по Yes или по No и проект закроется.

Для того чтобы открыть проект, в главном меню, щелкните по слову Project, и в выпадающем списке щелкните по строке Open Project (открыть проект).

Откроется знакомое Вам окно, только с названием Open Project, в котором нужно указать папку, в которой находится искомый проект (в нашем случае - папка Multi).

После открытия этой папки, в списке (под окошком File Name) появится название файла проекта.

Если это то, что нужно, то необходимо щелкнуть по строке с названием файла проекта, а затем - по OK.

Окно Open Project закроется, и в нашем случае, появится предупреждение, что HEX-файл "пустой", то есть, текст программы не ассемблировался, что и соответствует действительности.

Говорим спасибо программе за "бдительность" и щелкаем по OK.

После этого, проект откроется, и Вы увидите, в нашем случае, пустой файл Multi.asm во всей своей "боевой готовности".

Потренируйтесь. Создайте несколько своих пустых проектов в папке Pic.

Примечание: если производилось ассемблирование (HEX-файл не пустой), то указанное выше предупреждение, не выдается, и ASM-файл открывается сразу.

Если после работы с текстом программы, производилось ассемблирование, и сразу же после этого проект закрывается, то он закроется сразу после ответа на вопрос программы: "Сохранить изменения или нет"?

Если после последнего, перед закрытием проекта, ассемблирования, в текст программы были внесены изменения, то MPLAB напомнит Вам о необходимости ассемблирования перед закрытием проекта, проведет его (щелкнуть по Yes), опять задаст вопрос: "Сохранить изменения или нет"?, и после ответа на него, закроет проект.

Прочитал написанное и сам удивился: не думал, что объяснение такой относительно несложной процедуры потребует столько много слов.

Но проще как-то не получается.

Надеюсь, что не смотря на это, объяснение, все-таки, получилось доходчивым и понятным. После того, как Вы "набьете руку", открытие нового проекта будет занимать у Вас не более 1 - 1,5 минут, и Вы сами убедитесь, как это относительно просто.

"Загрузка" текстов программ в текстовый редактор. Речь пойдет о "загрузке" файлов с расширением .ASM (тексты программ).

Если необходимо просто просмотреть текст той или иной программы (например, Вы скачали в Интернете ASM-файл какой-нибудь программы и хотите с ней разобраться), то проекта создавать не нужно.

Если нужно изменить текст этой программы и/или создать ее HEX-файл, то необходимо "загрузить" (скопировать) текст этой программы в текстовый редактор (в "пустое" окно нового проекта).

Могут быть и другие необходимости.

Давайте разберемся с "технологией этого действа". Для работы, необходим какой-нибудь ASM-файл. Я буду использовать файл программы Multi.asm

Примечание: ранее Вы познакомились с текстом этой программы в формате .DOC (см. выше).

Это сделано для удобства тех читателей, которые не установили на своем компьютере

MPLAB.

Файл программы Multi.asm прилагается (находится в папке "Тексты программ").

54


С ним и будем работать.

Далее, все файлы текстов программ и подпрограмм, публикуемые в "Самоучителе...", будут иметь расширение .ASM.

Итак, открываем файл Multi.asm вне проекта. Запустите MPLAB.

Если программа предложит Вам открыть какой-то более ранний проект MPLAB, то откажитесь, щелкнув по No.

Перед Вами пустое окно MPLAB.

Вглавном меню программы, щелкните по слову File и далее, по строке Open (в выпадающем списке).

Откроется знакомое Вам окно MPLABовского проводника, только с названием

Open Existing File.

Найдите то место, где у Вас лежит файл Multi.asm

После этого, Вы увидите его название в списке проводника.

Щелкните по строке с этим названием, а затем по OK (или двойной щелчок по строке). После этого, Вы увидите окно с текстом выбранной Вами программы.

Так как предполагается работа, связанная с изменением текста этой программы, и мы ранее (см. выше) создали "пустой" проект, то необходимо загрузить текст программы в проект. Делается это так:

Не закрывая окно с текстом программы, нужно открыть проект Multi.

Вы раньше это уже делали, так что сделайте это сейчас самостоятельно.

Вслучаях появления сообщений об ошибках Project Error и Import Error (ASM-файл проекта пустой и ранее ассемблирования не производилось), необходимо их убрать, щелкнув по OK. После этого, откроется второе окно "заготовки" ASM-файла проекта.

Оно пустое.

Нужно скопировать в него содержимое окна, которое находится за ним (перенести содержимое текста программы Multi.asm в "пустой" проект).

Переключения между окнами и сам процесс копирования ничем не отличается от того же самого, при работе в "Виндах".

Копирование производится через буфер обмена.

А именно: активизируете окно с текстом программы.

Вглавном меню MPLAB, щёлкаете по слову Edit и в выпадающем списке, щёлкаете по Select All (выделить всё).

Далее опять щёлкаете по Edit, а в выпадающем списке, по Copy (текст программы скопировался в буфер обмена).

Затем активизируете "пустое" окно.

Далее, опять щелкаете по Edit, а в выпадающем списке, по Paste (вставить).

Всё. Копирование текста программы Multi.asm в проект произведено, и Вы видите этот текст в бывшей "пустышке" ASM-файла проекта.

Таким образом, "пустышка" ASM-файла "превратилась в полноценный" ASM-файл проекта, с которым можно работать.

После этого, окно с текстом программы, из которого производилось копирование, становится ненужным и его можно убрать обычным для "Виндов" способом, то есть, щёлкнув по кнопке Закрыть в правом верхнем углу этого окна.

Далее, для удобства восприятия, разверните оставшееся окно, щёлкнув по кнопке Развернуть (находится в правом верхнем углу этого окна).

После этого, Вы увидите текст программы Multi.asm в полной "боевой готовности". Так как этот текст в ПИК не зашьёшь, то начинаем разбираться с HEX - файлом ("прошивкой").

Впроекте "лежит пустышка" ("заготовка") HEX-файла.

Для того чтобы она "превратилась в полноценный" HEX-файл (то есть, наполнилась содержанием), необходимо проассемблировать текст программы.

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

Создание HEX-файла.

Ассемблирование (компиляция) выполняется очень просто:

В главном меню MPLAB щелкаете по слову Project, а в выпадающем списке, по строке

55


Build Node.

Далее, ни во что не вмешивайтесь, а только ждите окончания процесса. MPLAB "все сделает в наилучшем виде".

В конечном итоге, Вы увидите окно Build Results с текстом, последняя строка которого должна выглядеть так: Build completed successfully.

Это соответствует случаю безошибочного составления текста программы. После этого окно Build Results, со спокойной совестью, можно закрыть.

Если в тексте программы будут ошибки, то в окне Build Results будет выведен их список, а содержание последней строки будет иным.

Разбор этого варианта будет ниже.

Итак, сообщение об отсутствии ошибок получено, что говорит о том, что пустышка HEX-файла проекта "превратилась" в полноценный HEX-файл (Multi.hex), который можно "загружать" в программу, обслуживающую программатор, а значит и "зашить" в ПИК. Желающие (имеющие программатор) могут это сделать.

Получится автоколебательный мультивибратор со стабильной частотой 5кГц. Итак, Вы приобрели для себя новую возможность.

Теперь, имея файл с расширением .ASM (текст программы), Вы можете самостоятельно создать файл "прошивки" (HEX-файл), а это уже не мало.

Даже не имея "штатного" ASM-файла, а имея "нештатный" текст программы (например, опубликованный в какой-нибудь книге), Вы можете его "настучать" в текстовом редакторе MPLAB (с соблюдением синтаксических правил написания текста программы) и после этого, создать HEX-файл этой программы.

Для этого даже не нужно быть программистом в буквальном смысле этого слова. Программист же, должен, описанные Выше операции, производить "в автомате" (на уровне условных рефлексов).

Поэтому, тренируйтесь.

При составлении программ, мозги не должны отвлекаться на такие "технологические вещи". Для них и так, кроме этого, будет достаточно другой, более значимой, работы.

Работа с текстом программы при наличии ошибок.

Посмотрим, что произойдет, если в тексте программы допущена ошибка. Искусственно введу ее.

Например, в "шапке" программы Multi.asm, поставлю точку с запятой перед названием регистра Sec (напоминаю, что MPLAB "ничего не видит" после точки с запятой). Ассемблируем текст программы и получаем сообщение о 4-х ошибках, с нижней строкой в конце, в которой сообщается о "неудачном" ассемблировании (MPLAB "ушел в отказ").

56