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

Здесь есть возможность читать онлайн «Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2007, ISBN: 2007, Издательство: Издательский дом «ДМК-пресс», Жанр: Компьютерное железо, Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

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

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Программа опроса клавиатуры последовательно анализирует состояние клавиш каждого ряда, последовательно выставляя логический 0 на выводы PORTx[0]…PORTx[3]. На рис. 5.5 приведена таблица, в которой показаны коды, которые будут на линиях порта при нажатии каждой из клавиш. Эти коды должны быть использованы программой опроса для приведения кода нажатой клавиши к одному из стандартных представлений, например к коду ACSII.

Рассмотренная нами клавиатура может иметь иные символы на кнопках, в соответствие с функциональным назначением кнопки в устройстве. Например, подобная клавиатура используется для управления насосом бензоколонки. Тогда клавиши могут задавать тип отпускаемого бензина, форму приема платежа и т.д. Микроконтроллер должен распознать, какая клавиша нажата, и перейти к соответствующей подпрограмме.

Рис 56Блоксхема алгоритма опроса матричной клавиатуры На рис 56 приведена - фото 208

Рис. 5.6.Блок-схема алгоритма опроса матричной клавиатуры

На рис. 5.6 приведена блок-схема алгоритма опроса матричной клавиатуры из 16 клавиш. Этот алгоритм состоит из четырех одинаковых блоков, в которых сначала устанавливается в 0 одна из линий PORTx[0]…PORTx[3], а затем контролируется состояние линий PORTx[4]…PORTx[7]. Если на входах линий PORTx[4]…PORTx[7] логические 1, то ни одна кнопка активизированного ряда не нажата, и следует перейти к опросу следующего ряда. Если на какой-либо из линий PORTx[4]…PORTx[7] обнаружен потенциал логического 0, то по номеру линии и по номеру активизированного ряда программа должна восстановить код нажатой клавиши. Для этого удобно использовать таблицу рис. 5.5. Мы привели лишь общую структуру алгоритма. Детальное ее рассмотрение последует после примера программного кода, и описания ЖК дисплея.

/*-----------------------------------------------------------*/

/* filename: keypad.c */

/* МAIN PROGRAМ: Эта программа производит анализ */

/*состояния матричной клавиатуры из 16 клавиш */

/*Для подключения клавиатуры использован PORTB */

/*Разряды PORTB[0]…PORTB[3] активизируют линии рядов */

/*разряды PORTB[4]…PORTB[7]используются для считывания кодов */

/*колонок */

/*-----------------------------------------------------------*/

/*подключаемые файлы*/

#include <912b32.h>

#include

#include

/*используемые функции*/

char keypad(unsigned char keypress, unsigned char row);

char which_key(unsigned char keypress); /*Function to select key*/

void main{void) {

unsigned char keypress;

/*задание кодов активизации рядов клавиатуры*/

unsigned char first = 0xFE; /*код активизации первого ряда*/

unsigned char second = 0xFD; /*код активизации второго ряда*/

unsigned char third = 0xFB; /*код активизации третьего ряда*/

unsigned char fourth = 0xF7; /*код активизации четвертого ряда*/

DDRB = 0x0f; /*линии 0…3 на вывод, линии 4…7 на ввод*/

while(1) {

PORTB = 0xFE;

keypress = PORTB;

key = keypad(keypress, first);

PORTB = 0xFD;

keypress = PORTB;

key = keypad(keypress, second);

PORTB = 0xFB;

keypress = PORTB;

key = keypad(keypress, third);

PORTB = 0xF7;

keypress = PORTB;

key = keypad(keypress, fourth);

}

}

/*------------------------------------------------------------------------*/

/*Функция keypad определяет, была ли нажата какая-либо клавиша. */

/*Функция сравнивает прочитанное значение порта PORTB с тем значением, */

/*которое было выдано на порт PORTB. Если они равны, то ни одна клавиша в */

/*ряду не нажата */

/*------------------------------------------------------------------------*/

char keypad(unsigned char keypress, unsigned char row) {

char key1;

if (keypress != row) { /*какая-то клавиша нажата*/

key1 = which_key(keypress); /*определить клавишу*/

putchars(key1); /*передать символ на дисплей*/

} else if(keypress == row) { /*ни одна из клавиш не нажата*/

key1 = 'Z';

}

return (key1);

}

/*------------------------------------------------------------------------*/

/* Функция char which_key определяет код нажатой клавиши методом перебора */

/*табличных значений */

/*------------------------------------------------------------------------*/

char witch_key(unsigned char keypress) {

char key;

switch(keypress) /*распознавание кода клавиши*/

{

case 0xEE:

key = '0'; /*нажата клавиша "0"*/

break;

case 0xDE:

key = '1'; /*нажата клавиша "1"*/

break;

case 0xBE:

key = '2'; /*нажата клавиша "2"*/

break;

case 0x7E:

key = '3'; /*нажата клавиша "3"*/

break;

case 0xED:

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

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Ліза Фельдман Барретт - 7 1/2 уроків про мозок
Ліза Фельдман Барретт
Отзывы о книге «Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С»

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

x