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

Тут можно читать онлайн Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Издательский дом «ДМК-пресс», год 2007. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
  • Автор:
  • Жанр:
  • Издательство:
    Издательский дом «ДМК-пресс»
  • Год:
    2007
  • Город:
    Москва
  • ISBN:
    5-9706-0034-2
  • Рейтинг:
    4/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - описание и краткое содержание, автор Стивен Барретт, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

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

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - читать онлайн бесплатно полную версию (весь текст целиком)

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - читать книгу онлайн бесплатно, автор Стивен Барретт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

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

//авторы: Стив Барретт и Даниэль Пак

//дата создания: 10 марта 2003

//последняя редакция: 2 марта 2004

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

//включенные файлы

#include <912b32.h>

#include //Функции поддержки ЖКИ

#pragma interrupt_handler RTI_isr//Объявляет подпрограмму обработки

// прерывания по запросу (RTI)

//используемые подпрограммы

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

void RTI_isr(void); //программа обработки прерывания по RTI

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

void initialize_PA(void); // Инициализация модуля счетчика событий PA

void initialize_PWM(void); // Инициализация модуля ШИМ

//глобальные переменные

unsigned int old_count; // последнее содержимое PA

int RTI_int_count = 0; // Используется для подсчета числа

// прерывания RTI

unsigned char PWM_duty_cycle=172; // Начальный коэффициент заполнения ШИМ

unsigned int desired_motor_RPM = 1600; //эталон скорости двигателя

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

void main(void) {

asm(".area vectors(abs)\n" // команда встроенного ассемблерного кода

".org 0xFFF0\n" // Инициализировать вектор прерывания RTI

".word _RTI_isr\n"

".org 0xFFF8\n"

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

".text");

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

initialize_LCD(); // Инициализация ЖКИ

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

initialize_PA(); // Инициализация модуля PA

initialize_PWM(); //Инициализация модуля ШИМ

asm("cli"); // Разрешить все маскируемые прерывания

while(1) // Непрерывный цикл в ожидании прерывания

{

;

}

}

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

//initialize_ports: обеспечивает начальную конфигурацию портов

//ввода - вывода

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

void initialize_ports(void) {

DDRP = 0xFF; // Установить PORTP как выходной для ШИМ

DDRT = 0x00; //Установить PORTT как входной, а вывод PORTT[7]

// как вход аккумулятора PA

DDRB = 0xFF; //PORTB на вывод - двунаправленная

//магистраль данных для ЖКИ

DDRDLC = 0xFF; //порт PORT DLC на вывод - линии управления ЖКИ

}

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

//RTI_isr: Программа обработки прерывания по меткам реального времени

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

void RTI_isr(void) {

unsigned int new_count;

unsigned int pulse_count;

unsigned int current_RPM;

float max_count = 65535.0;

new_count = PACNT; // Получить текущее число импульсов в аккумуляторе

if (new_count > old_count) // Определить текущее число импульсов

pulse_count = new_count - old_count;

else pulse_count = (unsigned int)(max_count-(float)(old_count+new_count));

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

current_RPM = (unsigned int)(pulse_count/0.032768);

// Изменить число прерываний RTI в счетчике

RTI_int_count = RTI_int_count + 1;

if (RTI_int_count == 10) // Изменить на ЖКИ значение после 10 прерываний RTI

{

display_count_LCD(current_RPM); // Изменить показания ЖКИ

RTI_int_count=0; // Сбросить счетчик прерываний RTI

}

// Изменить значение скорости двигателя

if (current_RPM < desired_motor_RPM) PWM_duty_cycle = PWM_duty_cycle + 1; // Ускорить двигатель

else PWM_duty_cycle = PWM_duty_cycle - 1; // Замедлить двигатель

// Изменить скорость двигателя с помощью ШИМ

PWDTY0 = PWM_duty_cycle; //коэффициент заполнения

old_count = new_count;

RTIFLG = 0x80; //сбросить флаг прерывания RTI

}

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

// Initialize_RTI: конфигурирует регистры связанные с RTI

//- Регистр управления RTI (RTICTL):

// - разрешение RTI, флаг RTIE

// - установка периода RTI на 32.768 мс

// - сброс RTI, бит RTIF регистре Флагов RTI (RTIFLG)

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

void initialize_RTI(void) {

RTICTL = 0x86; // Установить период RTI 32.768 мс

RTIFLG = 0x80; // сброс RTI

}

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

// Initialize_RTI_PA: инициализация 68HC12 аккумулятора импульсов PA

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

void initialize_PA(void) {

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

TCTL1 = 0x00; // импульсов оптического кодера

OC7M = 0x00; // Включить бит разрешения таймера

TSCR = 0x80; // Установить разрешение для аккумулятора по фронту

//импульса,

PACTL = 0x50; // Режим счета событий

}

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

//initialize_PWM: генерировать сигнал ШИМ 976 Гц с */

// коэффициентом заполнения 67.2% */

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

void initialize_PWM(void) {

PWTST =0x00; /*установить ШИМ в режим нормальной работы */

PWCTL =0x00; /*установить выравнивание по левой границ */

PWCLK = 0x28; /*без конкатенации, разделить clk на 32 */

PWPOL = 0x01; /*состояние : высокое затем переход к низкому */

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

PWEN = 0x01; /*разрешение на ШИМ для канала 0 */

PWPER0= 0xFF; /* установить период равным 256 */

PWDTY0= PWM duty_cycle; /* установить коэффициент заполнения равным 172 */

}

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

7.4.6. Испытания

Установка для испытания системы стабилизации скорости вращения была показана на рис. 7.18. Это — очень сложная система, содержащая целый ряд компонентов и микроконтроллерную систему 68HC12. Чтобы гарантировать успешную работу системы, настоятельно рекомендуется применять обсужденный в главе 2 метод измерений. Собрав и запустив всю систему, можно включить двигатель на умеренную нагрузку, и убедиться, что система стабилизирует скорость вращения на уровне в 1600 об/мин.

7.5. Парящий робот

7.5.1. Описание проекта

Летающий робот, разработку которого мы собираемся обсудить — это парящий робот, который может зависать непосредственно над областью, представляющей интерес, пока не выполнит всю необходимую работу. За последние двадцать лет рядом исследователей в университетах и научно-исследовательских лабораториях были изучены и разработаны летающие роботы различных размеров и форм для ряда применений. Одни использовали при этом существующие образцы самолетов и вертолетов, другие изобретали механические системы с машущим крылом, третьи использовали дирижабли. Все эти усилия были предприняты из-за огромных выгод, которые сулят такие роботы в военных и промышленных применениях, включая исследование отдаленных планет, внутреннее и наружное наблюдение, распознавание и локализация целей при военных действиях.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Стивен Барретт читать все книги автора по порядку

Стивен Барретт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С, автор: Стивен Барретт. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x