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

Интервал:

Закладка:

Сделать

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

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

// Файл: micro.с

// Функция программы: Устанавливает шесть IDS оценок членства и создает

// оценку опасности вторжения

// Авторы: Даниэль Пак, Барри Муллинз, Стив Барретт

// Дата создания: 17 июня 2004

// Установки: Program=0x1000, Data=0x3000, Stack=0x4000

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

#include

#include "hcs12dp256.h"

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

//функции поддержки

//====================================================================

// _HC12Setup: выключить сторожевой таймер COP

//====================================================================

void _HC12Setup(void) {

COPCTL = 0x00; // выключить сторожевой таймер COP

}

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

//delay: подпрограмма задержки

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

void delay(void) { //подпрограмма задержки

volatile unsigned n, m;

m = 10;

do {

n = 0;

do {

n--;

} while(n);

m--;

} while(m);

}

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

// status_wait: время ожидания подпрограмма установки связи с ЖКД

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

void status_wait(void) { //время ожидания подпрограмма установки связи с ЖК дисплеем

char temp = 0x00;

DDRA = 0x00;

PORTB = 0xF9;

while ((temp & 0x03) != 0x03) {

PORTB = 0xFF;

temp = PORTA;

PORTB = 0xF9;

}

PORTB = 0xFF;

DDRA = 0xFF;

}

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

// command: пересылка команд на ЖК дисплей

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

void command(unsigned char n) { // пересылка команд на ЖК дисплей

status_wait();

PORTA = n;

PORTB = 0xFF;

PORTB = PORTB & 0xFA;

PORTB = 0xFF;

}

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

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

//data: пересылка данных на ЖК дисплей

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

void data(unsigned char n) { // пересылка данных на ЖК дисплей

status_wait();

PORTA = n;

PORTB = PORTB & 0xF2;

PORTB = 0xFF;

}

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

// LCD_char: функция пересылки символа на ЖК дисплей

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

void LCD_char(unsigned char n) {

// функция пересылки символа на ЖК дисплей

data(n - 0x20);

command(0xC0);

}

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

// newline: пересылка новой строки на ЖК дисплей

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

void newline(void) {

// пересылка новой строки на ЖК дисплей

int i;

for (i=0; i<16; i++) LCD_char(' ');

}

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

// LCD_output: пересылка последовательности символов на ЖК дисплей

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

void LCD_output(char s[]) {

// пересылка последовательности символов на ЖК дисплей

int n = 0;

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

LCD_char(s[n]);

++n;

}

}

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

// Reset_cursor: возврат курсора

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

void Reset_cursor(void) { // возврат курсора

data(0x00);

data(0x10);

command(0x24);

}

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

//Clearscreen: очистка экрана ЖКД

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

void Clearscreen(void) { // очистка экрана ЖКД

int i,j;

Reset_cursor();

for (i=0; i<16; i++) for(j=0; j<16; j++) LCD_char(' ');

Reset_cursor();

}

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

// Initlcd: инициализация ЖКД

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

void Initlcd(void) { // инициализация ЖКД

PORTB = 0xEF; //принудительный сброс

delay();

PORTB = 0xFF; //все линии команд на высоком уровне

status_wait();

command(0x80); // установить режим текста

data(0x00); // установить младший байт адреса текста (L)

data(0x10); // установить младший байт адреса текста (H)

command(0x40); //установить адрес команды текста

data(0x10); //установить область текста

data(0x00);

command(0x41);

command(0x94); //включить текстовый дисплей

command(0xA7); //курсор 8×8 позиций

Clearscreen();

Reset_cursor();

}

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

// InitMes: начальное сообщение

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

void InitMes(void) { // начальное сообщение

unsigned char k;

for(k=0; k<3; k++) newline();

LCD_output(" Portable HTTP");

newline();

LCD_output(" TAD System.");

newline();

LCD_output(" version 1.0");

}

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

// numdisplay: отображение чисел на ЖК дисплее

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

void numdisplay(char s) { //отображение чисел на ЖК дисплее

char k;

newline();

k = s;

s = s>>4;

if (s > 0x08) data(s + 0x17);

else data(s + 0x10);

command(0xC0);

k = k & 0x0F;

if (k > 0x08) data(k + 0x17);

else data(k + 0x10);

command(0xC0);

}

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

// Секция данных - инициализация табличных данных

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

#pragma abs_address 0x3000

char BeP[12] = {0x00, 0x70, 0x00, 0x10,

0x40, 0xC0, 0x10, 0x10,

0x90, 0xFF, 0x10, 0x00};

char KeM[12] = {0x00, 0x70, 0x00, 0x10,

0x40, 0xC0, 0x10, 0x10,

0x90, 0xFF, 0x10, 0x00};

char OT[5] = {0x40, 0x60, 0x80, 0xA0, 0xC0};

char IMV[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

char OMV[5] = {0x00, 0x00, 0x00, 0x00, 0x00};

// правило

char rules[45] = {0x00,0x03,0xFE,0x06, 0xFE,

0x00, 0x04, 0xFE, 0x07, 0xFE,

0x00, 0x05, 0xFE, 0x08, 0xFE,

0x01, 0x03, 0xFE, 0x07, 0xFE,

0x01, 0x04, 0xFE, 0x08, 0xFE,

0x01, 0x05, 0xFE, 0x09, 0xFE,

0x02, 0x03, 0xFE, 0x08, 0xFE,

0x02, 0x04, 0xFE, 0x09, 0xFE,

0x02, 0x05, 0xFE, 0x0A, 0xFF};

char result[3] = (0x00, 0x00, 0x00};

#pragma end_abs_address

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

//Основная программа

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

void main(void) {

int index;

char temp = 0x00;

/* определение интерактивного туннелирования */

asm("LDX #$3000");

asm("LDY #$301D");

asm("LDAA $4000"); //оценка профиля поведения

asm("MEM");

asm("MEM");

asm("MEM"); //фаззификация

asm("LDAA $4001"); //оценка членства ключевых слов

asm("MEM");

asm("MEM");

asm("MEM"); //фаззификация

asm("LDY #$301D");

asm("LDX #$3028");

asm("LDAA #$FF"); //инициализация минимума и бита V

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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