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

Интервал:

Закладка:

Сделать

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

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

for (j=0; 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) {

case UP:

if ((row-1 >=0) && (array[row-1][col] == 0))

swap(row, col, row-1, col, array);

else display_error(UP);

break;

case DOWN:

if ((row+1 <= SIZE) && (array[row+1][col] == 0))

swap(row, col, row+1, col, array);

else display_error(DOWN);

break;

case LEFT:

if ((col-1 >=0) && (array[row][col-1] == 0))

swap(row, col, row, col-1, array);

else display_error(LEFT);

break;

case RIGHT:

if ((col+1 < = SIZE) && (array[row][col+1] == 0))

swap(row, col, row, col+1, array);

else display_error(RIGHT);

break;

}

}

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

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

//Swap: Эта функция заменяет два значения двухмерным массивом.

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

void swap(int row, int col, int new_row, int new_col, int array[SIZE][SIZE]) {

int temp;

temp = array[row][col];

array[row][col] = array[new_row][new_col];

array[new_row][new_col] = temp;

}

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

//Swap2: Эта функция заменяет два значения одномерным массивом.

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

void swap2(int from, int to, int array[ARRAY_MAX+1]) {

int temp = array[from];

array[from] = array[to];

array[to] - temp;

}

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

//ERROR: Эта функция выводит сообщения об ошибке

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

void display_error(int n) {

LCD_Output("ERROR: ");

switch(n) {

case LEFT:

LCD_output("no move L");

break;

case RIGHT:

LCD_output("no move R");

break;

case UP:

LCD_output("no move U");

break;

case DOWN:

LCD_output("no move D");

break;

}

pause();

}

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

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

//LCD_output: Эта функция выводит на дисплей строку

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

void LCD_output(char s[]) {

int n = 0;

while (s[n] != '\0') {

LCD_char(s[n]);

++n;

}

}

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

//Pause: Функция реализует ожидание, пока игрок не нажмет кнопку

// "Выбор"

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

void pause() {

unsigned char с = ZERO;

LCD_output("(Please press X)");

while (c != S_BUTTON) {

c = PORTS;

с = c & 0x7C;

}

Clearscreen();

Reset_cursor();

}

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

//Delay: Эта функция вводит задержку на n мкс, если входная

// величина равна n

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

void delay(int usec) {

int i,j;

for (i=0;i

for (j=0; j < 7; j++) {}

}

}

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

//Initialize_LCD: Функция инициализирует ЖКД

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

void initialize_LCD(void) {

char temp = 0x00;

PORTDLC = 0xFF;

PORTDLC = PORTDLC & 0xEF; // сброс экрана (RESET = 0)

delay(2000); // задержка в 2 мс

PORTDLC = 0x7F; // выключение сброса

write(); //включение записи

command(0x80);

//установка текстового режима

data(0x0); //проверка установки слова

data(0x10);

command(0x40);

data(0x10); // устанавливается размер области текста (1E)

data(0x00); // - 0x1000

command(0x41);

//включается дисплей текста, курсор, выключается мигание

command(0x94);

command(0xA7); //курсор 8×8 точек

}

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

//Enable: Функция разрешает работу ИС

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

void enable(void) {

PORTDLC = PORTDLC | 0x04; // Установить 1 на линии enable

PORTDLC = PORTDLC & 0xFB; // Установить 0 на линии enable

}

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

//Disable: Функция запрещает работу ИС

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

void disable(void) {

PORTDLC = PORTDLC | 0x04;

}

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

//Command: Функция посылает команду отключения на ЖКД

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

void command(unsigned char n) {

status_wait();

PORTP = n;

PORTDLC = 0xFF;

PORTDLC = PORTDLC & 0xFE; // сброс записи

enable(); // сброс флага CE

delay(10); // задержка не менее 80 нс

disable(); // включение флага CE

}

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

//Data: Функция пересылает данные на ЖКД

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

void data(unsigned char n) {

status_wait();

PORTP = n;

PORTDLC = 0xFF;

PORTDLC = PORTDLC & 0xF7; // перевести C/D на низкий уровень

PORTDLC = PORTDLC & 0xFE; // перевести WR на низкий уровень

PORTDLC = PORTDLC & 0xFB;

delay(10);

disable();

}

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

//Write: Функция конфигурирует порт P как выходной

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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