- •Аппаратные и программные средства лабораторного стенда на основе микроконтроллера aTmega8535
- •1. Цель работы
- •2. Описание лабораторнОго стенда
- •2.1. Микроконтроллер aTmega8535 семейства avr
- •2.2. Система команд микроконтроллера
- •2.3. Способы адресации данных микроконтроллера
- •2.4. Ассемблер микроконтроллеров avr
- •2.5. Программа avr Studio 4
- •2.6. Компиляция и отладка программы
- •2.7. Модуль «Микроконтроллер» лабораторного стенда
- •2.8. Включение лабораторного стенда
- •3. Подготовка к лабораторной работе
- •4. Рабочее задание
- •5. Отчет по лабораторной работе
- •6. Рекомендации по подготовке и выполнению лабораторной работы
3. Подготовка к лабораторной работе
1. Изучить средства управления и индикации лабораторного стенда и модуля «Микроконтроллер».
2. Изучить приемы работы с использованием среды разработки «AVR Studio 4» по вводу и отладке программ для микроконтроллера ATMega8535.
3. Изучить способы загрузки исполняемого файла в микроконтроллер лабораторного стенда с помощью программы «USB prog».
4. Изучить проект IndCode_Main программы индикации исполняемого кода, представленной в Приложении 3. Папка с описанием и файлами проекта находится в компьютерах лаборатории «Микропроцессорные устройства систем управления». Провести пробное тестирование проекта на эмуляторе «AVR Studio 4». Разработать таблицу электрических соединений на модуле «Микроконтроллер», необходимых для организации ввода и вывода информации для данного проекта.
5. Разработать подпрограмму для своего варианта задания, представленного в таблице 3.1. В качестве «исходного массива» рассматривается код разрабатываемой программы (для работы с матрицами – первые N*N байт). Если массив обрабатывается не целиком, данные выбираются из начала программы, если не указано иное. При выполнении в программе любых преобразований исходных данных требуется сначала скопировать в память данных обрабатываемый массив кода программы, а затем выполнить необходимые преобразования, после чего обеспечить побайтную индикацию полученного результата преобразования.
6. Разработать подпрограмму «WorkStudent» по выполнению задачи, представленной в таблице 3.1, и индикации результата ее решения, с использованием проекта, представленного в Приложении 3. Выполнить отладку программы на «AVR Studio 4». Для этого необходимо создать новый проект, перенести в него содержание главного файла IndCode_Main.asm, скопировать в папку проекта подключаемые файлы "CopyCoda.inc", "WorkStudent.inc", "WriteTablSimv.inc", "DIN_IND.inc", "Delay.inc". Затем реализовать подпрограмму в файле "WorkStudent.inc" и выполнить отладку программы.
Таблица 3.1. Задание на разработку подпрограммы
Вар. |
Содержание задания |
1 |
Транспонировать матрицу 4*4 |
2 |
Найти координаты (строку, столбец) минимального элемента матрицы 4*4 |
3 |
Найти разность максимального чётного и минимального нечётного значений элементов исходного массива; |
Вар. |
Содержание задания |
4 |
Найти разность адресов максимального чётного и минимального нечётного значений элементов исходного массива |
5 |
Найти разность максимального элемента с четным адресом и минимального элемента с нечетным адресом |
6 |
Посчитать сумму по модулю два всех нечётных элементов исходного массива |
7 |
Матрицу 3*3 «повернуть по часовой стрелке»
|
8 |
Создать массив всех чётных элементов исходного массива, расположенных в обратном порядке по сравнению с исходной последовательностью, и определить длину полученного массива |
9 |
Посчитать количество единичных битов в первых 8 элементах исходного массива |
10 |
Посчитать количество элементов исходного массива, содержащих единицы в нулевом и четвёртом битах |
11 |
Посчитать количество элементов, в двоичной записи которых нулей больше, чем единиц |
12 |
В исходном векторе все пары a[2i], a[2i+1] такие, что a[2i] чётно, а a[2i+1] нечётно, заменить на пары a[2i]+a[2i+1], a[2i]–a[2i+1]–1 |
13 |
Для первого и последнего элемента массива, нечётного и большего десяти, посчитать их разность |
14 |
Для первого и последнего элемента массива, чётного и меньшего 127, посчитать сумму их индексов в массиве |
15 |
Посчитать количество элементов массива, имеющих значения между 64 и 128 (не включая границы) |
16 |
Посчитать сумму элементов матрицы 2*2, полученной из матрицы 3*3 вычёркиванием строки и столбца, содержащих максимальный элемент (саму матрицу 2*2 строить необязательно) |
17 |
Построить матрицу 2*2, полученную из матрицы 3*3 вычёркиванием строки и столбца, содержащих максимальный элемент |
Вар. |
Содержание задания |
18 |
Составить массив 4*4, элементами которого является вес (число единиц) элементов исходного массива 4*4 |
19 |
Составить массив, элементами которого является число байтов, имеющих единицы в нулевом, первом и т. д. до седьмого разряда |
20 |
Выполнить сортировку элементов одномерного массива длиной 16 байт по их возрастанию |
