Умный дом

Введение в работу с MPLAB

После загрузки программы появляется рабочее окно. Вид программы обычен для Windows и, думаю, не требует особых пояснений.

Мы создадим новый проект в основном меню Project ^ New (Проект ^ Новый). Задаем название relay проекту в пап­ке Relay, которую я советую создать в основном разделе диска в папке MPLAB. Неоднократно я сталкивался с проблемой, которая не всегда очевидна. Многие программы, да это и удобно, предлагают хранить проект в папке Мои документы. Проблемы не возникает, если вы пользуетесь англоязычной версией Windows или русскоязычной версией программы. Но многие специализированные англоязычные программы начинают вытворять чудеса, если вы работаете в русскоязыч­ной версии операционной системы. Впервые я столкнулся с этим, когда одна из сред программирования при компиляции программы стала выдавать ошибку в строке -1. Что она име­ла в виду под строкой с отрицательным номером, я не знаю. Но отыскать ошибку в правильно написанной программе ока­залось не так просто. Ошибка крылась в том, что программа, предлагая сохранить проект в папке Мои документы, при компиляции эту папку распознать не могла.

После создания нового проекта появляется окно навига­тор проекта. Теперь выберем микросхему контроллера в раз­деле основного меню Configure Select Device (Конфигура­ция Выбор устройства). Выбираем PIC16F628A (рис. 1.37).

Завершив выбор, следует создать файл основной програм­мы. Выбираем File ^ New (Файл Новый). Появляется окно редактора. Сохраним файл под именем relay. asm (File Save As (Файл ^ Сохранить как...)). Добавим этот файл в проект. Для этого щелкнем правой кнопкой мыши раздел Source Files (Исходные файлы) в окне навигатора. В открывшемся меню выберем Add Files (Добавить файлы) и укажем свой файл.

Для начала перенесем в окно редактора небольшой фраг­мент программы: инициализацию, ожидание команды и две подпрограммы: CALL adrsim и CALL cmnd. Последние подпрог­раммы - в усеченном виде. В данный момент будем использо­вать адрес модуля «01». Не забудьте поставить END в конце программы!

Adrsim: CLRW ; Если адрес 1 запишем символы "О" "Iй (30h и 31h).

ADDLW 0x30 MOVWF 0x21 CLRW

ADDLW 0x31 MOVWF 0x22 MOVF 0x20, 0

BCF STATUS, Z XORLW 0x1 BTFSC STATUS, Z RETURN

Cmnd: BCF STATUS, Z MOVF RCREG, 0

XORLW 0x52 ; Проверим наш ли модуль R (52h).

BTFSS STATUS, Z ; Если нет, вернемся.

RETURN

Inl: BTFSS PIRl, RCIF ; Ждем прихода первого символа адреса.

GOTO inl ; Если совпадает, продолжим. MOVF RCREG, О BCF STATUS, Z

XORWF 0x21, 0 ; Первый символ адреса в регистре

21h.

BTFSS STATUS, Z RETURN

In2: BTFSS PIRl, RCIF ; Ждем прихода второго символа адреса.

GOTO in2 ; Если совпадает, продолжим. MOVF RCREG, 0 BCF STATUS, Z

XORWF 0x22, 0 ; Второй символ адреса в регистре

22h.

BTFSS STATUS, Z RETURN

Для отладки откроем окно наблюдения View Watch (Вид Наблюдение), в котором выберем регистры STATUS, WREG, PIRl, EEDATA, RCREG, 2Oh, 21h, 22h, 30h. Необходимые регистры открываются кнопкой с обозначением стрелки вниз, правее располагается названия регистра рядом с кноп­кой ADD SFR (Добавить наблюдаемые). Ее следует щелкнуть после выбора регистра (рис. 1.38).

Регистры без имени (2Oh, 21h и т. д.) мы добавляем, про­сто вводя адрес в колонку Address (Адрес) на новой строке.

Добавим и EEPROM через выбор View EEPROM (Вид ■> EEPROM). Установим в качестве текущего симулятора про­граммный (Debugger Select Tool MPLAB SIM (Отладчик"* Выбор средства MPLAB SIM)). Создадим два файла input. txt

Введение в работу с MPLAB

Рис. 1.38. Окно наблюдения Watch

И output. txt (File New (Файл Новый)). В файле input. txt, ко­торый открывается в окне редактора, запишем слово команды R01 $ в виде строки в кавычках. Сохраним этот файл (File Save (Файл Сохранить)). Теперь сделаем установки отладчика (Debugger Settings... (Отладчик Установки...)): зададим ча­стоту процессора 4 МГц, на вкладке Uartl IO установим опцию Enable Uartl Ю, укажем входной файл input. txt (browse) и вы­ходной output. txt. Подтвердим замену последнего файла и уста­новим опцию Rewind Input. Изменим значение на вкладке Animation/Realtime на 1 мс. Щелкнем Применить и ОК. Вклю­чим в окна View Output (Вид Вывод). Создадим новый сценарий, который позволит ввести адрес, имитируя пере­ключатель. Для этого выберем в основном меню Debugger Stimulus Controller New Scenario (Отладчик Управление симуляцией Новый сценарий). Выберем вывод RB4 в окне Pin/SFR (Вывод/Наблюдаемые). В окне Action (Действие) выберем Set High (Установить в высокое состояние). Щелк­нем кнопку со стрелкой вправо в колонке Fire (Запустить).

Сохраним сценарий под именем relay и свернем его (не закро­ем, а свернем!). Теперь откроем окно (Configure Configuration Bits (Конфигурация ^ Биты конфигурации)), где установим биты, записываемые по адресу 2007h. Должно получиться слово 3FlAh. Закроем это окно (рис. 1.39).

Введение в работу с MPLAB

Рис. 1.39. Установки наблюдения и отладки

В завершение этих процедур упорядочим окна (Windows ^ Tile Horizontally (Окна ^ Расположить горизонтально)), сохра­ним все (File ^ Save All (Файл Сохранить все)) и добавим в проект файл todo. txt, который предварительно создадим и по­местим в раздел Other Files (Другие файлы) менеджера про­екта. В файле todo. txt будем вести план работы.

Теперь откомпилируем проект Project Build All (Про­ект Компоновать все). Сохраним и вид проекта File Save

Workspace (Файл Сохранить рабочую область). Мы готовы к отладке программы.

После выхода из программы MPLAB и подтверждения сохра­нения вида проекта, новой загрузки программы и открытия проекта (Project Open (Проект Открыть)) мне приходит­ся обнулять адрес Oh в EEPROM, щелкать Fire (Запустить) в Scenario (Сценарий), и вводить адреса 20h, 21 h и т. д. в окне Watch (Наблюдение), которые, как пишет программа, Not Found (Не найдены). Я не уверен, что дернул за все веревоч­ки, но... пока ничего лучшего не получилось.

Если вы правильно перенесли программу, то, щелкнув на инструментальной панели кнопку запуска программы, вы увидите анимацию, а в регистре RCREG (приемный регистр USART) появятся шестнадцатеричные коды символов из строки файла input. txt. Можно вписать в ячейку по адресу Oh EEPROM значение lh и увидеть, как оно переписывается в регистр 30h.

Есть еще несколько полезных возможностей. Одна из них - проверить работу с определенного места. Для этого остано­вим анимацию (кнопкой паузы на инструментальной панели), установим курсор в нужной строке и щелкнем правой кнопкой мыши. Выберем в раскрывающемся меню Set PC at Cursor (Установить счетчик команд к курсору). Теперь, щелкая зна­чок Step Into (Шаг внутрь) на инструментальной панели, мы можем отследить все изменения.

В окончательном виде я работаю в среде, которая показа­на на рис. 1.40.

Кроме написания программы на ассемблере среда MPLAB поддерживает написание программ на языке С. Существуют компиляторы разных производителей. Я использую демонст­рационную версию кросскомпилятора Hi-Tech. Посмотрим, не будет ли проще написать программу на языке С?

Введение в работу с MPLAB

Рис. 1.40. Окончательный вид окна проекта

Умный дом

Программатор (совместно с РопуРгод)

2 2 Со а Ю с

Определение и инициализация объектов данных

Теперь, чтобы завладеть вниманием пользователя, выпол­ним короткий тест. Мы отобразим два числа из числовой последовательности и предложим пользователю угадать сле­дующие значения в последовательности. Например, The values 2,3 from two consecutive …

Внешний вид и параметры модуля общего назначения фирмы Advantech

ADAM 4060. Модуль релейного цифрового вывода (рис. П.6): • 2 релейных выхода типа А (двухпозиционный вывод); • 2 релейных выхода типа С (трехпозиционный вывод); Рис. П.6. Внешний вид модуля ADAM …

Как с нами связаться:

Украина:
г.Александрия
тел. +38 05235 7 41 13 Завод
тел./факс +38 05235  77193 Бухгалтерия
+38 067 561 22 71 — гл. менеджер (продажи всего оборудования)
+38 067 2650755 - продажа всего оборудования
+38 050 457 13 30 — Рашид - продажи всего оборудования
e-mail: msd@inbox.ru
msd@msd.com.ua
Скайп: msd-alexandriya

Схема проезда к производственному офису:
Схема проезда к МСД

Представительство МСД в Киеве: 044 228 67 86
Дистрибьютор в Турции
и странам Закавказья
линий по производству ПСВ,
термоблоков и легких бетонов
ооо "Компания Интер Кор" Тбилиси
+995 32 230 87 83
Теймураз Микадзе
+90 536 322 1424 Турция
info@intercor.co
+995(570) 10 87 83

Оперативная связь

Укажите свой телефон или адрес эл. почты — наш менеджер перезвонит Вам в удобное для Вас время.