Самоучитель по программированию PIC контроллеров для начинающих (Е.А. Корабельников,2008). Самоучитель по программированию PIC контроллеров для начинающих. Система команд pic16F84A 26 Что такое программа иправила ее составленияПример создания программы автоколебательного мультивибратораДирективы.
Скачать 3.49 Mb.
|
XT ), значение частоты кварца (мГц) и единицу измерения частоты (мГц. Запустите MPLAB После этого, Вы увидите "фасад " программы с пустым окном программы Управление - привычное сверху - главное меню, под ним - кнопки, дублирующие основные действия Самая левая кнопка - выбор различных раскладок этих кнопок Таких раскладок - 4 (на все случаи жизни, но лично я, пользуюсь только одной Если в этой раскладке не хватает какого- то нужного мне действия, то я использую команды главного меню Пощелкайте по самой левой кнопке найдите и оставьте ту раскладку, в которой кнопки с двумя светофорами занимают 9- ю и 10- ю позиции слева В главном меню щелкните по слову, а затем - по строке Откроется окно с активной вкладкой Tools Если вкладка Tools не активна, то щелкните по ней На вкладке Tools должна быть поставлена точка перед SIM Simulator ( симулятор включен. Если это не так, то поставьте ее и не снимайте, так как симулятор нужен всегда Щелкните по кнопке списка Processor Вы увидите список ПИКов , c которыми работает MPLAB Нужно выбрать из этого списка PIC16F84A Перейдите на вкладку Clock и поставьте там точку перед MHz Укажите значение частоты применяемого кварца ( 4.000000 ). В выпадающем списке нужно выбрать (стандартный генератор. В конечном итоге, Вы должны наблюдать следующее (это две отдельные картинки вкладок Я их просто совместил 49 Щелкните по OK Настройка опций MPLAB закончена Остальные настройки - по умолчанию (то есть, делать больше ничего ненужно. Создаем проект Если для файлов проекта заранее не определено место их хранения, то все они будут "свалены в кучу " внутри, и Вы будете долго и нудно их искать среди большого количества файлов программы В целях недопущения такого "бардака ", необходимо заранее (до создания проекта) определить место, где эти файлы будут компактно храниться Советую Вам делать так, как делаю я Не запуская, зайдите в папку программы (например, через проводник. Для ориентира Вы должны увидеть папку Example Здесь же создайте "глобальную " папку с названием , например, Pic для хранения различных проектов, а внутри папки создайте пустую папку в нее мы и поместим все файлы проекта. Таким образом, в папке Pic будут храниться папки с файлами различных проектов, которые мы будем создавать Дешево , сердито и никакого "бардака ". Открываем MPLAB Сначала необходимо создать пустой файл, который, в дальнейшем , мы как- нибудь назовем, присвоим расширение ( .ASM ) и сохраним в папке Multi Это делается очень просто щелкните по слову File в главном меню, а затем по New в выпадающем списке, после чего откроется пустое окно файла, которому программа присвоит название безымянный 1), 2, 3... Это не имеет значения, так как далее, это название будет изменено Одновременно с созданием "пустышки ", программа предложит Вам создать проект Щелкните по кнопке Yes Откроется окно Project 50 Справа, под словом, Вы увидите что- то типа "недоношенного " Виндовского проводника, а еще ниже - окошко выбора дисков компьютера Выбираете тот диск, на которому Вас находится MPLAB и в проводнике щелкаете по папке, после чего Вы увидите ее содержимое Найдите предварительно созданную папку Pic Щелкните по ней, а затем по папке Multi После того, как Вы увидите, что она открылась (в том смысле, что картинка папки изменится с закрытой на открытую, обратите внимание на левую часть окна Снизу ( List Files of Type ) Вы увидите, что программа автоматически присвоит создаваемому файлу проекта расширение, поэтому в окошке File можно даже указать имя файла проекта без расширения (это относится и к файлам с расширениями .ASM и .HEX , о которых речь пойдет далее, а можно и с расширением Кому как нравится Лучше всего присвоить всем файлам проекта одно и то же имя В нашем случае - Так как у всех файлов проекта разные расширения, то "конфликтовать " между собой они не будут Внимание : при создании проекта, русские буквы применять нельзя. Нужно применять только латинские буквы и цифры . Все названия должны включать в себя не более 8- ми (включительно) символов (без учета символов расширения, а иначе MPLAB будет "ругаться ". Итак, в окошке File Name " настукиваем ": или 51 Щелкаем по OK Файл проекта с расширением .PJT c оздан и "ушел " в папку Multi Одновременно открывается окно Project , в котором предлагается создать "пустышку " HEX- файла Но перед этим, на всякий случай, нужно убедиться, что в окошке Divelopment установлено MPLAB SIM PIC16F84A (то, чем мы занимались в настройках ), а в окошке Tool установлено Microchip. Создаем "пустышку ". В списке Project щелкаем по строке multi(.hex). После этого, строка выделяется и кнопка Node Properties... активизируется Щелкаем по ней Открывается окно Properties 52 Менять здесь ничего ненужно (настройки по умолчанию. Единственное, что нужно сделать – убедиться в том , что в окошке Node установлено : MULTI.HEX, а в окошке установлено MPASM. Щелкаем по. "Пустышка " HEX - файла создана и "ушла " в папку Multi Опять появится окно Теперь создаем "пустышку " ASM- файла Щелкаем по кнопке Раскрывается окно Это тоже самое , что и окно New Project , только предназначенное для создания файла, поэтому нужно сделать в точности тоже самое, что ив окне Единственное различие может быть в том , что, если Вы указываете название файла с расширением , то естественно, что оно должно быть не, а .ASM Чтобы не ошибиться, настучите Multi.asm и дело с концом Щелкаем по. "Пустышка " файла создана Опять появится окно Project 53 В списке этого окна Вы увидите, что к файлу добавился ASM- файл Щелкните по OK Окно Edit закроется, и Вы останетесь "один на один " с пустым файлом Необходимо сделать его пригодным для работы по составлению текста программы ( следовательно , речь идет о файле с расширением .ASM ). Для этого необходимо назвать его Multi.asm и "вписать " его в ранее созданную "пустышку " файла (см выше. Делается это так щелкаем по слову File в главном меню, а затем - по строке выпадающего списка Открывается уже знакомое нам окно, только с названием Save File Выбираем папку Multi и определяем название файла ( Multi.asm ). Здесь Вы еще увидите нечто, перед которым можно поставить или не поставить галочку Ничего менять ненужно Щелкаем пои опять остаемся наедине с пустым файлом, только теперь он "прописан " в папке Multi под названием (см адресную строку окна файла. Обратите внимание ив списке окна Project , ив адресной строке созданного нами ASM - файла, большая буква M, в названии файла "превратилась " в маленькую m Пусть Вас это не смущает, так как "что в лоб , что полбу- все едино ". Особо дотошные могут работать только в нижнем регистре, а я , в этом смысле, привык работать по старинке Каюсь , грешен, но ничего с собой поделать не могу Итак , проект Multi создан , и перед Вашими глазами сейчас находится "поле предстоящих сражений " (файл. Именно на этом, пока пустом, "белом листе " мы и будем заниматься тем, что называется 54 программированием "Для полного счастья ", нужно потренироваться в закрытии и открытии проекта Сейчас проект открыт Для того чтобы закрыть проект, в главном меню, щелкните по слову Project, и в выпадающем списке, щелкните по строке Project (закрыть проект. При первом закрытии, программа может ничего не спросить, но при последующих закрытиях проекта, она может спросить сохранить или нет внесенные изменения Тут, как говорится, дело хозяйское В этом случае нужно щелкнуть или поили пои проект закроется Для того чтобы открыть проект, в главном меню, щелкните по слову Project, и в выпадающем списке щелкните по строке открыть проект. Откроется знакомое Вам окно, только с названием Open Project , в котором нужно указать папку, в которой находится искомый проект (в нашем случае - папка. После открытия этой папки, в списке (под окошком Name ) появится название файла проекта Если это то, что нужно, то необходимо щелкнуть по строке с названием файла проекта, а затем - по OK Окно Open закроется, ив нашем случае, появится предупреждение, что файл "пустой ", то есть, текст программы не ассемблировался , что и соответствует действительности Говорим спасибо программе за "бдительность " и щелкаем по OK После этого, проект откроется, и Вы увидите, в нашем случае, пустой файл Multi.asm во всей своей "боевой готовности ". Потренируйтесь Создайте несколько своих пустых проектов в папке Pic Примечание : если производилось ассемблирование (файл непустой, то указанное выше предупреждение, не выдается, и файл открывается сразу Если после работы с текстом программы, производилось ассемблирование , и сразу же после этого проект закрывается, то он закроется сразу после ответа на вопрос программы Сохранить изменения или нет "? Если после последнего, перед закрытием проекта, ассемблирования , в текст программы были внесены изменения, то MPLAB напомнит Вам о необходимости ассемблирования перед закрытием проекта, проведет его (щелкнуть по, опять задаст вопрос Сохранить изменения или нет, и после ответа на него, закроет проект Прочитал написанное и сам удивился не думал, что объяснение такой относительно несложной процедуры потребует столько много слов Но проще как- тоне получается Надеюсь , что несмотря на это, объяснение, все- таки, получилось доходчивыми понятнымПосле того, как Вы "набьете руку ", открытие нового проекта будет занимать у Вас не более - 1,5 минут, и Вы сами убедитесь, как это относительно просто " Загрузка " текстов программ в текстовый редактор. Речь пойдет о "загрузке" файлов с расширением .ASM тексты программ. Если необходимо просто просмотреть текст той или иной программы (например, Вы скачали в Интернете файл какой- нибудь программы и хотите с ней разобраться, то проекта создавать ненужно Если нужно изменить текст этой программы и / или создать ее файл, то необходимо "загрузить " (скопировать) текст этой программы в текстовый редактор (в "пустое " окно нового проекта. Могут быть и другие необходимости Давайте разберемся с "технологией этого действа ". Для работы, необходим какой- нибудь ASM- файл Я буду использовать файл программы Multi.asm Примечание : ранее Вы познакомились с текстом этой программы в формате .DOC см выше. Это сделано для удобства тех читателей, которые не установили на своем компьютере MPLAB Файл программы Multi.asm прилагается (находится в папке " Тексты программ. 55 Сними будем работать Далее , все файлы текстов программ и подпрограмм , публикуемые в "Самоучителе, будут иметь расширение .ASM Итак , открываем файл Multi.asm вне проекта Запустите MPLAB Если программа предложит Вам открыть какой- то более ранний проект, то откажитесь, щелкнув по No Перед Вами пустое окно MPLAB В главном меню программы, щелкните по слову File и далее, по строке (в выпадающем списке. Откроется знакомое Вам окно MPLAB овского проводника, только с названием Open Existing Найдите то место, где у Вас лежит файл Multi.asm После этого, Вы увидите его название в списке проводника Щелкните по строке с этим названием, а затем поили двойной щелчок по строке. После этого, Вы увидите окно с текстом выбранной Вами программы Так как предполагается работа, связанная с изменением текста этой программы, и мы ранее ( см выше) создали "пустой " проект, то необходимо загрузить текст программы в проект Делается это так Не закрывая окно с текстом программы, нужно открыть проект Multi Вы раньше это уже делали, так что сделайте это сейчас самостоятельно В случаях появления сообщений об ошибках Project Error и Import Error (файл проекта пустой и ранее ассемблирования не производилось, необходимо их убрать, щелкнув по OK После этого, откроется второе окно "заготовки " файла проекта Оно пустое Нужно скопировать в него содержимое окна, которое находится за ним (перенести содержимое текста программы Multi.asm в "пустой " проект. Переключения между окнами и сам процесс копирования ничем не отличается оттого же самого, при работе в " Виндах ". Копирование производится через буфер обмена А именно : активизируете окно с текстом программы В главном меню MPLAB, щёлкаете по слову Edit и в выпадающем списке, щёлкаете по выделить всё ). Далее опять щёлкаете по, а в выпадающем списке, по (текст программы скопировался в буфер обмена. Затем активизируете "пустое " окно Далее , опять щелкаете по, а в выпадающем списке, по Paste ( вставить ). Всё Копирование текста программы Multi.asm в проект произведено, и Вы видите этот текст в бывшей "пустышке " файла проекта Таким образом, "пустышка " файла "превратилась в полноценный " файл проекта, с которым можно работать После этого, окно с текстом программы, из которого производилось копирование, становится ненужными его можно убрать обычным для " Виндов " способом, то есть, щёлкнув по кнопке Закрыть в правом верхнем углу этого окна Далее , для удобства восприятия, разверните оставшееся окно, щёлкнув по кнопке Развернуть (находится в правом верхнем углу этого окна. После этого, Вы увидите текст программы Multi.asm в полной "боевой готовности ". Так как этот текст в ПИК не зашьёшь , то начинаем разбираться с - файлом (" прошивкой "). В проекте "лежит пустышка " (заготовка ") HEX- файла Для того чтобы она "превратилась в полноценный " файл (то есть, наполнилась содержанием, необходимо проассемблировать текст программы Текст программы в наличии , так что никаких преград, для выполнения этого действия, нет Создание файла. Ассемблирование (компиляция) выполняется очень просто В главном меню MPLAB щелкаете по слову, а в выпадающем списке, по строке 56 Build Далее, ни во что не вмешивайтесь, а только ждите окончания процесса "все сделает в наилучшем виде ". В конечном итоге, Вы увидите окно с текстом, последняя строка которого должна выглядеть так Build completed Это соответствует случаю безошибочного составления текста программы После этого окно Results , со спокойной совестью, можно закрыть Если в тексте программы будут ошибки, тов окне будет выведен их список, а содержание последней строки будет иным Разбор этого варианта будет ниже Итак , сообщение об отсутствии ошибок получено, что говорит о том , что пустышка HEX- файла проекта "превратилась " в полноценный файл ( Multi.hex ), который можно "загружать " в программу , обслуживающую программатора значит и "зашить " в ПИК Желающие (имеющие программатор) могут это сделать Получится автоколебательный мультивибратор со стабильной частотой 5 кГц Итак , Вы приобрели для себя новую возможность Теперь , имея файл с расширением .ASM (текст программы, Вы можете самостоятельно создать файл "прошивки (файла это уже немало Даже не имея "штатного " файла, а имея "нештатный " текст программы (например, опубликованный в какой - нибудь книге, Вы можете его "настучать " в текстовом редакторе (с соблюдением синтаксических правил написания текста программы) и после этого, создать файл этой программы Для этого даже ненужно быть программистом в буквальном смысле этого слова Программист же, должен, описанные Выше операции, производить "в автомате " (на уровне условных рефлексов. Поэтому, тренируйтесь При составлении программ, мозги не должны отвлекаться на такие "технологические вещи ". Для них итак, кроме этого, будет достаточно другой, более значимой, работы Работа с текстом программы при наличии ошибок. Посмотрим, что произойдет, если в тексте программы допущена ошибка Искусственно введу ее Например , в "шапке " программы Multi.asm, поставлю точку с запятой перед названием регистра (напоминаю, что "ничего не видит " после точки с запятой ). Ассемблируем текст программы и получаем сообщение о 4- х ошибках , с нижней строкой в конце , в которой сообщается о "неудачном " ассемблировании ( |