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

Пособие HCS12 & Elvis II v.7.01

.pdf
Скачиваний:
223
Добавлен:
03.05.2015
Размер:
4.14 Mб
Скачать

Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота входного сигнала – 20 кГц, частота выходного – 50 Гц. Управление осуществлять по следующему правилу: 10 мкс ≤

ti_in ≤ 40 мкс: 0 мс ≤ ti_out ≤ 20 мс, где ti_in – длительность импульса входного сигнала, ti_out – длительность импульса выходного. Обе импульсные

последовательности вывести на осциллограф Scope.

6.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота входного сигнала – 40 кГц, частота выходного – 400 Гц. Управление осуществлять по следующему правилу: 8 мкс ≤

ti_in ≤ 18 мкс: 0.5 мс ≤ ti_out ≤ 2 мс, где ti_in – длительность импульса входного сигнала, ti_out – длительность импульса выходного. Обе импульсные последовательности вывести на осциллограф Scope.

7.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота выходного сигнала – 5 кГц

Управление осуществлять по следующему правилу: 10 кГц ≤ fin ≤ 20 кГц: 0 мкс ≤ ti ≤ 170 мкс, где fin – частота входного сигнала, ti – длительность импульса выходного. Обе импульсные последовательности вывести на осциллограф Scope.

8.На один из входов микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота выходного сигнала – 10 кГц

Управление осуществлять по следующему правилу: 1 кГц ≤ fin ≤ 3 кГц: 20 мкс ≤ ti ≤ 100 мкс, где fin – частота входного сигнала, ti – длительность импульса выходного. Обе импульсные последовательности вывести на осциллограф Scope.

Сложные задачи для самостоятельной работы

1.На вход микроконтроллера поступает импульсная последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Управление осуществлять по следующему правилу: 0 ≤ γ ≤ 80%: 10 кГц ≤ f ≤ 20 кГц, где γ – относительная длительность входного сигнала, f – частота выходного. Обе импульсные последовательности вывести на осциллограф Scope. Значение γ вывести через порт A в двоичном виде на 8 светодиодов.

2.На вход микроконтроллера поступает импульсная последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота выходного сигнала – 2 кГц.

Управление осуществлять по следующему правилу: 20% ≤ γin ≤ 100%: 0 ≤ γout ≤ 60%, где γin – относительная длительность входного сигнала, γout – относительная длительность выходного. Обе импульсные последовательности вывести на

осциллограф Scope. Значение γin вывести через порт B в двоичном виде на 8 светодиодов.

3.На вход микроконтроллера поступает импульсная последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Частота выходного сигнала – 50 Гц.

Управление осуществлять по следующему правилу: 30% ≤ γin ≤ 90%: 50% ≤ γout ≤ 90%, где γin – относительная длительность входного сигнала, γout – относительная

171

длительность выходного. В программе объединить два канала, тем самым получив и используя 16-разрядный счётчик ШИМ-модуля. Обе импульсные последовательности вывести на осциллограф Scope. Значение γin вывести через порт A в двоичном виде на 8 светодиодов.

4.На вход микроконтроллера поступает импульсная последовательность прямоугольных импульсов, создаваемая инструментом Two Channel Generator. Написать программу, с помощью которой этот сигнал управляет ШИМ-сигналом, создаваемым микроконтроллером. Управление осуществлять по следующему правилу: 0 ≤ γ ≤ 100%: 10 кГц ≤ f ≤ 40 кГц, где γ – относительная длительность входного сигнала, f – частота выходного. Обе импульсные последовательности вывести на осциллограф Scope. Значение f вывести на панель инструмента f out.

5.На входы микроконтроллера поступают две последовательности прямоугольных импульсов с одинаковой частотой, создаваемые инструментом Two Channel Generator. Написать программу, с помощью которой эти два сигнала управляют ШИМ-сигналом, создаваемым микроконтроллером. Частота входных сигналов – 5 кГц. Управление осуществлять по следующему правилу: 0 ≤ Δφ ≤ 180°: 500 Гц ≤ f ≤ 1 кГц, где Δφ – разность фаз между двумя сигналами, f – частота выходного сигнала. Выходную последовательность вывести на осциллограф Scope. Значение Δφ отобразить на панели инструмента Phase difference out.

6.На входы микроконтроллера поступают две последовательности прямоугольных импульсов с одинаковой частотой, создаваемые инструментом Two Channel Generator. Написать программу, с помощью которой эти два сигнала управляют ШИМ-сигналом, создаваемым микроконтроллером. Частота входных сигналов – 10 кГц, выходного – 20 кГц. Управление осуществлять по следующему правилу:

180° ≤ Δφ ≤ 360°: 40% ≤ γout ≤ 90%, где Δφ – разность фаз между двумя сигналами, f – частота выходного сигнала. Выходную последовательность вывести на осциллограф Scope. Значение Δφ отобразить в параллельном коде (значение 0xFF соответствует Δφ = 360°) на 8-ми светодиодах.

7.На входы микроконтроллера поступают две последовательности прямоугольных импульсов с одинаковой частотой, создаваемые инструментом Two Channel Generator. Написать программу, с помощью которой эти два сигнала управляют ШИМ-сигналом, создаваемым микроконтроллером. Частота входных сигналов – 1 кГц. Управление осуществлять по следующему правилу: 120° ≤ Δφ ≤ 240°: 400 Гц ≤ f ≤ 1 кГц, где Δφ – разность фаз между двумя сигналами, f – частота выходного сигнала. Выходную последовательность вывести на осциллограф Scope. Значение Δφ отобразить на панели инструмента Phase difference out.

8.На входы микроконтроллера поступают две последовательности прямоугольных импульсов с одинаковой частотой, создаваемые инструментом Two Channel Generator. Написать программу, с помощью которой эти два сигнала управляют ШИМ-сигналом, создаваемым микроконтроллером. Частота входных сигналов – 10 кГц, выходного – 5 кГц. Управление осуществлять по следующему правилу:

240° ≤ Δφ ≤ 360°: 15% ≤ γout ≤ 60%, где Δφ – разность фаз между двумя входными сигналами, γout – относительная длительность выходного. Выходную последовательность вывести на осциллограф Scope. Значение Δφ отобразить в параллельном коде (значение 0xFF соответствует Δφ = 360°) на 8-ми светодиодах.

172

Лабораторная работа №3

Генерация одиночных импульсов с заданными параметрами

Содержание

В данной лабораторной работе изучается совместная работа функций входного захвата и выходного сравнения подсистемы таймера. Такая связка позволяет реализовать генерацию микроконтроллером импульсов с определёнными параметрами в ответ на некоторые входные сигналы.

Подготовка к работе

В процессе подготовки к лабораторной работе №3 рекомендуется повторить особенности работы режимов входного захвата и выходного сравнения подсистемы таймера. Также полезно будет и ознакомиться с примером, приведённым ниже.

Практическая часть

Пример 3.1. На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигнал в ответ на входящий. Параметры выходного импульса показаны на рисунке ниже. Частота входного сигнала – 1 кГц. Обе импульсные последовательности вывести на осциллограф Scope.

#include <hidef.h>

#include "derivative.h" //Подключение файла, содержащего определение

#define ti_out 200

//служебных регистров.

//Пользовательское макроопределение длительности

 

//импульса выходного сигнала, мкс.

void main(void) {

 

PERT |= 0x03;

//Включение подтягивающих вверх резисторов на

TCTL4 = 0x01;

//ножках 0 и 1 порта T, PERT0 = PERT1 = 1.

//Включение обнаружения нарастающих перепадов

TFLG1 = 0xFF;

//сигнала в канале 0, EDG0B = 0, EDG0A = 1.

//Сброс всех флагов событий, CxF = 1.

TFLG2 |= 0x80;

//Сброс флага переполнения таймера, TOF = 1.

TIOS = 0x02;

//Канал 1 – выходное сравнение, 0 – входной захват.

TIE = 0x03;

//Разрешение прерываний в каналах 0 и 1, C0I = C1I = 1.

173

TSCR2 = 0x00; //Установка делителя частоты тактирования счётчика таймера

//равным 1. Таким образом, fCT = fBUS = 2 МГц. TSCR1 = 0x80; //Включение таймера, TEN = 1.

asm CLI;

//Разрешение прерываний в МК.

here: goto here; //Бесконечный пустой цикл, ожидание прерываний.

}

 

interrupt 8 void IC0() {

//Подпрограмма прерывания по событию

 

//входного захвата в канале 0 подсистемы

 

//таймера.

TFLG1 |= 0x01;

//Сброс флага события в канале 0.

TCTL2 = 0x0C;

//Перепад из нуля в единицу при успешном событии

TC1 = TCNT+10;

//выходного сравнения в канале 1, OM1 = OL1 = 1.

//Небольшое увеличение уровня сравнения в канале 1

 

//для последующей генерации фронта выходного

TFLG1 |= 0x02;

//сигнала.

//Сброс флага события в канале 1.

}

 

interrupt 9 void 0C1() {

//Подпрограмма прерывания по событию

 

//выходного сравнения в канале 1 подсистемы

 

//таймера.

TC1 = TCNT+ti_out*2;

//Установка уровня сравнения в канале 1.

TIE &= ~0x02;

//Запрет прерываний в канале 1.

TCTL2 = 0x08;

//Перепад из единицы в ноль при успешном

 

//событии выходного сравнения в канале 1,

 

//OM1 = 1, OL1 = 0.

}

 

Перед запуском программы и виртуальных инструментов необходимо произвести манипуляции на стенде в соответствии с рис. 7.10.

Разъём J2

FUNC_OUT

Разъём J2

FUNC_OUT

MCU_PORT (J6 или J7)

IOC1

MCU_PORT (J6 или J7)

IOC0

BNC-разъём платформы

Elvis II

CH0

BNC-разъём платформы

Elvis II

CH1

Рис. 7.10. Необходимые соединения контактов на стенде

174

Задачи начального уровня для самостоятельной работы

1.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигнал в ответ на входящий. Параметры выходного импульса показаны на рисунке ниже. Частота входного сигнала – 20 Гц. Обе импульсные последовательности вывести на осциллограф Scope.

2.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигнал в ответ на входящий. Параметры выходного импульса показаны на рисунке ниже. Частота входного сигнала – 1 кГц. Обе импульсные последовательности вывести на осциллограф Scope.

3.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигнал в ответ на входящий. Параметры выходного импульса показаны на рисунке ниже. Частота входного сигнала – 1 кГц. Обе импульсные последовательности вывести на осциллограф Scope.

175

4.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигнал в ответ на входящий. Параметры выходного импульса показаны на рисунке ниже. Частота входного сигнала – 1 кГц. Обе импульсные последовательности вывести на осциллограф Scope.

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

1.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигнал в ответ на входящий. Параметры выходных импульсов показаны на рисунке ниже. Частота входного сигнала – 2 кГц. Обе импульсные последовательности вывести на осциллограф Scope.

2.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигнал в ответ на входящий. Параметры выходных импульсов показаны на рисунке ниже. Частота входного сигнала – 4 кГц. Обе импульсные последовательности вывести на осциллограф Scope.

176

3.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигнал в ответ на входящий. Параметры выходных импульсов показаны на рисунке ниже. Частота входного сигнала – 2.5 кГц. Обе импульсные последовательности вывести на осциллограф Scope.

4.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигнал в ответ на входящий. Параметры выходных импульсов показаны на рисунке ниже. Частота входного сигнала – 1 кГц. Обе импульсные последовательности вывести на осциллограф Scope.

5.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигналы в ответ на входящий. Параметры выходных импульсов показаны на рисунке ниже. Частота входного сигнала – 1 кГц. Выходные импульсные последовательности вывести на осциллограф Scope.

177

6.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигналы в ответ на входящий. Параметры выходных импульсов показаны на рисунке ниже. Частота входного сигнала – 1 кГц. Выходные импульсные последовательности вывести на осциллограф Scope.

7.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигналы в ответ на входящий. Параметры выходных импульсов показаны на рисунке ниже. Частота входного сигнала – 1 кГц. Выходные импульсные последовательности вывести на осциллограф Scope.

178

8.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигналы в ответ на входящий. Параметры выходных импульсов показаны на рисунке ниже. Частота входного сигнала – 1 кГц. Выходные импульсные последовательности вывести на осциллограф Scope.

Сложные задачи для самостоятельной работы

1.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигналы в ответ на входящий. Параметры выходных импульсов показаны на рисунке ниже. Частота входного сигнала – 1 кГц. Выходные импульсные последовательности вывести на осциллограф Scope.

179

2.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигналы в ответ на входящий. Параметры выходных импульсов показаны на рисунке ниже. Частота входного сигнала – 1 кГц. Выходные импульсные последовательности вывести на осциллограф Scope.

3.На вход микроконтроллера поступает последовательность прямоугольных импульсов, создаваемая функциональным генератором из набора инструментов ELVISmx. Написать программу, с помощью которой микроконтроллер будет генерировать сигналы в ответ на входящий. Параметры выходных импульсов показаны на рисунке ниже. Частота входного сигнала – 1 кГц. Выходные импульсные последовательности вывести на осциллограф Scope.

180