Главная » Просмотр файлов » А.П.Евдокимов, Л.Л.Владимиров Программирование микроконтроллера К1986ВЕ92QI компании Миландр

А.П.Евдокимов, Л.Л.Владимиров Программирование микроконтроллера К1986ВЕ92QI компании Миландр (1186478), страница 8

Файл №1186478 А.П.Евдокимов, Л.Л.Владимиров Программирование микроконтроллера К1986ВЕ92QI компании Миландр (А.П.Евдокимов, Л.Л.Владимиров Программирование микроконтроллера К1986ВЕ92QI компании Миландр) 8 страницаА.П.Евдокимов, Л.Л.Владимиров Программирование микроконтроллера К1986ВЕ92QI компании Миландр (1186478) страница 82020-08-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 8)

Величину, обратную интервалу дискретизации, называют частотой дискретизации.Чем меньше интервал дискретизации и, соответственно, вышечастота дискретизации, тем меньше различия между исходным сигналом и его дискретным отражением. Восстановление аналогового сигнала из дискретного осуществляется с помощью фильтра нижних частот. Согласно теореме В.А. Котельникова, восстановление будетточным только в том случае, если частота дискретизации Д большечем в 2 раза превышает верхнее значение частоты В в спектре аналогового сигнала: Д > 2 ∙ В .Рисунок 8.1 – Аналого-цифровое преобразование: дискретизация58Квантование представляет собой замену величины отсчета сигнала при дискретизации ближайшим значением из разрешенногонабора фиксированных значений сигнала, которые называют уровнемквантования (рисунок 8.2).

Таким образом, квантованный сигнал, вотличие от исходных дискретных отсчетов, может принимать толькоконечное число значений, в данном случае – 0, 1, 2, 3.Рисунок 8.2 – Аналого-цифровое преобразование: квантованиеПри квантовании происходит искажение сигнала, которое невозможно устранить фильтрацией. Чтобы уменьшить искажения отквантования (так называемый «шум квантования»), необходимо увеличивать количество уровней квантования, тогда разность между дискретными отсчетами и фиксированными уровнями квантования ∆будет меньше.Поскольку квантованный сигнал может принимать конечноечисло значений, его можно представить в каждый момент отсчетачислом, равным порядковому номеру уровня квантования, т.е.

закодировать его. Для кодирования сигналов широко применяют двоичныйкод. Если двоичный код имеет разрядов, то с его помощью можноописать = 2 уровней квантования. Например, для уровней квантования, показанных на рисунке 8.2, двоичные коды будут выглядетьследующим образом: 00; 01; 10; 11.В состав микроконтроллера входят два 12-разрядных АЦП,(найдите блоки ADC на структурной схеме, рисунок 1.1). КаждыйАЦП имеет 8 каналов, пронумерованных от 0 до 7: ADC0, ..., ADC7.Выводы микроконтроллера, которые используются для подключенияисточников аналогового сигнала, приведены в таблице 8.1.Обратим внимание, что канал ADC7 не выведен на разъем X26(поз. 28 на рисунке 1.3), и может быть использован двумя способами.Если перемычка X5 (поз.

21 рисунка 1.3) находится в положении«EXT_CON», то к каналу ADC7 подключается коаксиальный разъем59BNC (поз. 20 рисунка 1.3), на который с помощью дополнительногокабеля можно подать внешний аналоговый сигнал от 0 до 3,3 В. Еслиперемычка X5 находится в положении «TRIM», то к каналу ADC7подключается многооборотный подстроечный резистор R1 (поз. 22рисунка 1.3), с помощью которого на седьмой канал АЦП от внутреннего источника отладочной платы можно подать постоянное напряжение от 0 до 3,3 В. Мы будем работать именно с подстроечным резистором.Таблица 8.1 – Распределение входов АЦП по линиям портови выводам микроконтроллера К1986ВЕ92QIЛиниярегистраPD0PD1PD2PD3PD4PD5PD6PD7Выводмикроконтр.3132333430353629Выводразъема X26PD0PD1PD2PD3PD4PD5PD6–АналоговаяфункцияADC0_REF+ADC1_REFADC2ADC3ADC4ADC5ADC6ADC7ДлянастройкиАЦПиспользуетсябиблиотекаMDR32F9Qx_adc.h, которая описывает работу АЦП с помощью задания структур ADC_InitTypeDef и ADCx_InitTypeDef.Структура ADC_InitTypeDef имеет следующие поля: ADC_SynchronousMode – выбор режима работы двух преобразователей; ADC_StartDelay – определяет задержку начала преобразованийот старта системы (0...15 тактов); ADC_TempSensor – включение/выключение температурногодатчика; ADC_TempSensorAmplifier – включение/выключение усилителятемпературного датчика; ADC_TempSensorConversion – включение/выключение преобразования показаний от температурного датчика; ADC_IntVRefConversion – включение/выключение внутреннегостабилизированного источника напряжения; ADC_IntVRefTrimming – определяет интервал считывания значений опорного напряжения.60Структура ADCx_InitTypeDef имеет следующие поля: ADC_ClockSource – указывает источник тактирующего сигнала; ADC_SamplingMode – задает режим считывания показаний; ADC_ChannelSwitching – включение/выключение возможностипереключения каналов АЦП; ADC_ChannelNumber – номер канала; ADC_Channels – маска номеров каналов; ADC_LevelControl – включение/выключение слежения за уровнем АЦП; ADC_LowLevel – значение нижнего уровня АЦП; ADC_HighLevel – значение верхнего уровня АЦП; ADC_VRefSource – определяет источник питания АЦП; ADC_IntVRefSource – определяет тип напряжения источникапитания АЦП; ADC_Prescaler – задает параметры предусилителя; ADC_DelayGo – задержка начала преобразований в последовательном режиме.Однако мы не станем прописывать каждое поле, а большинствоустановок сделаем по умолчанию, используя функции ADC_StructInitи ADCx_StructInit.

Что конкретно при этом будет включено или выключено, можно найти в библиотечном файле MDR32F9Qx_adc.c.Ниже приведена программа, которая позволяет оцифровыватьпостоянное напряжение, подаваемое на седьмой канал первого АЦП,и выводить результат на экран ЖК-модуля.// Подключение заголовочных файлов необходимых библиотек#include <MDR32F9Qx_port.h>#include <MDR32F9Qx_rst_clk.h>#include <MDR32F9Qx_adc.h>#include "lcd.h"// Определение функции задержки#define DELAY(T) for (i = T; i > 0; i--)// Определение калибровочной константы#define KALIBR 1247// Объявление переменныхint i;float U;uint32_t RESULT;char stroka[17]; // Размер массива для строки61// Процедура общей настройки АЦПvoid ADCInit(){// Включение тактирования АЦПRST_CLK_PCLKcmd(RST_CLK_PCLK_ADC, ENABLE);// Объявление структур для общей настройки АЦПADC_InitTypeDef ADC;// Загрузка значений по умолчанию в структуру ADCADC_StructInit(&ADC);// Инициализация АЦП объявленной структуройADC_Init(&ADC);}// Процедура настройки АЦП1void ADC1Init(){// Объявление структур для общей настройки АЦП1ADCx_InitTypeDef ADC1;// Загрузка значений по умолчанию в структуру ADC1ADCx_StructInit(&ADC1);// Установка номера канала АЦП,// подключенного к резистору R1 платыADC1.ADC_ChannelNumber = ADC_CH_ADC7;// Инициализация первого АЦП объявленной структуройADC1_Init(&ADC1);// Включение первого АЦПADC1_Cmd(ENABLE);}// Объявление главной функцииint main (){ADCInit();// Вызов функции общей настройки АЦПADC1Init(); // Вызов функции индивидуальной настройки АЦП1LCD_Init(); // Вызов функции инициализации ЖК-модуля// Основной циклwhile (1){ADC1_Start(); // Начало преобразования// Ожидание флага завершения преобразованияwhile (ADC1_GetFlagStatus(ADC1_FLAG_END_OF_CONVERSION)== 0);// Чтение результата преобразованияRESULT = ADC1_GetResult() & 0x00000FFF;// Калибровка результата преобразованийU = (float)RESULT / KALIBR;// Вывод результата на экран62snprintf(stroka, 17, "U = %.2fВ", U);LCD_PutString(stroka, 4);// Задержка изображения на экранеDELAY(0xFFFF);}}В дополнительных разъяснениях, пожалуй, нуждается толькоспособ записи результата.

Результат преобразования автоматическипомещается в 32-разрядный регистр ADC1_RESULT. Сам результат преобразования записывается в разряды (биты) с 0 по 11, разряды с 12 по15 и с 21 по 31 не используются, а вот в разрядах с 16 по 20 записывается номер канала, по которому получен результат. Но сейчас нам номер канала не нужен, поэтому чтобы 32-разрядный регистр хранилтолько результат преобразования, содержимое регистра необходимологическиумножитьнадвоичноечисло000000000000000000001111111111112, или в шестнадцатеричном коде– 0x00000FFF, что и было сделано операциейRESULT = ADC1_GetResult() & 0x00000FFF;Отметим, что такая операция называется «маскирование» или «наложение маски».Чтобы перевести полученный числовой результат в вольты, разделим его на калибровочную константу, которая подбирается экспериментально путем сопоставления показаний вольтметра, которымследует измерить напряжение на входе АЦП, c отображением результата на экране ЖК-модуля:U = (float)RESULT / KALIBR;ПРАКТИЧЕСКАЯ ЧАСТЬ1.

Убедитесь, что перемычка X5 (поз. 21 на рисунке 1.3) стоит вположении TRIM. В этом случае ко входу АЦП будет подключен подстроечный резистор R1 (поз. 22 на рисунке 1.3).2. Подключите отладочную плату к компьютеру.3. Подайте питание на плату.4. Запустите среду программирования Keil μVision.5.

Характеристики

Список файлов лабораторной работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее