Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

  " .word 0x8000, 0x8000, 0x8000, 0x8000\n"

  " .text");

 initialize_RTI(); //инициализация модуля RTI

 initialize_ports(); //инициализация портов

 PORTP = 0x01; // разрешение PORTP вывод 0

 asm("cli"); //разрешение всех маскируемых прерываний

 .

 .

 .

}

//********************************************************************

// определения функций

// ********************************************************************

//Initialize_ports: начальная конфигурация

//для портов входа/выхода

// ********************************************************************

void initialize_ports(void) {

 DDRP=0xFF; //порт PORTP устанавливается как выходной

}

// ********************************************************************

//RTI_isr: подпрограмма обслуживания прерываний по RTI

//*********************************************************************

void RTI_isr(void) {

 RTIFLG = 0x80; //сбрасывается флаг RTIF

 PORTP =~(PORTP); //переключить выходы PORTP

}

// ********************************************************************

// ********************************************************************

//initialize_RTI:конфигурирует модуль RTI

// ********************************************************************

void initialize_RTI(void) {

 RTICTL = 0x86; // устанавливается таймер RTI

 RTIFLG = 0x80; //сбрасывается флаг RTIF

}

// ********************************************************************

Аккумулятор импульсов. Число импульсов, поступающих от оптического кодера, подсчитывается аккумулятором импульсов (PA). Он инициализируется в начале программы и затем фиксирует текущее число импульсов за интервал каждого прерывания RTI. По известному интервалу времени между прерываниями RTI (32.768 мс) можно определить число импульсов, поступивших на PA между двумя прерываниями, и затем вывести на дисплей скорость вращения двигателя. Для конфигурации PA системы существует специальный код.

// **********************************************************************

//initialize_PA: инициализация модуля аккумулятора импульсов МК 68HC12

// **********************************************************************

void initialize_PA(void) {

 TIOS = 0x00; //Конфигурировать канал 7 для работы счетчика импульсов

 TCTL1 = 0x00; //кодера - 3 оператора

 OC7M = 0x00;

 TSCR = 0x80; //Установить бит разрешения таймера

 PACTL = 0x70; //Разрешить работу PA, режим счета событий, событие

               // по фронту импульса,

}

Объединим теперь эту программу с программой для RTI, чтобы подсчитать число импульсов кодера, появившихся за интервал прерывания. Получив, этот результат, преобразуем его в число об/мин и выведем полученное значение на ЖК индикатор.

// **********************************************************************

//имя файла: motor.с

//автор: Steve Barrett and Daniel Pack

//дата создания: Mar 10, 2003

//последняя редакция: Mar 25, 2004

// **********************************************************************

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных