Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 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 с применением языка С - читать книгу онлайн бесплатно, автор Стивен Барретт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
Рис 712К программе управления лазерным проектором блоксхема алгоритма - фото 266

Рис. 7.12.К программе управления лазерным проектором: блок-схема алгоритма (слева), структура программы (вверху справа), шестнадцатеричные значения к диаграмме ЦАП (внизу справа)

Система сначала инициализируется, устанавливая порты в необходимый режим (вход или выход) и закрывая лазерный затвор. Затем программа считывает информацию из порта PORTA, чтобы определить, нажат ли переключатель. Если он нажат, используется команда переключателя, позволяющая определить выбранное изображение. Код, необходимый для создания данного изображения обеспечивается выбором переключателя. Чтобы создать изображение, лазер сначала перемещается в требуемую исходную позицию для заданной траектории. Затем открывается лазерный затвор, и соответствующая траектория обеспечивается последовательностью положений лазерного луча в различные моменты времени. Мы приводим несколько примеров, и затем предлагаем вам самостоятельно, сформировать оставшиеся варианты в качестве домашней работы (задание 14).

7.2.6. Программный код

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

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

//функции: программа для управления лазерным проектором

//контроллер: отладочная плата 68HC12B32 фирмы Motorola

//Выводы отладочной платы микроконтроллера 68HC12B32 фирмы Motorola:

//Port A: Конфигурирован как входной порт, активируемый нажатием

// бездребезговых переключателей на каждом входе

//Port B: Конфигурирован как выходной порт для управления светодиодным

// индикатором

//Port S: Конфигурирован как выходной порт, создающий двоичный код

// на канале X ЦАП

//Port T: Конфигурирован как выходной порт, создающий двоичный код

// на канале Y ЦАП

//Port P[0]: Конфигурирован как выходной порт, создающий TTL совместимый

// сигнал для управления затвором

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

//создан: февраль 20, 2003

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

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

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

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

#include <912b32.h>

//функции прототипов

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

void shutter(int); //открытие/закрытие створок

void position_laser(unsigned char, unsigned char); // положение лазера

void delay(void);

#define open 1

#define close 0

//main program*************************************************************

//global variables

unsigned char new_PORTA, old_PORTA = 0xFF;

int i;

int go;

void main(void) {

//инициализировать вектор reset B32

asm(".area vectors(abs)\n"

".org 0xFFF8\n"

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

".text");

go = 1; //начало цикла while

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

shutter(close); //закрыть створки

position_laser(0x80,0x80); //расположить луч в центре

while(go) { //продолжать, пока не нажмут кнопку Stop

new_PORTA = PORTA; //read PORTA input switches

if (new_PORTA != old_PORTA) switch(new_PORTA){ //формировать образ по значению

//нажатой клавиши

case 0x7F: //PA7 - Точка в центре экрана

PORTB = 0x80;// подсвечивает светодиод порта PORTE

position_laser(0x80,0x80);

shutter(open);

delay();

shutter(close);

PORTB=0x00; //включает красные светодиоды индикатора

break;

case 0xBF: //PA6- горизонтальная линия

position_laser(0x00,0x80);

shutter(open);

for{i=0; i<=255; i++) {

i = (unsigned char)(i);

position_laser(i, 0x80);

delay();

}

shutter(close);

PORTB=0x00; //включает красные светодиоды индикатора

break;

case 0xDF: //PA5 - Вертикальная линия

PORTB = 0x20; // подсвечивает светодиод порта PORTB

position_laser(0x80,0x00);

shutter(open);

for(i=0; i<=255;i++) {

i=(unsigned char)(i);

position_laser(0x80,i);

delay();

}

shutter(close);

PORTB=0x00; //включает красные светодиоды индикатора

break;

case 0xFF: //PA4 - Правая пила под углом 45 градусов

// с Юго-Запада на СВ

PORTB = 0x10; // подсвечивает светодиод порта PORTB

position_laser(0x00,0x00);

shutter(open);

for(i=0; i<=255; i++) {

i = (unsigned char)(i);

position_laser(i, i);

delay();

}

shutter(close);

PORTB=0x00; //включает красные светодиоды индикатора

break;

case 0xF7: //PA3 - Левая пила под углом 45 градусов

//с ЮВ на СЗ

PORTB = 0x08; // подсвечивает светодиод порта PORTB

delay();

PORTB=0x00; // включает красные светодиоды индикатора

break;

case 0xFB: //PA2 Окружность

PORTB = 0x04; // подсвечивает светодиод порта PORTB

delay();

PORTB=0x00; //включает красные светодиоды индикатора

break;

case 0xFD: //PA1 Синусоида

PORTB = 0x02; // подсвечивает светодиод порта PORTB

delay();

PORTB=0x00; // включает красные светодиоды индикатора

break;

case 0xFE: //PA0 Остановка

PORTB = 0x01; // подсвечивает светодиод порта PORTB

position_laser(0x00,0x00);

shutter(close);

delay();

PORTB=0x00; // включает красные светодиоды индикатора

go = 0;

break;

case 0xFF:

break;

default:

; //все остальные случаи

}//конец switch(new_PORTA)

old_PORTA = new_PORTA;

}//конец if(new_PORTA ! = old_PORTA)

}//конец while(go)

}//конец main

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

// initialize_ports: производится конфигурация портов в качестве

//входных/выходных

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

void initialize_ports(void)

{

DDRA=0x00; //установить PORTA в качестве входного порта

DDRB=0xFF; //установить PORTB в качестве выходного порта

PORTB=0x00; //включить красные светодиоды индикатора

DDRS=0xFF; //установить PORTT в качестве выходного порта

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

}

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

/// /shutter(int action) : открытие и закрытие затвора

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

void shutter(int action) {

if (action == open) PORTP = 0x01;

if (action == close) PORTP = 0x00;

}

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

//position_laser(unsigned char x_pos, unsigned char y_pos): посылает

//сигнал управления для каналов X и Y гальванометра из портов PORTS

//и PORTT соответственно.

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

void position_laser(char x_pos,char y_pos) {

PORTS = x_pos;

PORTT = y_pos;

}

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

//delay(void): создает задержку

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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