
- •Введение
- •1. Микроконтроллеры at90s4434/8535 семейства avr
- •1.1. Структура микроконтроллеров avr
- •1.2. Представление данных в языке ассемблера
- •1.2.1. Двоичная система счисления
- •1.2.2. Биты, байты и слова
- •1.2.3. Шестнадцатеричная система счисления
- •1.3. Адресное пространство микроконтроллеров avr
- •2. Лабораторный комплекс
- •2.1. Назначение и состав комплекса
- •2.2. Блок управления
- •3. Директивы ассемблера
- •3.1. Директивы организации сегментов
- •3.2. Директивы счетчика текущего адреса
- •3.3. Директивы определения данных
- •3.4. Директивы присваивания
- •3.5. Директивы задания набора допустимых команд
- •3.6. Директивы управления файлами
- •3.7. Директивы управления листингом
- •4. Система команд микроконтроллеров семейства avr
- •4.1. Команды пересылки данных
- •4.2. Арифметические команды
- •4.3. Логические команды
- •4.4. Команды перехода
- •5. Программа на ассемблере
- •5.1. Структура программы
- •5.2. Алгоритм решения задачи и структура данных
- •5.3. Пример алгоритма программы
- •5.4. Пример текста программы
- •6. Набор и отладка программ
- •6.1. Набор программы
- •6.2. Отладка программы
- •6.3. Запись программы в микроконтроллер
- •7. Меры безопасности при эксплуатации комплекса
- •8. Общие методические указания к лабораторным работам
- •Порядок выполнения лабораторных работ:
- •Содержание отчета по лабораторной работе:
- •9. Лабораторная работа № 1. Изучение системы команд микроконтроллера и директив ассемблера
- •9.2. Пояснения к работе
- •9.3. Варианты индивидуальных заданий
- •10. Лабораторная работа № 2. Система параллельного ввода/вывода
- •10.1. Цель работы
- •10.2. Пояснения к работе
- •Для вызова подпрограммы используется команда rcall pprmet, где pprmet – это метка и название подпрограммы.
- •10.3. Варианты индивидуальных заданий
- •11. Лабораторная работа № 3. Динамическая индикация
- •11.1. Цель работы Освоить организацию динамической индикации, используемой в программах. Экспериментально определить влияние длительности задержек на качество индикации.
- •11.2. Пояснения к работе
- •Работа продолжает изучение 8-разрядных двунаправленных портов программируемого микроконтроллера ат90s8535 для ввода и вывода дискретной информации, при этом используется динамическая индикация.
- •Если нет необходимости в длительной задержке, количество ступеней в подпрограмме можно уменьшить.
- •11.3. Варианты индивидуальных заданий
- •12. Лабораторная работа № 4. Система внешних прерываний микроконтроллера
- •12.1. Цель работы
- •12.2. Пояснения к работе
- •12.3. Варианты индивидуальных заданий
- •13. Лабораторная работа № 5. Программирование таймеров/счетчиков
- •13.1. Цель работы
- •13.2. Пояснения к работе
- •13.3.1. Работа в режиме счетчика
- •13.3.2. Работа в режиме таймера
- •13.3.3. Работа в режиме широтно-импульсного модулятора
- •13.3. Варианты индивидуальных заданий
- •Библиографический список
- •Алгоритм
- •Текст программы
- •Выводы по работе:
- •Содержание
- •Ломакин Игорь Владимирович
Если нет необходимости в длительной задержке, количество ступеней в подпрограмме можно уменьшить.
11.3. Варианты индивидуальных заданий
1. Реализовать последовательное формирование свечения цифры 3 на индикаторе HG1. При подаче питания и нажатии на кнопку SB6 «Сброс» все светодиоды и индикаторы погашены. При включении тумблера SA1 включаются сегменты индикатора HG1 в последовательности a, b, c, d, g. После чего раздается щелчок звукогенератора HA1. На индикаторе горит цифра 3. При отключении тумблера SA1 гаснут сегменты индикатора HG1 в последовательности g, d, c, b, a. Включение тумблера SA2 изменяет темп формирования цифры 3.
2. Организовать счет числа нажатий кнопки SB4. При подаче питания и нажатии кнопки SB6 «Сброс» все светодиоды и индикаторы погашены. При каждом очередном нажатии кнопки SB4 число увеличивается. После 10 нажатий кнопки загорается светодиод VD4, на индикаторе HG1 загорается цифра 1 и раздается щелчок звукогенератора HA1. После второго десятка нажатий кнопки дополнительно загорается светодиод VD5, на индикаторе загорается цифра 2 и раздается щелчок звукогенератора. Дальнейшие нажатия кнопки SB4 не меняют состояния схемы. Нажатие кнопки SB5 гасит все светодиоды и индикатор и схема приходят в исходное состояние.
3. Организовать счет числа нажатий кнопок SB4 и SB5. При подаче питания и нажатии кнопки SB6 «Сброс» на индикаторах HG2 и HG1 горит число 00. При каждом очередном нажатии на кнопку SB4 число на индикаторах увеличивается на единицу. Счет возможен до 20. Если счет достиг числа 20, то дальнейшие нажатия кнопки SB4 число не меняют. При каждом очередном нажатии на кнопку SB5 число на индикаторах уменьшается на единицу. При достижении числа 00 дальнейшие нажатия кнопки SB5 не влияют на схему. Нажатие кнопки SB1 обнуляет индикаторы.
4. Организовать «бегущий» огонь по сегментам семисегментных индикаторов HG1 и HG2. При «беге» по часовой стрелке чередование сегментов следующее: a, b, c, d, e, f, a, b…и так далее. При включенном тумблере SA1 реализуется «бегущий» огонь по часовой стрелке, при отключенном – против часовой стрелки. При включенном тумблере SA2 «бегущий» огонь реализуется по сегментам индикатора HG1, при отключенном – по сегментам индикатора HG2.
5. Реализовать на микроконтроллере схему управления светофором. При включении тумблера SA1 светофор работает в дневном режиме, то есть чередование сигналов следующее: зеленый (VD4), желтый (VD5), красный (VD6), желтый, зеленый, желтый и так далее. При отключении тумблера SA1 светофор работает в ночном режиме, то есть мигает желтый светодиод VD5. В дневном режиме работы на индикаторе HG1 горит буква «d», в ночном режиме – буква «H».
6. При подаче питания и нажатии на кнопку SB6 «Сброс» загорается светодиод VD4, а на индикаторах HG1 и HG2 горит число 04, то есть номер светодиода. При нажатии и отпускании кнопки SB2 светодиод VD4 гаснет, а VD5 загорается, то есть происходит сдвиг свечения вправо. На индикаторах загорается число 05. При каждом очередном нажатии на кнопку SB2 свечение сдвигается вправо, то есть наблюдается свечение VD4, VD5,VD6, VD4,VD5… и так далее. При этом на индикаторах высвечиваются соответственно числа 04, 05, 06, 04, 05… и так далее. При нажатии и отпускании кнопки SB3 схема работает аналогично, но сдвиг свечения происходит влево.
7. При подаче питания и нажатии кнопки SB6 «Сброс» загораются светодиоды VD4 и VD6 и на индикаторах HG1 и HG2 соответственно горят цифры 4 и 6. При нажатии и удержании кнопки SB2 светодиоды VD4 и VD6 гаснут, загорается светодиод VD5, и на индикаторах HG1 и HG2 соответственно загораются цифры 0 и 5. При отпускании кнопки SB2 схема приходит в исходное состояние.
8. При подаче питания и нажатии кнопки SB6 «Сброс» на индикаторах HG1 и HG2 загораются соответственно цифры 7 и 5. При нажатии и отпускании кнопки SB2 на индикаторах загораются цифры 5 и 7 и включаются светодиоды VD4 и VD6. При нажатии и удержании кнопки SB3 все индикаторы и светодиоды гаснут, при отпускании возобновляется горение, как после нажатия кнопки SB6 «Сброс».