Чтение онлайн

на главную - закладки

Жанры

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

Пак Дэниэл Дж.

Шрифт:

а) Функциональная схема

Входы Состояние двигателя
0 0 Обмотка не подключена, возможно свободное вращение
0 1 Вращение против часовой стрелки
1 0 Вращение
по часовой стрелке
1 1 Запрещенное состояние

б) Таблица состояний

Рис. 5.21. Функциональная схема однофазного мостового инвертора в составе специализированной ИС SN754410NE

5.8. Кодовый замок

В этом заключительном примере мы объединили ранее полученные знания по аппаратному подключению и программному обслуживанию различных устройств ввода и вывода информации. В каждом параграфе данной главы мы рассмотрели какой-то отдельный тип устройства ввода/вывода. И для каждого устройства привели фрагмент программного кода, который необходим для его обслуживания. Эти фрагменты могут быть использованы Вами в реальных разработках. На примере электронного кодового замка мы покажем Вам, как воспользоваться полученными ранее знаниями.

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

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

5.8.1. Схема подключения периферийных устройств

Электрическая схема подключения клавиатуры на 16 клавиш и символьного ЖК индикатора к выводам портов МК семейства 68HC12 приведена на рис. 5.22. Линии порта PORT B обслуживают матричную клавиатуру. В соответствии с электрической схемой линии PORTB[0]…PORTB[3] должны работать в режиме вывода, а линии PORTB[4]…PORTB[7] — в режиме ввода. Восьмиразрядная шина данных интерфейса индикатора подключена к выводам порта PORT P. Так же, как и в примере параграфа 5.6.2, мы будем производить только операции записи в контроллер управления индикатором. Поэтому порт PORT P будет постоянно работать в режиме вывода. Линии управления индикатором подключены к выводам PORTDLC2: PORTDLC3.

Рис. 5.22. Функциональная схема аппаратных средств для системы кодового замка

Можно убедиться, что рассмотренные ранее по отдельности схемы подключения клавиатуры и ЖК индикатора полностью повторены, вплоть до конкретных выводов портов. Поэтому мы сможем воспользоваться ранее приведенными программами управления без каких-либо изменений.

5.8.2. Программа

управления

На рис. 5.23 представлена блок-схема алгоритма управления кодовым замком. Ниже приведен полный текст программного кода программы управления, составленный по этой блок-схеме алгоритма.

Рис. 5.23. Блок-схема алгоритма управления кодовым замком

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

/* filename: lock.c программа управления электронной системой доступа */

/* Число символов кода доступа равно 4. Правильная кодовая комбинация:C963*/

/* Аппаратная конфигурация: */

/* PORTB 8 линий интерфейса клавиатуры */

/*PORTP 8 линий шины данных интерфейса ЖК индикатора */

/*PORTDLC2 RD/WR, PORTDLC3 E. */

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

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

#include <912b32.h>

#include <stdio.h>

#include <math.h>

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

char which_key(unsigned int keypress); //определение, какая клавиша

//нажата

void delay_100us(void); //задержка 100 мкс

void delay_5ms(void); //задержка 5 мс

void initialize_lcd(void); //инициализация контроллера ЖК

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

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

//клавиатуры

void putchars(unsigned char с); //запись одного символа в индикатор

void putcommands(unsigned char d); //запись одной команды в индикатор

void lcd_print(char *string); //запись в индикатор строки символов

char keypad(unsigned int keypress, int row);

void main(void) {

 int first = 0х01; //инициализация служебных переменных для опроса

 int second = 0х02; //клавиатуры

 int third = 0х04;

 int fourth = 0х08;

 int i,j,k, count = 0;

 unsigned int keypress;

 char key;

 int length=4;

 char pin[] = {'С', '9', '6', '3'}; //задание эталонной последовательности

//символов

Поделиться:
Популярные книги

Идеальный мир для Лекаря 8

Сапфир Олег
8. Лекарь
Фантастика:
юмористическое фэнтези
аниме
7.00
рейтинг книги
Идеальный мир для Лекаря 8

Последняя Арена 6

Греков Сергей
6. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 6

По воле короля

Леви Кира
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
По воле короля

Душелов. Том 4

Faded Emory
4. Внутренние демоны
Фантастика:
юмористическая фантастика
ранобэ
фэнтези
фантастика: прочее
хентай
эпическая фантастика
5.00
рейтинг книги
Душелов. Том 4

Темный Лекарь 2

Токсик Саша
2. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 2

Эволюция мага

Лисина Александра
2. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эволюция мага

(Не) моя ДНК

Рымарь Диана
6. Сапфировые истории
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
(Не) моя ДНК

Протокол "Наследник"

Лисина Александра
1. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Протокол Наследник

Измена. Наследник для дракона

Солт Елена
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Измена. Наследник для дракона

Неудержимый. Книга II

Боярский Андрей
2. Неудержимый
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Неудержимый. Книга II

Камень. Книга 4

Минин Станислав
4. Камень
Фантастика:
боевая фантастика
7.77
рейтинг книги
Камень. Книга 4

Измена. Право на сына

Арская Арина
4. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Право на сына

Инквизитор Тьмы 4

Шмаков Алексей Семенович
4. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Инквизитор Тьмы 4

Кротовский, сколько можно?

Парсиев Дмитрий
5. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, сколько можно?