![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Буферный регистр результата АЦП (ADCRESULTn)Содержание книги
Поиск на нашем сайте
Рис. 5.9. Формат регистра ADCRESULTn В каскадном режиме начиная с регистра ADCRESULT8 по регистр ADCRESULT15 содержат результаты преобразования с девятого по шестнадцатый. Значения всех регистров ADCRESULTn выровнены по левому краю.
Порядок выполнения лабораторной работы №5
Часть I Создание проекта. 1.1 В Code Composer Studio создаем новый проект Lab6.pjt. Копируем из папки c:\tidcs файл lab6.c в папку с созданным проектом. Добавляем lab6.c в проект. 1.2 Добавляем в проект следующие файлы: C:\tidcs\c28\dsp281x\v100\DSP281x_headers\source\DSP281x_GlobalVariableDefs.c C:\tidcs\c28\dsp281x\v100\DSP281x_common\cmd\F2812_EzDSP_RAM_lnk.cmd C:\tidcs\c28\dsp281x\v100\DSP281x_headers\cmd\F2812_Headers_nonBIOS.cmd C:\ti\c2000\cgtools\lib\rts2800_ml.lib C:\tidcs\c28\dsp281x\v100\DSP281x_common\source\DSP281x_PieCtrl.c C:\tidcs\c28\dsp281x\v100\DSP281x_common\source\DSP281x_PieVect.c C:\tidcs\c28\dsp281x\v100\DSP281x_common\source\DSP281x_DefaultIsr.c C:\tidcs\c28\dsp281x\v100\DSP281x_common\source\DSP281x_Adc.c C:\tidcs\c28\dsp281x\v100\DSP281x_common\source\DSP281x_usDelay.asm 1.3 Включаем в проект заголовочные файлы: Project → Build Options, в закладке Compiler выбираем Preprocessor и в поле Include Search Path (-i) вводим: C:\tidcs\C28\dsp281x\v100\DSP281x_headers\include;..\include. 1.4 Задаем глубину стека: Project → Build Options → Linker → Stack Size: 0x400.
Инициализация системы (подпрограмма “InitSystem()”). 2.1 Разрешаем работу сторожевого таймера (см. лаб.раб. №2), устанавливаем коэффициентом деления 64 (регистр WDCR), сбрасываем сторожевой таймер (регистр SCSR). 2.2 Настраиваем ЦСП на частоту 150 МГц (регистр PLLCR), в предделитель высокоскоростного таймера заносим 2. 2.3 Разрешаем тактирование модуля АЦП и Менеджера Событий (регистр PCLKCR).
3. Инициализация портов (подпрограмма “Gpio_select()”). 3.1 Настраиваем все выводы на работу в качестве портов (регистр GPxMUX) (см. лаб.раб. №2). 3.2. Настраиваем порты A, D, E, F, G на ввод (регистр GPxDIR). 3.3 Настраиваем линии порта GPIOB15 – GPIOB8 на ввод, а GPIOB7 – GPIOB0 на вывод. 3.4 Сбрасываем биты регистров GPxQUAL в ноль.
Инициализация модуля Менеджера Событий. 4.1 Запрещаем выходы сравнения и выбираем полярность выходов сравнения принудительный низкий уровень (регистр GPTCONA) (см. лаб.раб. №3). 4.2 В регистре T1CON выбираем: непрерывный режим счета вверх, синхронизация от внутреннего источника, запрещаем режим сравнения, разрешаем работу GP таймера 1, задаем коэффициент деления 128. 4.3 Разрешаем запуск АЦП от Менеджера Событий А (регистр GPTCONA). 4.4 Рассчитываем значение периода (T1PR), зная, что
Инициализация модуля АЦП. 5.1 Задаем: двух последовательный режим, запрещаем непрерывный режим, коэффициент деления 1 (регистр ADCTRL1). 5.2 Записываем количество преобразований 2 (регистр ADCMAXCONV). 5.3 Выбираем каналы ADCIN_A0 и ADCIN_B0 (регистр ADCCHSELSEQ1). 5.4 Разрешаем преобразования от Менеджера Событий А, разрешаем прерывания АЦП в конце каждой последовательности (регистр ADCTRL2) 5.3 Задаем делитель частоты высокоскоростного таймера равный 4.
Настройка прерываний. 6.1 Указываем адрес вектора прерываний (регистр ADCINT). 6.2 Разрешаем прерывание 6 группы 1 (регистр PIEIER1). 6.3 Вызываем подпрограммы инициализации: модуля прерывания периферийных устройств “InitPieCtrl()”, вектора прерывания периферийных устройств “InitPieVectTable()”, модуля АЦП “InitAdc()”.
7. Получение результатов преобразования АЦП (подпрограмма “adc_isr()”). 7.1 Считываем результаты преобразования из регистров ADCRESULT0 и ADCRESULT1 и сохраняем их соответственно в переменные Voltage_A0 и Voltage_B0. Так как данные в регистрах ADCRESULTn выровнены к левому краю, необходимо произвести сдвиг данных на четыре разряда вправо. 7.2 Подготавливаем АЦП к следующему преобразованию: сбрасываем последовательность SEQ1 (регистр ADCTRL2), сбрасываем бит прерывания SEQ1 (регистр ADCST), подтверждаем прерывания (регистр PIEACK).
|
|||||
Последнее изменение этой страницы: 2017-02-19; просмотров: 214; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.76.14 (0.006 с.) |