Уроки и статьи |
PIC
Ответьте «Yes». В появившемся окне выберите место для проекта и назовите его «S2-1». Или как-нибудь по другому. Не используйте в именах директорий и файлов русские буквы (т.к. возможны проблемы при создании/чтении файлов)!
После нажатия на кнопку «ОК» появится окно «Редактирование проекта»: Ничего здесь менять не будем. Сделаем некоторые пояснения. Target Filename – это имя файла с данными для программирования микроконтроллера. Development Mode – режим разработки. В данном случае будем использовать только текстовый редактор. Language Tool Suite – язык программирования. Будем использовать стандартный язык Microchip. Далее нам необходимо добавить в проект хотя бы один файл, в котором будет программа на ассемблере. Для этого нажмите кнопку «Add Node»: Пусть этот файл «s2-1.asm» и находится в той же директории, куда мы записали проект. После нажатия на кнопку «ОК» появится окно «Редактирование проекта» и в Project Files можно увидеть появившийся файл «s2-1.asm»: Теперь нажимаем «ОК». Теперь на экране мы имеем окно файла, в котором будем записывать программу на ассемблере. Выберите в меню File команду Save As, чтобы сохранить созданный файл под определенным именем. Пусть имя будет «S2-1.asm».
Запишем последний вариант полученной программы в сформированный файл Определим
тип выходного файла «.hex». Для этого
Выберите в меню Project команду Edit Project
и выделим в «Project Files» “s2-1 [.hex].
Нажмите “Node Properties”.
Установите в строке «Hex Format» флажок у значения INHX8M, чтобы выбрать необходимый тип выходного файла. Нажмите «ОК». Для того, чтобы получить файл прошивки, необходимо откомпилировать исходный файл. Выберите в меню Project команду Build All. Компиляция прошла успешно. Мы видим одно сообщение (Message). Оно возникает потому, что в файле «p16f84.inc» адрес регистра TRISB определен как 86h, т.е. с учетом значения бита выбора банка памяти. Поэтому программа сообщает о том, что нужно не забыть переключить банк (что мы сделали), чтобы предотвратить возможные ошибки. В результате в директории проекта появился файл «s2-1.hex». Этот файл содержит код программы, который мы будем загружать в микроконтроллер. Для проверки работоспособности программы соберите следующую схему: В качестве DD1 используйте панельку типа DIP18, ZQ1 – 4 МГц; C1, C2 – 30 пФ, С3 – 0,1 мкФ, VD1 – КД522А, VD2,3 – АЛ307, R1 – 2 …6,2 кОм, R2,3 – 270 Ом. Подключите эмулятор «EM-PIC84» или другой (или установите в панельку запрограммированный микроконтроллер, если Вы не используете эмулятор). Если Вы используете эмулятор или программатор PIC, отличный от «EM-PIC84», то следуйте инструкции по его использованию. В случае с «EM-PIC84» необходимо: - переписать в директорию проекта файлы, поставляемые вместе с эмулятором. - Сформировать в текстовом редакторе следующий файл «s2-1.bat»: hextobin
s2-1.hex s2-1.bin empic84a
e 84 test1.bin pic16f84.par empic84a
w 84 s2-1.bin pic16f84.par empic84a
c 84 pic_cfg pic16f84.par
В первой строке этого файла
производится преобразование «s2-1.hex»
файла в «s2-1.bin» файл, необходимый для
эмулятора. Во второй – стирание
программной памяти микроконтроллера.
Во третьей – запись «s2-1.bin» в
микроконтроллер. В четвертой – запись
слова конфигурации (для работы с
кварцевым генератором). Более подробно
о командах эмулятора можно посмотреть
в документации на него. Теперь запустите этот файл на выполнение. После его выполнения, в соответствии с набранной программой должен зажечься светодиод VD2. В случае параллельного управления группой автономных исполнительных устройств, подключенных к выходному порту, формируется не двоичное управляющее воздействие, а управляющее слово (УС), имеющее формат байта, каждому разряду которого ставится в соответствие 1 или 0 в зависимости от того, какие исполнительные механизмы должны быть включены, а какие выключены. Управляющие слова удобно формировать командами логических операций над содержимым порта (см. «Система команд. Логические операции»). Команда ANDWF f, d используется для сброса тех бит УС, которые в операнде (маске) заданы «0». Команда IORWF f, d используется для установки бит УС, которые в операнде (маске) заданы «1». Командой XORWF f, d осуществляется операция «исключающее ИЛИ».В данных командах в качестве маски может выступать как регистр f, так и регистр W. Есть также операции, позволяющие в качестве маски использовать константы. Такие операции возможны только с регистром W (ANDLW k ;IORLW k; XORLW k). Например, необходимо установить для порта PORTB биты 0 – 3 в состояние «1». Воспользуемся командой IORWF f, d. MOVLW
B’00001111’ ;запишем маску в W IORWF
PORTB, F ;логическое ИЛИ PORTB и W, результат ;сохраняем в регистре PORTB Для формирования сложных последовательностей УС пользуются табличным способом, при котором все возможные УС упакованы в таблицу. Программа вычисляет адрес требуемого УС, выбирает его из таблицы и передает в порт вывода.
|