22
.pdf1.3.2.Задачи средней сложности
1.На ножку 0 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период сигнала в килогерцах и выдается в параллельном коде на порт В. Код должен принять виртуальный инструмент Tout. Частоту тактирования счетчика таймера сделать равной fbus/4.
2.На ножку 2 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период сигнала в килогерцах и выдается в параллельном коде на порт А. Код должен принять виртуальный инструмент Tout. Частоту тактирования счетчика таймера сделать равной fbus/4.
3.На ножку 4 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период сигнала в килогерцах и выдается в параллельном коде на порт А. Код должен принять виртуальный инструмент Tout. Частоту тактирования счетчика таймера сделать равной fbus.
4.На ножку 6 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период сигнала в микросекундах и выдается а параллельном коде на порт В. Код должен принять виртуальный инструмент Tout. Частоту тактирования счетчика таймера сделать равной fbus.
5.На ножку 0 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период сигнала в микросекундах и выдается в параллельном коде на порт В. Код должен принять виртуальный инструмент ti out. Частоту тактирования счетчика таймера сделать равной fbus.
21
6.На ножку 3 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период сигнала в микросекундах и выдается в параллельном коде на порт A. Код должен принять виртуальный инструмент ti out. Частоту тактирования счетчика таймера сделать равной fbus.
7.На ножку 5 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период сигнала в микросекундах и выдается
впараллельном коде на порт А. Код должен принять виртуальный инструмент ti out. Частоту тактирования счетчика таймера сделать равной fbus/4.
8.На ножку 7 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется период сигнала в микросекундах и выдается
впараллельном коде на порт В. Код должен принять виртуальный инструмент ti out. Частоту тактирования счетчика таймера сделать равной fbus/4.
1.3.3.Сложные задачи для самостоятельной работы
9.На ножку 0 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется относительная длительность импульса сигнала и выдается в параллельном коде (значение 0х64 соответствует γ = 100%) на порт В. Код должен отображаться на 8-ми светодиодах, а также на панели виртуального инструмента Duty cycle out. Частоту тактирования счетчика таймера сделать рав-
ной fbus/4.
10.На ножку 1 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется относительная длительность импульса сиг-
22
нала и выдается в параллельном коде (значение 0х64 соответствует γ = 100%) на порт А. Код должен отображаться на восьми светодиодах, а также на панели виртуального инструмента Duty cycle out. Частоту тактирования счетчика таймера сделать рав-
ной fbus/4.
11.На ножку 2 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется относительная длительность импульса сигнала и выдается в параллельном коде (значение 0х64 соответствует γ = 100%) на порт А. Код должен отображаться на 8-ми светодиодах, а также на панели виртуального инструмента Duty cycle out. Частоту тактирования счетчика таймера сделать рав-
ной fbus.
12.На ножку 4 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется относительная длительность импульса сигнала и выдается в параллельном коде (значение 0х64 соответствует γ = 100%) на порт В. Код должен отображаться на 8-ми светодиодах, а также на панели виртуального инструмента Duty cycle out.
13.На ножку 0 и 1 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется разность фаз между двумя сигналами и выдается в параллельном коде (значение 0хFF соответствует ∆φ = 360°) на порт В. Код должен отображаться на 8-ми светодиодах, а также на панели виртуального инструмента Phase difference out. Частоту тактирования счетчика таймера сделать равной fbus.
14.На ножку 2 и 3 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется разность фаз между двумя сигналами и выдается в параллельном коде (значение 0хFF соответствует ∆φ = 360°) на порт A. Код должен отображаться на 8-ми светодиодах, а также на панели виртуального инструмента Phase difference out. Частоту тактирования счетчика таймера сделать равной fbus.
23
15.На ножку 4 и 5 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется разность фаз между двумя сигналами и выдается в параллельном коде (значение 0хFF соответствует ∆φ = 360°) на порт A. Код должен отображаться на 8-ми светодиодах, а также на панели виртуального инструмента Phase difference out. Частоту тактирования счетчика таймера сделать равной fbus/4.
16.На ножку 3 и 6 порта T микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой измеряется разность фаз между двумя сигналами и выдается в параллельном коде (значение 0хFF соответствует ∆φ = 360°) на порт В. Код должен отображаться на 8-ми светодиодах, а также на панели виртуального инструмента Phase difference out. Частоту тактирования счетчика таймера сделать равной fbus/4.
24
Лабораторная работа 02.
ШИМ МОДУЛЬ МИКРОКОНТРОЛЛЕРА
Цель работы: изучение функций модуля широтно-импуль- сной модуляции МК.
Подготовка к работе. В процессе подготовки к данной лабораторной работе рекомендуется повторить функцию входного захвата модуля таймера, ознакомиться с ШИМ модулем МК [6].
2.1.Порядок выполнения работы
1.Собрать и наладить режим работы виртуального прибора «Two Channel Generator» и сгенерировать последовательность прямоугольных импульсов.
2.Написать программу, где генератор импульсов управляет выходным ШИМ сигналом микроконтроллера с частотой 15 кГц.
3.Реализовать алгоритм управления работой микроконтрол-
лера.
4.Обе импульсные последовательности, параметры которых установлены заданным в алгоритме управления, вывести на осциллограф Scope.
2.2.Методика выполнения работы
Пример 2.1. На ножку 0 порта Т микроконтроллера поступает последовательность прямоугольных импульсов, создавае-
мая инструментом Two Channel Generator.
Написать программу, с помощью которой этот сигнал управляет с ШИМ-сигналом, создаваемым микроконтроллером. Частота ШИМ-сигнала равна 15 кГц. Алгоритм управления строится по следующему правилу: 50 мкс ≤ Т ≤ 100 мкс, 0 ≤ γ ≤ 1, где Т – период входного сигнала, γ – относительная длительность выходного сигнала. Обе импульсные последовательности вывести на осциллограф Scope.
25
hcs12_pr_2_1 #include <hidef.h>
#include <derivative.h> #define Tmin 50 #define Tmax 100
unsigned int TCNT_NEW, TCNT_OLD; unsigned char T;
g = 50;
void main() {
PERT | = 0x01;
TCTL4 = 0x01;
TFLG1 = 0xFF;
TFLG2 | = 0x80;
TIE = 1;
TSCR2 = 0x01;
TSCR1 = 0x80;
PWMPOL = 0x08;
PWMCLK = 0;
PWMCAE = 0;
PWMDTY3 = 100;
PWMPRCLK = 0;
PWMPER3 = 133;
PWME = 0x08;
asm CLI; for (;;) { }
}
interrupt 8 void IC0 () {
TFLG1 = 0x01;
TCNT_NEW = TCNT;
T = TCNT_New – TCNT_OLD;
TCNT_OLD = TCNT_NEW;
if (T >= Tmax) { g = 100;
}
else { if (T > Tmin) {
g = (unsigned int) ((unsigned int) (100*(T-Tmin)) (unsigned char) (Tmax-Tmin));
} else g = 0;
}
26
PWMDTY3 = (unsigned char) ((unsigned int) (g*PWMPER3) (unsigned char) 100);
}
Рис. 9. Необходимые соединения контактов на стенде
Перед запуском программы и ВИ необходимо произвести манипуляции на стенде в соответствии с рисунком 9.
2.3. Задачи для самостоятельной работы
2.3.1.Задачи начального уровня сложности
17.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота ШИМ-сигнала – 15 кГц. Управление осуществлять по следующему правилу: 30 мкс ≤ Т ≤ 200 мкс, 0 ≤ γ ≤ 1, где Т – период входного сигнала, γ – относительная длительность выходного сигнала. Обе импульсные последовательности вывести на Scope.
18.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота ШИМ-сигнала – 20 кГц. Управле-
27
ние осуществлять по следующему правилу: 50 мкс ≤ Т ≤ 100 мкс, 0 ≤ γ ≤ 1, где Т – период входного сигнала, γ – относительная длительность выходного сигнала. Обе импульсные последовательности вывести на Scope.
19.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота ШИМ-сигнала – 15 кГц. Управление осуществлять по следующему правилу: 50 мкс ≤ Т ≤ 100 мкс, 0,4 ≤ γ ≤ 0,8, где Т – период входного сигнала, γ – относительная длительность выходного сигнала. Обе импульсные последовательности вывести на Scope.
20.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота ШИМ-сигнала – 15 кГц. Управление осуществлять по следующему правилу: 50 мкс ≤ Т ≤ 100 мкс, 1 ≥ γ ≥ 0, где Т – период входного сигнала, γ – относительная длительность выходного сигнала. Обе импульсные последовательности вывести на Scope.
21.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота ШИМ-сигнала – 15 кГц. Управление осуществляется по следующему правилу: 66 мкс ≤ Т ≤ 80 мкс, 0 ≤ γ ≤ 1, где Т – период входного сигнала, γ – относительная длительность выходного сигнала. Обе импульсные последовательности вывести на Scope.
22.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота ШИМ-сигнала – 10 кГц. Управление осуществлять по следующему правилу: 50 мкс ≤ Т ≤ 100 мкс,
28
0 ≤ γ ≤ 1, где Т – период входного сигнала, γ – относительная длительность выходного сигнала. Обе импульсные последовательности вывести на Scope.
23.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота ШИМ-сигнала – 15 кГц. Управление осуществлять по следующему правилу: 50 мкс ≤ Т ≤ 100 мкс, 0,6 ≥ γ ≥ 0,2, где Т – период входного сигнала, γ – относительная длительность выходного сигнала. Обе импульсные последовательности вывести на Scope.
24.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота ШИМ-сигнала – 15 кГц. Управление осуществлять по следующему правилу: 40 мкс ≤ Т ≤ 125 мкс, 0 ≤ γ ≤ 1, где Т – период входного сигнала, γ – относительная длительность выходного сигнала. Обе импульсные последовательности вывести на Scope.
2.3.2.Задачи средней сложности
25.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Управление осуществлять по следующему правилу: 10 кГц ≤ f in ≤ 20 кГц, 1 кГц ≤ f out ≤ 2 кГц, где f in – частота входного сигнала, f out – частота выходного сигнала. Обе импульсные последовательности вывести на осциллограф
Scope.
26.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым
29
микроконтроллером. Управление осуществлять по следующему правилу: 5 кГц ≤ f in ≤ 10 кГц, 50 Гц ≤ f out ≤ 500 Гц, где f in – частота входного сигнала, f out – частота выходного сигнала. Обе импульсные последовательности вывести на осциллограф
Scope.
27.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота входного сигнала – 40 кГц. Управление осуществлять по следующему правилу: 0 мкс ≤ t in ≤ 50 мкс, 100 Гц ≤ f out ≤ 1 кГц, где t in – длительность импульса входного сигнала, f out – частота выходного сигнала. Обе импульсные последовательности вывести на осциллограф Scope.
28.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота входного сигнала – 20 кГц. Управление осуществлять по следующему правилу: 0 мкс ≤ t in ≤ 25 мкс, 2 кГц ≤ f out ≤ 8 кГц, где t in – длительность импульса входного сигнала, f out – частота выходного сигнала. Обе импульсные последовательности вывести на осциллограф Scope.
29.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота входного сигнала – 20 кГц, частота выходного сигнала – 50 Гц. Управление осуществлять по следующему правилу: 10 мкс ≤ t in ≤ 40 мкс, 0 мс ≤ t out ≤ 20 мс, где t in – длительность импульса входного сигнала, t out – длительность импульса выходного сигнала. Обе импульсные последовательности вывести на осциллограф Scope.
30.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота входного сигнала – 40 кГц, часто-
30