Джон Ловин - Создаем робота-андроида своими руками
Рис. 6.1. Компилятор PICBASIC
Плата программатора EPIC (см. рис. 6.2) имеет панельку для вставки ИС PIC контроллера и соединение с ПК через порт принтера для осуществления программирования. Плата программатора присоединяется к компьютеру с помощью кабеля DB25, вставленного в порт принтера (параллельный порт). Если в компьютере имеется единственный параллельный порт, в который уже вставлен кабель принтера, то для программирования PIC этот кабель должен быть предварительно отсоединен. В паре с компилятором PICBASIC плата программатора EPIC поддерживает программирование многих типов PIC микроконтроллеров. Цена платы программатора вместе с прилагаемой дискетой составляет $59,00.
Рис. 6.2. Плата программирования EPIC
Микроконтроллер PIC 16F84 изображен на рис. 6.3. Он представляет собой универсальное устройство, снабженное flash-памятью. Flash-память, как было отмечено выше, является памятью с возможностью перезаписи. Память допускает минимум 1000 циклов стирание-запись, поэтому вы можете перепрограммировать и вновь использовать микроконтроллер до 1000 раз. Время сохранения памяти без перезаписи составляет примерно 40 лет. Из 18 выводов ИС 16F84 13 представляют собой шины ввода-вывода. Изменение состояния шин ввода-вывода можно легко осуществить из программы. Другие функции включают управление питанием по перезапуску, режим энергосберегающей моды, таймер включения и защиту кодов. Другие функции архитектуры PIC 16F84 будут приведены по ходу изложения.
Рис. 6.3. Микроконтроллер 16F84
Загрузка программного обеспечения
Прежде всего необходимо загрузить матобеспечение компилятора PICBASIC и программатора EPIC согласно инструкциям, приведенным в их описаниях. Для загрузки я создал директорию на жестком диске под названием APPLICS. Для того чтобы вызывать компилятор и программатор из одной и той же директории, я использовал указатель пути DOS. Все необходимые текстовые файлы я создал и сохранил в той же директории APPLICS. Для полной установки программного обеспечения, включая полный список команд DOS, наряду с руководством по программированию микроконтроллеров PIC прочитайте мою книгу PIC Microcontroller Project Book (McGraw-Hill, New York, 2000).
Шаг 1: Написание программы на языке BASIC
Программы на языке PICBASIC должны быть написаны в текстовом редакторе, способным создавать текстовые файлы формата ASCII или DOS text. Все современные редакторы, которые я использовал, имеют эту функцию. Используйте команду Save as и выберете расширение MS-DOS text, DOS text или ASCII text. Готовый текст компилируется с помощью PICBASIC. Если у вас нет текстового редактора, то воспользуйтесь программой Windows Notepad, которая имеется в версиях Windows 3.x, 95, 98 для того, чтобы написать исходный файл на BASIC. (В Windows смотрите Приложения.) В оболочке DOS вы можете использовать редакторы EDIT.
При сохранении файла необходимо снабдить его расширением. bas. Если вы сохраняете программу под именем Wink, то ее полное имя будет Wink.bas.
Шаг 2: Компилирование программы
Компилятор PICBASIC запускается командной строкой pbc с набором имени необходимого текстового файла. Например, если мы назвали файл wink.bas, то командная строка в DOS command prompt будет:
pbc wink.bas
Компилятор BASIC обрабатывает исходный файл и создает два дополнительных файла:.asm (файл на языке ассемблера) и. hex (файл в шестнадцатеричных машинных кодах).
Файл wink.asm представляет собой трансляцию BASIC файла на язык ассемблера. Файл wink.hex является файлом машинных кодов, записанных в шестнадцатеричном виде. Для программирования PIC загружается файл. hex.
Если при компилировании исходного текста на BASIC компилятор обнаружит ошибки, то он отметит каждую из них в строке, содержащей эту ошибку, и прервет работу. Для успешного завершения компиляции необходимо предварительно исправить все отмеченные ошибки в исходном тексте программы.
Шаг 3: Программирование ИС PIC
Соедините плату программатора с портом принтера компьютера при помощи кабеля DB25. Перейдите в моду DOS. В командной строке наберите:
EPIC
На рис. 6.4 показан вид экрана монитора. Используйте опцию Open File и выберите файл wink.hex из списка в диалоговом окне. После загрузки файла последовательность чисел отобразится в окне слева. Вставьте PIC 16F84 в панельку и нажмите клавишу Program. Микроконтроллер PIC запрограммируется и будет готов к работе.
Рис. 6.4. Окно программирования EPIC
Первая программа на языке BASIC
Теперь мы готовы написать нашу первую программу. Введите программу с помощью текстового редактора в точности, как она представлена ниже:
‘Первая программа на BASIC для попеременного мигания двух светодиодов, подключенных к порту В.
Loop: High 0 ‘Включить светодиод, подключенный к порту RB0
Low 1 ‘Выключить светодиод, подключенный к порту RB1
Pause 500 ‘Задержка 0,5 с.
Low 0 ‘Выключить светодиод, подключенный к порту RB0
High 1 ‘Включить светодиод, подключенный к порту RB1
Pause 500 ‘Задержка 0,5 с.
goto loop ‘Переход по метке Loop попеременное мигание светодиодов
End
Посмотрите на рис. 6.5. Сохраните данный текст как текстовый файл при помощи команды Save в файловом меню. Присвойте файлу имя wink.bas (см. рис. 6.6). Если вы случайно сохранили текст как wink.txt, то не расстраивайтесь. Вы можете легко переименовать файл в wink.bas в файловом меню редактора при помощи команды Save as.
Рис. 6.5. Текстовый файл программы PICBASIC
Рис. 6.6. Сохранение текстового файла
Компиляция
Компилятор PICBASIC должен быть запущен под системой DOS или из окна DOS prompt в системе Windows. Я производил запуск компилятора из директории APPLICS. Убедитесь, что файл wink.bas также находится в директории компилятора PICBASIC. Компилятор PICBASIC совместим со многими типами различных PIC микроконтроллеров. Для компиляции программы под имеющийся микроконтроллер необходимо сообщить программе его тип. Для компиляции программы под PIC 16F84 необходимо добавить -p16f84 к команде pbc.
Таким образом, полная команда будет выглядеть: pbc -p16f84 wink.bas. В DOS prompt наберите команду и нажмите клавишу ввода (см. рис. 6.7).
C:APPLICS>pbc –p16f84 wink.bas
Рис. 6.7. Введение команды компиляции
Компилятор выдаст заголовок, содержащий название версии и начнет компилировать исходный текст (см. рис. 6.8). Если исходный текст на BASIC не содержит ошибок, то он создаст два дополнительных файла. Если компилятор найдет ошибки, то он выдаст список ошибок с указанием номера соответствующей строки. Сопоставьте номера строк ошибок со строками исходного текста. Компилятор завершит программу только в том случае, если все ошибки будут исправлены.
Рис. 6.8. Программа компилятора
Вы можете посмотреть полученные файлы с помощью команды dir. Наберите dir в командной строке и нажмите клавишу ввода (см. рис. 6.9).
C:APPLICS> dir
Рис. 6.9. Командная директория
Команда dir отображает все субдиректории и файлы, содержащиеся в данной директории. На рис 6.9 можно заметить появление двух дополнительных файлов. Одним из них является файл wink.asm, являющийся исходным файлом на языке ассемблера, который автоматически запускает макроассемблер для перевода ассемблерного кода в шестнадцатеричный машинный код. Вторым созданным файлом является файл wink.hex, содержащий шестнадцатеричный машинный код.
Программирование ИС PIC
Для программирования ИС PIC необходимо соединить плату программатора EPIC с компьютером (см. рис. 6.10). Плата EPIC соединяется с портом принтера. Если компьютер содержит единственный порт принтера, то отсоедините принтер, если он был подключен, и подключите плату EPIC при помощи кабеля DB25 длиной 2 метра.
Рис. 6.10. Плата программатора EPIC
При подключении платы обратите особое внимание на то, чтобы PIC микроконтроллер не был вставлен в плату. Если у вас имеется внешний сетевой источник питания для платы программатора, вставьте его в соответствующее гнездо. Если у вас нет сетевого источника питания, то воспользуйтесь двумя новыми батареями на 9 В и переключите джампер «Batt on» для подачи напряжения. Подключение платы к компьютеру и подача питающего напряжения должны производиться до запуска программ. В противном случае компьютер «не увидит» устройство, присоединенное к порту принтера, и выдаст сообщение об ошибке «EPIC programmer not connected».
После подачи напряжения и соединения с портом принтера на плате программатора может зажечься и погаснуть светодиод. До окончания отработки программы установки связи в EPIC программатором не вставляйте PIC микроконтроллер в панельку программатора.
Программное обеспечение платы программатора EPIC
Существуют две версии программного обеспечения EPIC: EPIC.exe под систему DOS и EPICWIN.exe под Windows. Матобеспечение под Windows является 32-разрядным и может использоваться под версии Windows 95, 98 и NT, но не подходит для 3.Х.