|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Out 0x17, R18
cbi 0x18,1 вывести значение 3-го бита данных в 1-й разряд порта В; sbi 0x18,0 установить в 1 уровень тактирующего сигнала; cbi 0x18,0 сбросить в 0 уровень тактирующего сигнала;
sbi 0x18,1 вывести значение 2-го бита данных в 1-й разряд порта В; sbi 0x18,0 установить в 1 уровень тактирующего сигнала; cbi 0x18,0 сбросить в 0 уровень тактирующего сигнала;
sbi 0x18,1 вывести значение 1-го бита данных в 1-й разряд порта В; sbi 0x18,0 установить в 1 уровень тактирующего сигнала; cbi 0x18,0 сбросить в 0 уровень тактирующего сигнала;
cbi 0x18,1 вывести значение 0-го бита данных в 1-й разряд порта В; sbi 0x18,0 установить в 1 уровень тактирующего сигнала; cbi 0x18,0 сбросить в 0 уровень тактирующего сигнала; #endasm ... Приведенный фрагмент программы показывает, что при выводе символа на экран цифрового индикатора необходимо выполнить передачу битов данных по линии, подключенной к 1-му разряду порта В, при подаче тактирузщих сигналов по линии, подключенной к 0-му разряду порта В. Так, как тактовая частота микроконтроллера ATMEGA 128, входящего в состав лабораторного макета, равна 11 МГц, то длительность цикла команды, выполняемой за один такт, равна 90 нс, что позволяет выполнять передачу данных без введения дополнительных задержек.
3.2 Описание лабораторной установки Лабораторная работа выполняется в индивидуальном порядке. На каждом рабочем месте должны быть установлены: многофункциональный лабораторный макет на базе микроконтроллера AVR ATMEGA 128, ПЭВМ типа IBM PC/AT c инсталлированным программным обеспечением: операционной системой MS–WINDOWS v. 9x, 2000, XP и программатором на основе кросс-компилятора языка программирования C CodeVision AVR. Задания выполняются на лабораторном макете на базе 8-ми разрядного микроконтроллера AVR ATMEGA 128. Подробное описание лабораторного макета приведено в пункте 1.2 лабораторной работы № 1. В данной работе основным используемым периферийным оборудованием лабораторного макета будут матричная клавиатура 3´4 (см. рисунок 2.4), подключаемая к микроконтроллеру через порт Е, и цифровой 10-ти позиционный жидкокристаллический индикатор (см рисунок 3.4), управляющая часть которого выполнена на основе контроллера Holtek НТ1613. Индикатор подключается к лабораторному макету с помощью 4-х проводного кабеля с разъемом DB-25. Тактовый SK и информационный DI входы индикатора подключены к 0-му и 1-му выходам порта ввода/вывода B микроконтроллера соответственно; две остальные линии подключаются к источнику питания +5 В и общему проводу.
Рисунок 3.4 – Общий вид панели цифрового индикатора и интерфейсного разъема
3.3 Порядок проведения работы и указания по ее выполнению Перед началом выполнения практической части лабораторной работы проводится экспресс–контроль знаний по принципам функционирования микроконтроллера AVR ATMEGA 128, системе команд и возможностям организации программного управления выводом символов на экран цифрового индикатора. При подготовке к лабораторной работе необходимо составить предварительный вариант листинга программы, в соответствие с индивидуальным заданием (см. таблицу 3.2). Задание. Разработать в среде программирования Code Vision AVR программу для микроконтроллера AVR ATMEGA 128, которая выполняет опрос клавиатуры лабораторного макета и выводит информацию о нажатых клавишах (или комбинациях клавиш) на экран цифрового индикатора. Обозначения клавиш приведены на рисунке 2.4. Варианты индивидуальных заданий представлены в таблице 2.1. Порядок выполнения задания: 1. Включить лабораторный макет (установить выключатель электропитания в положение I, и убедиться в свечении индикатора электропитания красным цветом). 2. Запустить компилятор Code Vision AVR. 3. Создать пустой проект. 4. Создать файл ресурса для кода программы и подключить его к проекту. 5. Ввести код исходного модуля программы вывода информации на экран цифрового индикатора в соответствие с кодом нажатой клавишисогласно варианту задания, указанному в таблице 3.2. 6. Выполнить компиляцию (нажав клавишу F9) исходного модуля программы и устранить ошибки, полученные на данном этапе. 7. Настроить параметры программатора. 8. Создать загрузочный модуль программы (нажав комбинацию клавиш Shift+F9) и выполнить программирование микроконтроллера. 9. Проверить работоспособность загруженной в микроконтроллер программы и показать результаты работы преподавателю. 10. В случае некорректной работы разработанной программы, выполнить аппаратный сброс микроконтроллера, провести отладку исходного модуля программы и заново проверить функционирование программы, повторив выполнение пункта 9.
Пример выполнения задания. Разработать программу, выводящую на экран цифрового индикатора символ 1 при нажатии на клавишу 1, и символ 2 при нажатии комбинации клавиш 1+2. Нумерация клавиш матричной клавиатуры 3´4 приведена на рисунке 2.4. Решение: в лабораторном макете матричная клавиатура 3´4 подключена к порту E микроконтроллера. Линии старшей тетрады порта Е настраиваются на вывод данных, а линии младшей тетрады – на ввод. Входы цифрового индикатора подключены к выходам порта B микроконтроллера в соответствие со схемой на рисунке 3.2. Порт В настраивается на вывод данных. Основная часть программы в соответствие с алгоритмом, изображенным на рисунке 3.5, содержит цикл опроса клавиатуры, проверку нажатия клавиши 1 или комбинации клавиш 1+2 и процедуры вывода символов 1 и 2 на индикатор. Рисунок 3.5 – Алгоритм программы вывода символа на экран цифрового индикатора в зависимости от данных, принятых с клавиатуры Для того, чтобы символы каждый раз заносились в крайнюю правую позицию экрана индикатора, а введенные ранее символы не отображались, необходимо непосредственно перед выводом информационного символа выполнить вывод девяти символов табуляции. Полный текст исходного модуля программы с подробными комментариями приводится ниже: #include <mega128.h> Подключить заголовочный файл mega128.h; main() { основная часть программы; #asm начало кода ассемблерной вставки; ldi R18,0b11100000 запись маскирующих констант в регистры; Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |