Лабораторная_работа_№_02_МТ4-81_ARM_Cortex_M3 (Лабораторный практикум)
Описание файла
Файл "Лабораторная_работа_№_02_МТ4-81_ARM_Cortex_M3" внутри архива находится в папке "Лабораторный практикум". PDF-файл из архива "Лабораторный практикум", который расположен в категории "". Всё это находится в предмете "языки интернет-программирования" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "языки интернет-программирования" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
МГТУим. Н.Э.Баумана.Кафедра ЭВМ и С.Старший преподаватель кафедры ИУ6 Аристов Б.К.Методические указанияк лабораторной работе по курсу «Микроэлектроника и микропроцессорныесистемы"для студентов специальности«Метрология и взаимозаменяемость».Обработка данных в микроконтроллерах с ядромARM Cortex M3.Лабораторная работа №22012г.Лабораторная работа №2.Обработка данных в микроконтроллерах с ядромARM Cortex M3.Цель работы – составление программ обработки данных длямикроконтроллеров с ядром ARM Cortex M3. Продолжительность работы– 4академических часа.Задание :1. Составить программу обработки данных согласно варианту из таблицы 1Программу составить на языке «Ассемблер» для микроконтроллераARM Cortex M3. Вывод результата произвести в указанный в заданиипорт Рn.2.
Отладить программу, используя программу Keil µVision.3. Выполнить составленную программу в пошаговом режиме работа. Датьобъяснение результатам выполнения каждой арифметической команды исостоянию регистра xPSR.4. Составить отчет.56. Защитить работу.Таблица 1.№ПортыАлгоритм программывариантавыводаПреобразовать числа находящиеся в РПД последующему алгоритму: во всех числах выделить 3, 4 и 71PORTCразряды.
Преобразованные числа поместить на прежнееместо. Подсчитать сумму преобразованных чисел.Начальный адрес в РПД – 20Н. Количество чисел – 10.Преобразовать числа находящиеся в РПД по адресам15Н – 24Н по следующему алгоритму: установить во всех2PORTAчислах 7 и 1 разряды равными «0», а 6 разряд равным «1».Преобразованные числа поместить на прежнее место.Подсчитать сумму преобразованных чисел.Числа, находящиеся в РПД по адресам 21Н – 30Нциклически сдвинуть вправо на 2 разряда и записать в РПД3PORTBна прежнее место.
Подсчитать сумму преобразованныхчисел.Содержимое РПД, начиная с адреса 21Н передать в4POPTCбанк 2. Числа во 2-ом банке циклически сдвинуть на одинразряд влево. Подсчитать сумму преобразованных чисел.Содержимое 1-ого банка регистров сдвинуть на 15PORTAразряд вправо и поместить в РПД, начиная с адреса 31Н.Подсчитать сумму преобразованных чисел.Содержимое 2-ого банка регистров переписать в РПД,начиная с адреса 25Н. Все числа сдвинуть на 2 разряда6PORTBвлево, а затем увеличить их на 1.
Подсчитать суммупреобразованных чисел.Преобразовать числа находящиеся в РПД по адресам20Н-33Н по следующему алгоритму: разделить все числа7PORTCна 2 и частное от деления поместить в РПД, начиная садреса 40Н. Подсчитать сумму преобразованных чисел.№вариантаПортывывода8PORTA9PORTB10PORTC11PORTA12PORTB13PORTC14PORTA15PORTB16PORTC17PORTA18PORTBАлгоритм программыПреобразовать числа, находящиеся в РПД последующему алгоритму: все числа умножить на 3, а затемвыделить в них 3, 5 и 7 разряды.
Числовой материалрасположен в РПД по адресам с 31Н по 40Н. Подсчитатьсумму последних шести преобразованных чисел.Преобразовать числа, находящиеся в РПД по адресам20Н-2FH следующим образом: установить 8, 6 и 4 разрядыравными «0», а затем каждое число умножить на 2.Подсчитать сумму преобразованных чисел.Числа, находящиеся в РПД по адресам 32Н-41Нциклически сдвинуть на 1 разряд вправо, разделить на 4 изаписать в РПД на прежнее место. Подсчитать суммупреобразованных чисел.Числа, находящиеся в РПД по адресам 20Н-2FHсдвинуть вправо на два разряда и увеличить на три.Преобразованные данные поместить на прежнее место.Подсчитать произведение полученных чисел.Преобразовать числа, находящиеся в РПД по адресам25Н-34Н по следующему алгоритму: умножить все числана два, поместить их в РПД по адресам 35Н-44Н.Посчитать сумму первых пяти преобразованных чисел.В числах, расположенных в РПД по адресам 20Н-3FHвыделить 4, 5 и 7 разряды.
К каждому числу добавитьединицу. Подсчитать сумму последних четырехпреобразованных чисел.Преобразовать числа, находящиеся в РПД по адресам23Н-30Н по следующему алгоритму: если в седьмомразряде каждого числа находится ноль, то к этому числудобавляется единица, в противном случае из этого числавычитается единица. Подсчитать сумму первых пяти чисел.Преобразовать числа находящиеся в РПД по адресам23Н-33Н по следующему алгоритму: разделить все числана 2 и частное от деления поместить в РПД, начиная садреса 40Н. Подсчитать сумму преобразованных чисел,расположенных по четным адресам.Числа, находящиеся в РПД по адресам 20Н – 30Нциклически сдвинуть вправо на 2 разряда и записать в РПДна прежнее место.
Подсчитать сумму преобразованныхчисел, расположенных по нечетным адресам.Преобразовать числа находящиеся в РПД последующему алгоритму: во всех числах выделить 3, 4 и 0разряды. Преобразованные числа поместить на прежнееместо. Начальный адрес в РПД – 32Н. Количество чисел –10. Подсчитать сумму четных преобразованных чисел.Преобразовать числа, находящиеся в РПД по адресам20Н-2FH следующим образом: установить 0, 1 и 4 разрядыравными «0», а затем каждое число умножить на 2.Подсчитать сумму нечетных преобразованных чисел.№вариантаПортывыводаАлгоритм программыПреобразовать числа находящиеся в РПД по адресам22Н–31Н по следующему алгоритму: установить во всехчислах 5 и 2 разряды равными «0», а 6 разряд равным «1».19PORTCПреобразованные числа поместить на прежнее место.Подсчитать сумму последних шести преобразованныхчисел.Преобразовать числа, находящиеся в РПД последующему алгоритму: все числа умножить на 5, а затем20PORTAвыделить в них 0, 2 и 5 разряды.
Числовой материалрасположен в РПД по адресам с 31Н по 40Н. Подсчитатьсумму преобразованных чисел.Преобразовать числа находящиеся в РПД по адресам22Н-34Н по следующему алгоритму: разделить все числа21PORTBна 2 и частное от деления поместить в РПД, начиная садреса 34Н. Подсчитать сумму последних трехпреобразованных чисел.Преобразовать числа, находящиеся в РПД по адресам23Н-30Н по следующему алгоритму: если во второмразряде каждого числа находится ноль, то к этому числу22PORTCдобавляется единица, в противном случае из этого числавычитается единица. Подсчитать сумму первых шестипреобразованных чисел.Примечание: начальный адрес РПД - 0х20000000 (Статическое ОЗУ).В задании указано смещение относительно этого адреса.Приложение №1.Карта памяти МК ARM Cortex M3 для периферийных устройств и памятиданных.Приложение № 2.Адреса портов МК STM32L15xПриложение № 3.Метод Bit banding.В МК Cortex M3 имеются отдельные инструкции сброса и установки бит .Метод, называемый bit banding, позволяет напрямую воздействовать на биты впамяти из областей УВВ и статического ОЗУ, не используя при этом каких-либоспециальных инструкций.
Битноадресуемые области карты памяти Cortexразделены на две части: область хранения бит (в нее входят до 1 Мбайтфизической памяти или регистров УВВ) и область доступа к битам, котораязанимает до 32 Мбайт карты памяти. Получить доступ к каждому отдельномубиту из области хранения бит можно по соответствующему адресу слова изобласти доступа к битам. Если выполнять запись по адресу в область доступак битам на самом деле мы будем воздействовать на значение определенногобита в физической памяти.Необходимо вычислить адрес слова в области доступа к битам,который соответствует заданной ячейки памяти из области УВВ илистатического ОЗУ.
Выполняется это по следующей формуле:Адрес в области доступа к битам = Базовый адрес области доступа кбитам + Смещение адреса слова доступа к биту.Смещение адреса слова доступа к биту = Смещение в байтах поотношению базовому адресу области хранения бит * 0x20 + номер бита * 4Необходимо выполнить запись в выходной регистр порта вводавывода (ПВВ) для установки или сброса отдельных линий ввода-вывода.Физический адрес выходного регистра порта В - 0x40010C0C.Предположим, что нужно устанавливать и сбрасывать бит 8 этогорегистра. Воспользуемся приведенной выше формулой:Адрес слова = 0x40020414Базовый адрес области хранения бит УВВ = 0x40000000Базовый адрес области доступа к битам УВВ = 0x42000000Смещение в байтах по отношению базовому адресу областихранения бит = 0x40020414 - 0x40000000 = 0x20414Смещение адреса слова доступа к биту = (0x20414 * 0x20) +(8*4) =0x4082A0Адрес в области доступа к битам = 0x42000000 + 0x4082A0 =0x424082A0.Приложение № 4.Системы тактирования (модуль Reset and clock control (RCC)).ИмяАдресНазначениерегистрарегистраCR0х40023800Регистр контроля тактовых сигналов.ICSCR0х40023804Внутренний регистр калибровки внутреннегоCFGR0х40023808Регистр конфигурации тактовых сигналов.CIR0х4002380СРегистр частоты внешних прерыаний.генератора.AHBRSTR0х40023810Регистр сброса периферийных устройств,подключенных к шине AHB.APB2RSTR0х40023814Регистр сброса периферийных устройств,подключенных к шине APB2.APB1RSTR0х40023818Регистр сброса периферийных устройств,подключенных к шине APB1.AHBENR0x4002381CРазрешает подачу тактовых импульсов нашину AHB.APB2ENR0x40023820Разрешение тактирования периферийныхустройств, подключенных к шине APB2.APB1ENR0x40023824Разрешение тактирования периферийныхустройств, подключенных к шине APB1.AHBLPENR0х40023828Регстр включения тактовых сигналов на шинуАНВ.APB2LPENR0х4002382СAPB1LPENR0х40023830CSR0х40023834Регистр статуса/контроля.Приложение № 5.Программирование портов GPIO.Имя регистраАдресНазначениеMODERN0x40020000Port mode registerOTYPER0x40020004Выбор схемы вывода впорт.OSPEEDEк0x40020008В этом регистреуказывается скоростьвывода.PUPDR0x4002000C Указывается способподключения выходногокаскада порта - сподтяжкой к потенциалу"земли" или к напряжениюпитания.IDR0х40020010Входной регистр порта.ODR0х40020014Выходной регистр порта.BSRR0х40020018Регистр сброса/установкибит порта.LCKR0х4002001С Регистр - защелкаконфигурации порта.AFRL0х40020020Указатель альтернативныхфункций порта (старшиеразряды 16 - 31).AFRH0х40020024Указатель альтернативныхфункций порта (младшиеразряды 0 - 15).Литература.1.
П.П. Редькин. 32/16-битные микроконтроллеры ARM7 семейства AT91SAM7фирмы ATMEL. Руководство пользователя. Москва, издательский дом«Додека ХХI». 2008.2. Б. Пахомов. С/С++ и MS Visual C++ 2008 для начинающих. СанктПетербург, «БХВ-Петербург» 2009.3. Joseph Yiu. The Defi nitive Guide to the ARM Cortex-M3..