
- •1.Программирование типовых функций управления: опрос двоичного датчика, ожидание события, дребезг, формирование временной задержки, вывод управляющих сигналов
- •Борьба с дребезгом контактов
- •2. Формирование временных задержек с помощью таймеров
- •3.Виды клавиатур
- •Кодирующие клавиатуры.
- •Табличный метод.
- •Метод сдвигов унитарного кода.
- •4.Подключение светодиодов и светод. Семисегментных индикаторов
- •5. Статический метод управления линейным дисплеем.
- •1. С использованием дешифраторов семисегментного кода.
- •2. С использованием программной перекодировки:
- •6. ДинамичесКий метод управления линейным дисплеем.
- •7. Виды ацп, схемы подключения и программы опроса ацп
- •Интерфейс быстрых ацп с мпс
- •Интерфейс медленных ацп с мпс
- •8) Микроконтроллеры pic18: общая характеристика, особенности архитектуры и системы команд.
- •9. Язык с18 для pic-микроконтроллеров: структура программы, директивы препроцессора, ключевые слова.
- •10. Представление информации в языке Си
- •11. Операции и выражения в Си
- •12.Операторы управления вычислительным процессом
- •13. Функции в языке с18: определение функции, прототип, библиотечные функции.
- •14. Функции формирования временных задержек в языке с18
- •15. Программирование на языке с18 типовых функций управления и контроля: вывод информации в порт, управление отдельными разрядами портов, опрос переключателя.
- •16. Подключение жк-дисплея к pic-микроконтроллеру: структура жк-дисплея, функции управления дисплеем.
- •2.2. Библиотека функций управления жк-дисплеем
- •17. Аналого-цифровое преобразование в pic-микроконтроллерах: структура внутреннего ацп, функции управления ацп на языке с18.
- •18. Реализация широтно-импульсной модуляции в pic-микроконтроллерах: параметры шим, функции управления шим на языке с18.
- •19. Прерывания в pic18: источники прерываний, управляющие биты, программирование прерываний на языке с18.
- •24) Интегрированная среда CodeVisionAvr: состав и назначение, структура программы на языке Си в cvavr, управление портами и отдельными битами.
- •25) Программирование в CodeVisionAvr типовых функций управления и контроля: вывод информации в порт, управление отдельными разрядами портов, опрос переключателя, реализация временных задержек.
- •26. Интерфейс can: общее описание и основные параметры, виды и форматы сообщений в can.
- •27. Интерфейс can: арбитраж, обнаружение и обработка ошибок, скорость передачи и длина сети.
- •28. Понятия: микроконтроллерная система (мкс) и микроконтроллерное устройство (мку). Основные этапы разработки мкс.
- •29. Разработка и автономная отладка аппаратных и программных средств микроконтроллерных систем.
- •30. Методы и средства совместной отладки аппаратных и программных средств микроконтроллерных систем.
2. Формирование временных задержек с помощью таймеров
Методы формирования временной задержки с программным опросом флага переполнения таймера. Допустим, что надо сформировать импульс низкого уровня длительностью 10 мс на выводе P1.7 микроконтроллера. Тактовая частота работы fCLK = 12 МГц. Для формирования задержки используем таймер T/C0 в режиме 1. Число, которое необходимо загрузить в таймер при его инициализации:
65536 – 10000 = 55536 = D8F0H.
Программа формирования импульса может иметь вид:
ORG 0000H
TIMER_1: MOV TMOD, #01H ; Режим 1 для T/C0
MOV TH0, #0D8H ; Загрузить старший байт
MOV TL0, #0F0H ; Загрузить младший байт
CLR P1.7
; Вывод P1.7
0
SETB TR0 ; Запустить таймер
COUNT: JNB TF0, COUNT ; Ожидание переполнения
; таймера 393
SETB P1.7 ; Вывод P1.7 1
CLR TR0 ; Остановить таймер
STOP: JMP STOP ; Зацикливание программы
END
Необходимо сформировать импульс на выводе P1.7 длительностью 2 с. Будем полагать, что таймер обеспечивает задержку на 50 мс. Для получения задержки на 2 с необходимо 40 раз запускать и останавливать таймер. Для получения задержки на 50 мс надо первоначально загрузить в таймер число 65536 – 50000 = 15536 = 03B0H.
Программа формирования импульса в этом случае имеет вид:
ORG 0000H
TIMER_2: MOV TMOD, #01H ; Режим 1 для T/C0
MOV R7, #40 ; Загрузить счетчик
; переполнений таймера
CLR P1.7 ; Вывод P1.7 0
AGAIN: MOV TH0, #03H ; Загрузить старший байт
MOV TL0, #0B0H ; Загрузить младший байт
SETB TR0 ; Запустить таймер
COUNT: JNB TF0, COUNT ; Ожидание переполнения
; таймера
CLR TR0 ; Остановить таймер
CLR TF0 ; Сбросить флаг
;переполнения таймера
DJNZ R7, AGAIN ; Повторить цикл 40 раз
SETB P1.7 ; Вывести P1.7 1
STOP: JMP STOP ; Зацикливание программы
END
3.Виды клавиатур
По способам аппаратурной реализации различают два типа клавиатур: кодирующую и некодирующую. В клавиатурах первого типа схемным путем на выходе формируется код, соответствующий нажатой клавише. Значительно более широкое распространение получили дешевые некодирующие (матричные) клавиатуры, которые представляют собой простую матрицу двоичных переключателей, включенных на пересечении строк и колонок матрицы. Идентификация (кодирование) нажатой клавиши в таких клавиатурах выполняется программой.