- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Создаем робота-андроида своими руками - Джон Ловин
Шрифт:
Интервал:
Закладка:
• Закладки: Для отметки нужных мест в программе CodeDesigner имеет систему закладок.
• Возможность отмены/назначения предыдущего действия: Если вы по ошибке удалили строку, то для ее восстановления необходимо нажать клавишу «отменить».
• Система окон просмотра: Наличие нескольких окон просмотра позволит вам легко редактировать текст программы.
• Печать текста программы.
• Перемещение и вставка текста.
• Возможность вставки, удаления и копирования по строкам и столбцам.
• Поиск и замена в тексте.
• Компиляция и запуск устройства программатора.
Установка программного обеспечения
В процессе установки компонент CodeDesigner создает поддиректорию в директории Program Files и устанавливается туда. Ярлык CodeDesigner помещается в меню программ Windows.
Первая программа на PICBASIC PRO
Данная программа аналогична по функции программе wink.bas для PICBASIC, но текст ее имеет отличия. Запустите программу CodeDesigner (Lte) – см. рис. 6.18 – и введите следующий текст:
‘ Программа мигалка
‘ Попеременное мигание двух светодиодов, подключенных к порту В
Loop:
High PORTB.0 ‘Включить светодиод, подключенный к порту RB0
Low PORTB.1 ‘Выключить светодиод, подключенный к порту RB1
Pause 500 ‘Задержка Ѕ с
Low PORTB.0 ‘Выключить светодиод, подключенный к порту RB0
High PORTB.1 ‘Включить светодиод, подключенный к порту RB1
Pause 500 ‘Задержка Ѕ с
got Loop ‘Переход по метке Loop для непрекращающегося мигания светодиодов
Рис. 6.18. Программа PICBASIC Pro, написанная с помощью CodeDesigner
CodeDesigner по умолчанию создает выходной код под микроконтроллер PIC 16F84. Это тип микроконтроллера, с которого я рекомендовал бы начать. Для изменения типа устройства вызовите меню устройств и выберите в нем подходящий тип микроконтроллера.
Для компиляции программы необходимо выбрать команду компиляции в соответствующем меню или нажать клавишу F5. CodeDesigner автоматически загрузит компилятор PICPASIC Pro для осуществления компиляции. Перед началом компиляции необходимо выбрать соответствующие опции в меню компилятора. CodeDesigner «попросит» выбрать директорию, в которой находится программа PICBASIC Pro и директорию для сохранения исходного и компилированного файлов.
После завершения компиляции мы можем приступить к следующему этапу – загрузке программы в микроконтроллер с помощью программатора EPIC. Необходимо следовать порядку, изложенному ранее в инструкции для компилятора PICBASIC.
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 ‘Задержка ј с
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.22. Выключатель соединен с шиной ввода/вывода, обозначенной RB4. Светодиод подключен к шине RB0 через ограничительный резистор 470 Ом.
Рис. 6.22. Схема ключа высокого уровня
Считывание данных компаратора
Микроконтроллер может также считывать данные логических уровней с других микроконтроллеров, схем и ИС. В качестве примера рассмотрим схему на рис. 6.23. В этой схеме микроконтроллер считывает данные выхода компаратора. Выход компаратора LM339 построен по схеме NPN транзистора, поэтому для создания сигнала высокого уровня необходимо использовать резистор смещения. Микроконтроллер считывает данные выхода компаратора аналогично алгоритму выключателя низкого уровня.

