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


Авторские права

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

Здесь можно скачать бесплатно "Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование, издательство Издательский дом «ДМК-пресс», год 2007. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Рейтинг:
Название:
Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Издательство:
Издательский дом «ДМК-пресс»
Год:
2007
ISBN:
5-9706-0034-2
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

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

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



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

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

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






 LCD_output("in the order ");

 LCD_output("seen below. The ");

 LCD_output("star shows the ");

 LCD_output("current piece ");

 LCD_output("selected. You ");

 LCD_output("can choose a ");

 LCD_output("different piece ");

 LCD_output(" by using the ");

 LCD_output(" arrow buttons ");

 newline();

 pause();

 LCD_output("and select the ");

 LCD_output("piece you want ");

 LCD_output("to move by ");

 LCD_output("pressing the X ");

 // кнопка "Выбор"

 LCD_output("button. Choose ");

 LCD_output("the direction to ");

 LCD_output("move that piece ");

 LCD_output("with the arrows. ");

 new_line();

 LCD_output("WINDING ");

 LCD_output("CONFIGURATION: ");

 newline();

}


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

// display_win: ВЫВОД СООБЩЕНИЯ О ПОБЕДЕ

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

void display_win() {

 LCD_output(" YOU WIN!!! ");

 LCD_output("CONGRATULATIONS ");

}


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

// get_move: ДВИЖЕНИЕ ФИШКИ: задается позиция фишки, выбранной игро-

// ком и направление ее движения

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

void get_move(int* direction, int *row, int *col, int* select) {

 int n = 0;

 int button = 0;

 unsigned char temp = ZERO;

 newline();

 LCD_output("Choose move or ");

 LCD_output("select piece: ");

 while (button == 0) {

  // цикл выполняется, пока нажата кнопка

  temp = PORTS;

  temp = temp & 0x7С

  switch (temp) //какая кнопка нажата?

  {

  case L_BUTTON:

   button = LEFT;

   break;

  case R_BUTTON:

   button = RIGHT;

   break;

  case U_BUTTON:

   button = UP;

   break;

  case D_BUTTON:

   button = DOWN;

   break;

  case S_BUTTON:

   button = SELECT;

   break;

  } // конец цикла switch

 }//конец цикла while

 n = 0;

 switch (button) //реакция на нажатие кнопки

 {

 case UP:

  if (*row > 1) *row -= 1;

  else display_error(UP);

  break;

 case DOWN:

  if (*row < SIZE) *row += 1;

  else display_error(DOWN);

  break;

 case LEFT:

  if (*col > 1) *col -= 1;

  else display_error(LEFT);

  break;

 case RIGHT:

  if (*col < SIZE) *col += 1

  else display_error(RIGHT);

  break;

 case SELECT:

  *select = 1;

  LCD_output("Pick a direction");

  *direction = 0;

  while (*direction == 0) {

   temp = PORTS;

   temp = temp & 0x7C;

   switch (temp) {

   case L_BUTTON:

    *direction = LEFT;

    break;

   case R_BUTTON:

    *direction = RIGHT;

    break;

   case U_BUTTON:

    *direction = UP;

    break;

   case D_BUTTON:

    *direction = DOWN;

    break;

   }

  }

  break;

 }

}


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

// randomize_board: ВЫБОР СЛУЧАЙНОГО ИСХОДНОГО СОСТОЯНИЯ ФИШЕК

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

void randomize_board(int board_array[]) {

 int temp = 0;

 int i;

 unsigned char temp2 = 0x00;

 for (i=0; i<ARRAY_MAX+1; i++) {

  temp2 = TCNTL;

  temp = mod(temp2,15); //случайное значение using the TCNT counter

  swap2(i,temp, board_array);

 }

}


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

// MOD: МАТЕМАТИЧЕСКАЯ ФУНКЦИЯ

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

unsigned char mod(unsigned char num, int modulus) {

 while ((num - modulus) > 0) num = num - modulus;

 return num;

}


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

// display_board2: Выводит табло, как одну колонку значений

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

void display_board2(int board_array[ARRAY_MAX+1]) {

 int = 0;

 int n;

 for (i=0; i<ARRAY_MAX+1; i++) {

  n = board_array[i];

  int2char(n);

 }

 LCD_output("\n");

}


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

// display_board: Выводит табло как массив 4×4

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

void display_board(int A[SIZE][SIZE], int row, int col, int direction) {

#pragma abs_address 0x0800

 int i;

 int j;

 int num;

#pragma end_abs_address

 newline();

 LCD_output("| Column ");

 LCD_output("| 1 2 3 4 ");

 LCD_output("-------------------");

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

  j=0;

  switch(i) {

  case 0:

   LCD_output("R 1 |");

   break;

  case 1:

   LCD_output("o 2 |");

   break;

  case 2:

   LCD_output("w 3 |");

   break;

  case 3:

   LCD_output(" 4 |");

   break;

  }

  for (j=0; j < SIZE; j++) {

   num = A[i][j];

   if (num == 0) LCD_output(" ");

   else int2char(num);

   if ((i+1 == row) && (j+1) == col))

    LCD_output("*");

   else LCD_output(" ");

  }

 }

 newline();

 LCD_output("You are at (R,C)");

 LCD_output(" (");

 int2char(row);

 LCD_output(",");

 int2char(col);

 LCD_output(") =");

 int2char(A[row-1];

 LCD_output(" ");

 newline();

}


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

// INT2CHAR: задается как integer и выводится на ЖКД в виде

// двух символов

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

void int2char(int i) {

 if (i > 9) {

  LCD_output("I");

  i -= 10;

 } else {

  LCD_output('; ");

 }

 switch(i) {

 case 0:

  LCD_output("0");

  break;

 case 1:

  LCD_output("1");

  break;

 case 2:

  LCD_output("2");

  break;

 case 3:

  LCD_output("3");

  break;

 case 4:

  LCD_output("4");

  break;

 case 5:

  LCD_output("5");

  break;

 case 6:

  LCD_output("6");

  break;

 case 7:

  LCD_output("7");

  break;

 case 8:

  LCD_output("8");

  break;

 case 9:

  LCD_output("9");

  break;

 }

}


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

//Check_Win: Эта функция проверяет соответствие текущего положения ситуации

// победы при победе win - 1, в остальных случаях - 0

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

int check_win(int array[ARRAY_MAX+1]) {

 int i;

 int win = 1;

 for (i=0; i<ARRAY_MAX+1; i++) {

  if (array[i] != win_array[i]) win = 0;

 }

 return win;

}


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

//Convert_multi_single: Эта функция преобразует двухмерный массив

//в одномерный

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

int convert_multi_single(int A[SIZE][SIZE], int В[ARRAY_MAX+1]) {

 int n = 0;

 int i = 0;

 int j = 0;

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

  for (j=0; j<SIZE; j++) {

   B[n] = A[i][j] ;

   n++;

  }

 }

}


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

//Convert_single_multi: Эта функция преобразует одномерный массив

//в двухмерный

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

void convert_single_multitint A[ARRAY_MAX+1], int В[SIZE][SIZE]) {

 B[0][0] = A[0];

 B[0][1] = A[1];

 B[0][2] = A[2];

 B[0][3] = A[3];

 B[1][0] = A[4];

 B[1][1] = A[5];

 B[1][2] = A[6];

 B[1][3] = A[7];

 B[2][0] = A[8];

 B[2][1] = A[9];

 B[2][2] = A[10];

 B[2][3] = A[11];

 B[3][0] = A[13];

 B[3][2] = A[14];

 B[3][3] = A[15];

}


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

// Try_move: Эта функция позволяет игроку определить некорректность

// своего хода. Если он корректен, то движение выполняется,

// если же некорректен, то выводится соответствующее сообщение

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

void try_move(int move, int row, int col, int array[SIZE][SIZE]) {

 switch(move) {


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

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

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


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

Все книги автора Стивен Барретт

Стивен Барретт - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

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

А что Вы думаете о книге? Оставьте Ваш отзыв.