компилятором 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 прочитайте мою книгу
Шаг 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 с компьютером