Создаем робота-андроида своими руками
Шрифт:
Для компиляции программы необходимо выбрать команду компиляции в соответствующем меню или нажать клавишу F5. CodeDesigner автоматически загрузит компилятор PICPASIC Pro для осуществления компиляции. Перед началом компиляции необходимо выбрать соответствующие опции в меню компилятора. CodeDesigner «попросит» выбрать директорию, в которой находится программа PICBASIC Pro и директорию для сохранения исходного и компилированного файлов.
После завершения компиляции мы можем приступить к следующему этапу – загрузке программы в микроконтроллер с помощью программатора EPIC. Необходимо следовать порядку, изложенному ранее в
CodeDesigner и программатор EPIC
По желанию вы можете запрограммировать ИС также с помощью CodeDesigner. Выберите опцию «загрузить программатор» в меню программатора или нажмите F6. CodeDesigner автоматически запустит EPICWIN.exe под Windows.
Когда программа EPIC под Windows запущена, необходимо установить параметры конфигурации в меню опций:
• Device: Установите тип устройства. Поставьте опцию 16F84 (по умолчанию).
• Memory size (K): Устанавливает емкость ПЗУ. Поставьте 1.
• OSC: Установка типа осциллятора. Установите ХТ – кварцевый резонатор.
• Watchdog timer: Таймер режима ожидания. Установите On.
• Code protect: Защита кода. Установите Off.
• Power-up timer enable: таймер режима включения. Установите High.
После установки параметров конфигурации вставьте микроконтроллер PIC 16F84 в панельку платы программатора EPIC. В случае если CodeDesigner при запуске программы EPIC выдает ошибку «программатор EPIC не найден» (см. рис. 6.19), вы можете либо произвести диагностику программы, либо попробовать запустить EPIC в DOS моде. Инструкции по запуску матобеспечения EPIC под DOS приведены в разделе описания PICBASIC. Схема тестового устройства аналогична схеме для компилятора PICBASIC.
Рис. 6.19. Запуск программы EPIC из CodeDesigner
Мигание
Включите питание схемы. Светодиоды, подключенные к микроконтроллеру, будут попеременно включаться и выключаться.
Движемся дальше – приложения использования микроконтроллера
Сейчас настало время продемонстрировать вам, как используются микроконтроллеры в различных схемах. Вы уже обладаете начальным опытом программирования микроконтроллера 15F84. В этой главе приведены некоторые основные функции использования микроконтроллеров в различных устройствах. Эти функции повсеместно реализуются в микроконтроллерах, используемых в различных схемах и разработках.
Для начала посмотрим, как микроконтроллер может определить замыкание цепи. Для этой цели могут быть использованы любые из 13 шин ввод/вывод, которые работают в логике TTL. Для определения замыкания мы будем использовать эти логические уровни в соединении с выключателями (см. рис. 6.20).
Выключатели низкого уровня
На рис. 6.20 выключатель с меткой А выдает на шину ввода/вывода сигнал высокого логического уровня до момента замыкания. После замыкания шина «садится» на землю, т. е. получает сигнал низкого уровня. Когда микроконтроллер получает сигнал замыкания, он может произвести ряд операций или функций управления. В нашем случае замыкание контакта
Рис. 6.20. Переключатели логических уровней
Программа на PICBASIC имеет следующий вид:
‘PICBASIC компилятор
‘REM проверка выключателя низкого уровня
‘ Инициализация переменных
input 4 ‘Назначить шину PB4 для определения состояния выключателя
start:
if pin4 = 0 then blink ‘Если выключатель выдает низкий уровень – све
тодиод мигает
goto start ‘Если нет – проверить состояние выключателя
blink: ‘Процедура мигание
high 0 ‘Высокий уровень на шине RB0 для зажигания светодиода
pause 250 ‘Задержка ј с
low 0 ‘Низкий уровень на шине RB0 для гашения светодиода
pause 250 ‘Задержка ј с
goto start ‘Проверка состояния выключателя
Программу на PICBASIC Pro можно составить следующим образом:
‘REM BASIC Pro компилятор
‘Rem проверка выключателя низкого уровня
input portb.4 ‘Назначить шину PB4 для определения состояния выключателя
start:
if port.b = 0 then blink ‘Если выключатель выдает низкий уровень – све
тодиод мигает
goto start ‘Если нет – проверить состояние выключателя
blink: ‘Процедура мигание
high 0 ‘Высокий уровень на шине RB0 для зажигания светодиода
pause 250 ‘Задержка ј с
low 0 ‘Низкий уровень на шине RB0 для гашения светодиода
pause 250 ‘Задержка ј с
goto start ‘Проверка состояния выключателя
Схема устройства для выключателя низкого уровня приведена на рис. 6.21. Выключатель соединен с шиной ввода/вывода, помеченной RB4. Светодиод соединен с шиной RB0 через ограничительный резистор 470 Ом.
Рис. 6.21. Схема ключа низкого уровня
Выключатели высокого уровня
Программы и схемные решения для данного случая комплементарны предыдущему примеру. Посмотрим снова на рис. 6.20 – вариант В. Если переключатель с меткой В находится в положении «выключено», то шина выхода имеет низкий логический уровень. При замыкании переключателя на шину поступает сигнал высокого логического уровня.
Программа на PICBASIC имеет следующий вид:
‘PICBASIC компилятор
‘REM проверка выключателя высокого уровня
‘ Инициализация переменных
input 4 ‘Назначить шину PB4 для определения состояния выключателя
start:
if pin4 = 1 then blink ‘Если выключатель выдает высокий уровень – све
тодиод мигает
goto start ‘Если нет – проверить состояние выключателя
blink: ‘Процедура мигание
high 0 ‘Высокий уровень на шине RB0 для зажигания светодиода
pause 250 ‘Задержка ј с