RLBN.ru - electronics banner network
 Уроки и статьи

 PIC

  • Урок 2  - Формирование статических логических сигналов на выводах микроконтроллера

Ответьте «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

 Для формирования сложных последовательностей УС пользуются табличным способом, при котором все возможные УС упакованы в таблицу. Программа вычисляет адрес требуемого УС, выбирает его из таблицы и передает в порт вывода.

 

Скачать урок в WORD .

Hosted by uCoz