Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

22

.pdf
Скачиваний:
1
Добавлен:
07.06.2023
Размер:
2.06 Mб
Скачать

целью контроля обучающегося на степень усвоения материала. Задания второй группы предполагают существенное изменение программного кода примеров для самостоятельного решения более сложной задачи. Задания третьей группы рассчитаны на полностью самостоятельное создание алгоритма и программного кода сложной задачи промышленного характера.

Авторами пособия предлагается стратегия организации лабораторных занятий на основе предлагаемого лабораторного практикума в двух направлениях. Первое направление предполагает во время занятия изучение с решением примеров с последующим исполнением на занятии каждым обучающимся индивидуального задания первой группы сложности. Второе направление предполагает, что обучающийся дома и во время подготовки к лабораторному занятию, изучает представленные примеры. Далее на их основе решает индивидуальное задание из второй и третьей группы сложности. На лабораторном занятии это задание отлаживается на стенде NI ELVIS II и самостоятельно составленный отчет по выполненной работе в установленной форме предъявляется преподавателю.

При достаточном числе учебных часов возможно совмещение этих двух направлений стратегии, когда на первом занятии реализуется стратегия первого направления, на втором – стратегия второго направления для одной и той же лабораторной работы из предложенного цикла.

11

3. НАБОР ВИРТУАЛЬНЫХ ПРИБОРОВ УЧЕБНОГО ОБОРУДОВАНИЯ NI ELVIS II

Для выполнения лабораторных работ рекомендуется применение трех виртуальных приборов, входящих в набор ELVISmx и 8 специально созданных приборов, функционирующих как утилиты в программной среде CodeWarrior [6].

Стандартные инструменты:

1.Двухканальный осциллограф Scope. Для исследования сигналов можно использовать гнезда типа BNC сборку платформы Elvis II или линии аналогового ввода ACH на верхнем разъеме платформы PBMCUSLK.

2.Функциональный генератор FGEN. Создаваемый сиг-

нал выводится либо на гнездо типа BNC сборку платформы Elvis II или на верхний разъем платформы PBMCUSLK.

3.Индикатор состояния Digital Reader. Читает и отобра-

жает на мониторе компьютера код восьми линий DI или DO. Описание прочих стандартных виртуальных приборов мож-

но найти в [6].

Для успешного проведения экспериментов на лабораторном стенде NI ELVIS II можно применить дополнительно 8 специальных инструментов, которые студент может использовать во время лабораторных занятий:

1.Инструмент Two Channel Generator. Двухканальный генератор прямоугольных импульсов с логическими уровнями: напряжение низкого состояния – 0В, высокого состояния – 5В. Частота сигналов в обеих каналах всегда одинаковая, диапазон

ееизменения – 4 – 40 кГц. Имеется возможность менять относительную длительность импульса в каждом из них (0..100%), а также варьировать разность фаз между двумя сигналами (0..360).

2.Инструмент Analog Level. Задает аналоговый уровень напряжения в двух каналах аналогового вывода. Диапазон изменения сигналов – U-0..5 B, выходы размещены на верхнем разъе-

ме платформы PBMCUSLK (DAC0 и DAC1).

3.Инструмент Voltage out. Отображает значение напряжения, измеренного микроконтроллером. Принимает двоичный код на линиях DI. Значение 0хFF соответствует V = 5 D.

12

4.Инструмент Tout. Отображает значение периода сигнала, измеренного МК. Принимает двоичный код на линиях DI. Значение 0хFF соответствует T = 255 мкс.

5.Инструмент ti out. Отображает значение длительности сигнала (прямоугольные импульсы), измеренного микроконтроллером. Принимает двоичный код на линиях DI. Значение 0хFF соответствует t1 = 255 мкс.

6.Инструмент fout. Отображает значение частоты сигнала, измеренного МК. Принимает двоичный код на линиях DI. Значение 0хFF соответствует f = 40 кГц.

7.Инструмент Duty cycle out. Отображает значение относительно длительности импульса сигнала (прямоугольные импульсы), измеренного микроконтроллером. Принимает двоичный код на линиях DI. Значение 0х64 соответствует γ = 255 мкс.

8.Инструмент Phase difference out. Отображает значение разности фаз двух сигналов, измеренной микроконтроллером. Принимает двоичный код на линиях DI. Значение 0хFF соответствует ∆φ = 360°.

Все восемь дополнительно созданных инструментов объединены в один установочный пакет, который доступен обучающимся во время проведения лабораторных занятий.

13

4. ОПИСАНИЕ ЛАБОРАТОРНЫХ РАБОТ

Лабораторная работа 01.

РЕЖИМ ВХОДНОГО ЗАХВАТА ТАЙМЕРА

Цель работы: изучение режима входного захвата для подсистемы таймера микроконтроллера. Эта функциональная возможность позволяет получить некоторые сведения о поступающих цифровых сигналах, которые в данной лабораторной работе будут генерироваться на стенде NI ELVIS II. Также осваиваются навыки по созданию пользовательской программы в среде CodeWarrior [6].

Подготовка к работе. Обучающимся необходимо ознакомиться с особенностями третьей конфигурации стенда NI ELVIS II [6].

Примечание! Особое внимание следует уделить расста-

новке перемычек и разводке разъемов на обоих платах, т.к. не-

правильное их использование может привести к повреждению оборудования!

Также рекомендуется ознакомиться с режимом входного захвата модуля таймера микроконтроллера [6].

1.1.Порядок выполнения работы

1.1.Запустить виртуальный прибор под названием генератор прямоугольных импульсов «Two Channel Generator» и измеритель периода сигнала «Tout».

1.2.Генератором прямоугольных импульсов сгенерировать последовательность импульсов.

1.3.На ножку 0 порта Т микроконтроллера подать сгенерированный сигнал.

1.4.Написать программу, измеряющую значение периода сигнала на порт А микроконтроллера в виде параллельного кода.

1.2.Методика выполнения работы

Пример 1.1. На ножку 0 порта Т микроконтроллера поступает последовательность прямоугольных импульсов, создавае-

мая инструментом «Two Channel Generator».

14

Написать программу, с помощью которой измеряется период поступающего сигнала в микросекундах и его значение выдается на порт А в виде параллельного кода. Код должен приниматься виртуальным инструментом «Tout».

hcs12_pr_1_1 #include <hidef.h>

#include <derivative.h>

unsigned int TCNT_NEW, TCNT_OLD; unsigned char T;

void main() { PPST & = ~0x01; PERT | = 0x01; TCTL4 = 0x01; TFLG1 = 0xFF; TFLG2 | = 0x80; TIE = 1;

TSCR2 = 0x01;

TSCR1 = 0x80;

PUCR | = 0x01; DDRA = 0xFF; EnableInterrupts; for (;;) { }

}

interrupt 8 void IC0 () { TFLG1 = 0x01; TCNT_New = TCNT;

T = TCNT_NEW – TCNT_OLD; TCNT_OLD = TCNT_NEW; PORTA = T;

}

Прежде чем набирать исходный текст программы, обучающимся рекомендуется внимательно изучить ниже представленную методику создания пользовательской программы (другими словами проекта) в среде CodeWarrior [8].

Новый проект в среде CodeWarrior создается следующим образом. Вначале нужно перейти по пункту главного меню File → New Project. Появится первое окно мастера создания проекта. В нем нужно выбирать тип микроконтроллера, которого студент собирается программировать, а также способ связи с ним (рис. 1). Далее следует указать путь, по которому будут размещены файлы исходного текста программы (рис. 2). Удобнее это сделать

15

при помощи кнопки «Set». В качестве используемого языка программирования выберите С. В третьем окне мастера (рис. 3) к новому проекту можно добавить ранее разработанные студентом файлы. Откажитесь от этой возможности и нажмите «Next».

Рис. 1. Первое окно мастера создания программы

Рис. 2. Второе окно мастера создания проекта

В следующем окне (рис. 4) предоставляется выбор инструмента для ускоренной разработки приложений. Сейчас мы являемся таковым пользователем, поэтому следует выбрать пункт «None».

16

Рис. 3. Третье окно мастера создания проекта

В дальнейшем же Вы при наличии желания можете самостоятельно ознакомиться с настройками «Device Initialization» программного пакета CodeWarrior [7-9].

Рис. 4. Четвертое окно мастера создания проекта

При помощи этой настройки процесс инициализации периферии микроконтроллера, возможно, выполнить намного легче и быстрее, нежели обычным образом, изучая многочисленные служебные регистры в справочных листах [6].

Теперь нужно установить параметры проекта, связанные с особенностями языка С (рис. 5). Необходимо выбрать код начального пуска в формате ANSI, модель памяти «Small» и пере-

17

менные с плавающей точкой и двоичной точности. Тем не менее в приложениях, критичных в отношении производительности, рекомендуется отключать последнюю опцию и избегать операции, связанные с дробными числами. Наконец в завершающем окне (рис. 6) откажитесь от использования надстройки поиска ошибок в исходном коде PC-lint. По завершении конфигурации нового проекта основное окно среды разработки CodeWarrior должно выглядеть так, как показано на рисунке 7. Для корректной работы программы необходимо соединить проводниками некоторые контакты так, как показано на рисунке 8.

Рис. 5. Пятое окно мастера создания проекта

Рис. 6. Шестое окно мастера создания проекта

18

Рис. 7. Основное окно в среде CodeWarrior

После завершения рекомендованной манипуляции на стенде, запускается инструмент Two Channel Generator, в котором выбираются желаемые параметры создаваемого сигнала. Также запускается утилита T out, с помощью которой на мониторе компьютера будут отображаться данные, принимаемые от микроконтроллера. И, наконец, можно запускать набранную программу.

Рис. 8. Необходимые соединения контактов на учебном стенде NI ELVIS II

19

1.3. Задачи для самостоятельной работы

1.3.1.Задачи начального уровня сложности

1.На ножку 1 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период сигнала в микросекундах (выходной сигнал выдается в параллельном коде на порт А). Код должен принять виртуальный инструмент Tout.

2.На ножку 0 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период сигнала в микросекундах и выдается в параллельном коде на порт В. Код должен принять виртуальный инструмент Tout.

3.На ножку 0 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период сигнала в микросекундах и выдается в параллельном коде на порт А. Код должен принять виртуальный инструмент Tout. Частоту тактирования счетчика таймера сделать равной fbus.

4.На ножку 0 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период приходящего сигнала в микросекундах и выдается в параллельном коде на порт А. Код должен принять виртуальный инструмент Tout. Частоту тактирования счетчика таймера сделать равной fbus/4.

5.На ножку 2 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период приходящего сигнала в микросекундах и выдается в параллельном коде на порт А. Код должен принять виртуальный инструмент Tout.

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]