В режиме холостого хода (Idle) останавливается ЦПУ, но ОЗУ, таймеры-счетчики, последовательный порт и система прерываний продолжают функционировать. В экономичном режиме (Power-down) сохраняется информация в ОЗУ, но остановлен генератор, выключены все остальные функциональные блоки до внешнего запроса на прерывание или аппаратного сброса.
Отличительные особенности микроконтроллерa AT89S51:
- cовместимость с серией MCS-51;
- 4 кБ флэш-памяти с внутрисхемным программированием (ISP) Износостойкость: 1000 циклов записи/стирания;
- рабочий диапазон питания 4.0…5.5В;
- полностью статическое функционирование: 0 …33 МГц;
- три уровня защиты памяти программ;
- внутреннее ОЗУ размером 128 x 8;
- 32 программируемые линии ввода-вывода;
- два 16-разрядных таймера-счетчика;
- шесть источников прерываний;
- полнодуплексный канал последовательной связи на УАПП;
- режимы снижения потребления: холостой ход и экономичный;
- восстановление прерываний при выходе из экономичного режима;
- сторожевой таймер;
- двойной указатель данных;
- флаг выключения питания;
- быстрое время программирования;
- гибкое внутрисхемное программирование (побайтный или постраничный режимы)
Структурная схема микроконтроллера представлена на рисунке 8.
Рисунок 8 - Внешний вид и расположение выводов AT89S51
Назначение основных выводов микросхемы:
VCC - напряжение питания;
GND - земля;
VDD - напряжение питания, подводимое только к ядру и встроенной памяти программ;
P0,P1,P2,P3 - двунаправленные порты ввода-вывода;
EA - доступ к внешней памяти;
RxD - выход приёмника UART;
TxD - выход передатчика UART;
PSEN - переключатель разрешения внешней памяти;
ALE - разрешение защёлкивания старшей части адреса при доступе к внешней памяти
XTAL1, XTAL2 - выводы для подсоединения внешнего кварцевого резонатора;
RESET - вход сброса
Рисунок 9 - структурная схема микроконтроллера AT89S51
Таблица 10
Варианты исполнения микроконтроллера
|
Частота, МГц |
Напряжение питания, В |
Код для заказа |
Корпус |
Температурный диапазон |
|
|
24 |
4.0…5.5 |
AT89S51-24AC |
44A |
Коммерческий (0…+70°С) |
|
|
AT89S51-24JC |
44J |
||||
|
AT89S51-24PC |
40P6 |
||||
|
24 |
4.5…5.5 |
AT89S51-24AI |
44A |
Коммерческий (-40…+85°С) |
|
|
AT89S51-24JI |
44J |
||||
|
AT89S51-24PI |
40P6 |
||||
|
33 |
4.5…5.5 |
AT89S51-33AC |
44A |
Коммерческий (0…+70°С) |
|
|
AT89S51-33JC |
44J |
||||
|
AT89S51-33PC |
40P6 |
Для выполнения поставленной задачи, как было сказано выше, нам нужен микроконтроллер, рассчитанный на коммерческий диапазон температур (-40…+85°С). Тип корпуса в данном случае роли не играет, так как в корпусе кодового замка входной двери дома достаточно места для расположения любого из них.
2.6 Выбор стабилизатора напряжения
Для питания микроконтроллера элементов необходим стабилизированный источник питания напряжением +5В. В качестве стабилизатора лучше всего использовать микросхему КР142ЕН5. Она обеспечивает достаточную стабильность выходного напряжения и осуществляет фильтрацию помех, амплитуда которых может достигать 1В. При установке ее на дополнительный радиатор максимальный ток нагрузки составляет около 2А. Помимо этого микросхема имеет защиту от короткого замыкания.
Серия КР142ЕН5 - трехвыводные стабилизаторы с фиксированным выходным напряжением в диапазоне от 5В до 27 В, могут найти применение в широком спектре радиоэлектронных устройств. Диапазон напряжений, перекрываемых данной серией стабилизаторов, позволяет использовать их в качестве источников питания, логических систем, измерительной техники, устройств высококачественного воспроизведения и других радиоэлектронных устройств. Несмотря на то, что основное назначение этих приборов - источники фиксированного напряжения, они могут быть использованы и как источники с регулированием напряжения и тока путем добавления в схемы их применения внешних компонентов. Внешние компоненты могут быть использованы для ускорения переходных процессов. Входной конденсатор необходим только в том случае, если регулятор находится на расстоянии более 5 см от фильтрующего конденсатора источника питания. Внешний вид и типовая схема включения приведены на рисунках 10, 11 соответственно. Технические характеристики представлены в таблице 11.
Основные особенности:
Встроенная защита от перегрева;
Встроенный ограничитель тока КЗ;
Коррекция зоны безопасной работы выходного транзистора;
Диапазон температур хранения -55... +150С;
Рабочий диапазон температур кристалла -45... +125С.
Рисунок 10 - Внешний вид и расположение выводов стабилизатора КР142ЕН5А
Назначение выводов стабилизатора КР142ЕН5А:
1 - вход;
2 - общий;
3 - выход
Рисунок 11 - Типовая схема включения стабилизатора
Таблица 11
Электрические характеристики стабилизатора КР142ЕН5А
|
Наименование |
Обозначение |
Условия измерения |
Мин. |
Тип. |
Макс. |
Ед. изм. |
||
|
Выходное напряжение |
Vout |
Tj = 25°C |
4.9 |
5.0 |
5.1 |
B |
||
|
7B<vin<20b< p = ""></vin<20b<> 5mA<iout<1.0a< p = ""></iout<1.0a<> Pt<15Вт |
4.75 |
- |
5.25 |
B |
||||
|
Нестабильность по входному напряжению |
Vo line |
Tj = 25°C |
7B<vin<25b< p = ""></vin<25b<> |
- |
3 |
100 |
mB |
|
|
8B<vin<12b< p = ""></vin<12b<> |
- |
1 |
50 |
mB |
||||
|
Нестабильность по току нагрузки |
Vo load |
Tj = 25°C |
5mA<iout<1.5a< p = ""></iout<1.5a<> |
- |
15 |
100 |
mB |
|
|
250mA<Iout<750mA |
- |
5 |
50 |
mB |
||||
|
Ток покоя |
Iq |
Tj = 25°C,Iout = 0 |
- |
4.2 |
8.0 |
mA |
||
|
Нестабильность тока покоя |
Iq |
7B<vin<25b< p = ""></vin<25b<> |
- |
- |
1.3 |
mA |
||
|
5mA<iout<1.0a< p = ""></iout<1.0a<> |
- |
- |
0.5 |
mA |
||||
|
Выходное напряжение шума |
Vn |
Ta = 25°C, 10Гц<f<100кГц< p = ""></f<100кГц<> |
- |
40 |
- |
mkB |
||
|
Коэффициент подавления пульсации |
Rrej |
f = 120Гц |
62 |
78 |
- |
дБ |
||
|
Падение напряжения |
Vdrop |
Iout = 1.0A, Tj = 25°C |
- |
2.0 |
- |
B |
||
|
Выходное сопротивление |
Rout |
f = 1 кГц |
- |
17 |
- |
мОм |
||
|
Ток КЗ |
Ios |
Tj = 25°C |
- |
750 |
- |
mA |
||
|
Максимальный выходной ток |
Io peak |
Tj = 25°C |
- |
2.2 |
- |
A |
||
|
Температурная нестабильность выходного напряжения |
Vout Tj |
Iout = 5mA, 0°C<tj<125°c< p = ""></tj<125°c<> |
- |
1.1 |
- |
мВ/°C |
электронный кодовый замок сигнализация
Глава 3. Разработка принципиальной схемы электронного кодового замка
В данном устройстве используется динамический опрос клавиатуры, так как выбранная двенадцатикнопочная клавиатура имеет всего семь выводов и подключить каждую кнопку к отдельному выводу порта микроконтроллера не представляется возможным, хотя микроконтроллер и имеет достаточное количество свободных портов. Кроме того, такой способ включения упрощает схему и уменьшает число портов, занятых клавиатурой (рисунок 12).
Рисунок 12 - Схема сопряжения МК и клавиатуры
Для работы с клавиатурой используются 7 выводов порта P0. Все четыре ряда кнопок опрашиваются по очереди. Для опроса первого ряда на выводах P0.1-P0.3 программно устанавливаются единицы, а на выводе P0.0 - ноль. Теперь если нажать любую кнопку первого ряда, вывод P0.0 замкнётся с выводом P0.4, P0.5 или P0.6, и на нём установится ноль. Если ни одна кнопка не нажата, на выводах P0.4, P0.5 и P0.6 будет единица за счёт подтягивающих резисторов R6-R8, которые создают на выводах высокий потенциал. Резисторы возьмём равными 4,7КОм. Аналогично опрашиваются оставшиеся три ряда кнопок на клавиатуре. При нажатии на кнопку имеет место явление дребезга контактов, однако эту проблему можно решить программно. Для этого при нажатии кнопки вводится задержка, по длительности равная переходному процессу в цепи, что позволяет избежать ложных срабатываний кнопок. Величина задержки подбирается экспериментально для каждого типа оборудования. Для примера будем использовать задержку длительностью 5 мс. У такого способа есть недостаток - он замедляет работу программы, однако в данном случае это не имеет значения, так как для выполнения поставленной задачи не требуется большое быстродействие. За те 5 мс, которые программа ждёт, пользователь просто не успеет нажать на другую кнопку.
Для коммутации цепи питания привода электромеханического замка используются NPN-транзистор Q1 и оптопара OC1 (рисунок 13). Таким образом обеспечивается замыкание цепи с большими токами и напряжениями и гальваническая развязка цепей микроконтроллера и привода замка. Здесь используется широко распространённый транзистор отечественного производства КТ815А, характеристики которого (таблица 12) удовлетворяют требуемым (напряжение 12В и ток 0,5А) с некоторым запасом.
Таблица 12
Параметры транзисторов серии КТ815
|
Наимен. |
тип |
Uкб,В |
Uкэ, В |
Iкmax(и), мА |
Pкmax(т), Вт |
h21э |
Iкбо, мкА |
fгр., МГц |
Uкэн, В |
|
|
КТ815А |
n-p-n |
40 |
30 |
1500(3000) |
1(10) |
40-275 |
50 |
3 |
<0.6 |
|
|
КТ815Б |
50 |
45 |
1500(3000) |
1(10) |
40-275 |
50 |
3 |
<0.6 |
||
|
КТ815В |
70 |
65 |
1500(3000) |
1(10) |
40-275 |
50 |
3 |
<0.6 |
||
|
КТ815Г |
100 |
85 |
1500(3000) |
1(10) |
30-275 |
50 |
3 |
<0.6 |
Оптопара подключается к порту P0.0 микроконтроллера через резистор R2, ограничивающий ток. Входное напряжение оптопары 1,3В при токе 25 мА, значит, падение напряжения на резисторе должно быть (5-1,3)В = 3,7 В. Тогда номинал сопротивления будет 3,7В/0,025А = 148 Ом. Ближайшее значение ряда номинальных сопротивлений 150 Ом. Выходной каскад оптопары открывается низким уровнем на выводе микросхемы и закрывается высоким. Когда он открыт, напряжение подаётся на базу транзистора Q1 и он открывается, замыкая цепь привода замка. Рассчитаем сопротивление резистора R3. Для этого воспользуемся законом Ома [7]. Через цепь коллектор-эмиттер протекает ток 0,5А. Коэффициент передачи транзистора по току равен 40, значит, ток база-эмиттер будет равен 0,5А/40 = 0,0125А. На базу подаётся 5В, а на базовом переходе транзистора падает 1,2В, поэтому сопротивление резистора будет равно (5-1,2)В/0,0125А = 304 Ом. Возьмём резистор на 300Ом. Для того чтобы транзистор самопроизвольно не открываться обратным током коллектора, ставится шунтирующий резистор R10. Пусть через него протекает ток, в три раза меньший, чем ток базы транзистора. Падение напряжения на базовом переходе 1,2В. Тогда сопротивление R10 будет равно 1,2В/(0,0125А/3) = 288 Ом. Используем резистор 270 Ом. Так как привод замка основан на индуктивности, то по закону электромагнитной индукции при коммутации в ней возникают обратные токи. Диод D2 шунтирует индуктивность в обратном направлении и препятствует появлению обратных токов в цепи. По своим характеристикам нам подходит диод КД208А. Его максимальное обратное напряжение 100 В, прямой ток 1 А.
Рисунок 13 - Схема сопряжения микроконтроллера и исполнительного элемента электромеханического замка
3.1 Сопряжение микроконтроллера и устройства сигнализации открытия двери
Зелёный светодиод D3 подключается к порту P2.2 микроконтроллера через ограничивающий резистор R4 (рисунок 14). Диод включается высоким уровнем сигнала на выводе. Максимальное прямое напряжение на диоде 2,8В при токе 10мА. Как раз такой ток способен обеспечить один вывод порта этого микроконтроллера. Сопротивление резистора будет равно (5-2,8)В/0,01 = 220 Ом
Рисунок 14 - Схема сопряжения МК и светодиода
3.2 Сопряжение микроконтроллера и устройства звуковой сигнализации
Рисунок 15 - Схема сопряжения микроконтроллера и динамика
Пьезоэлектрический излучатель звука LS1 подключается к выводу P2.1 микроконтроллера через резистор R5, ограничивающий ток, и включается при появлении сигнала высокого уровня на выводе микросхемы. Напряжение питания динамика 1,5-24В, возьмём 3В. Максимальный ток 3,8мА. Сопротивление резистора будет равно (5-3)В/0,0038А = 526,32Ом. Используем резистор 530 Ом.
3.3 Сопряжение микроконтроллера и датчика открытия двери
Датчик подключается к выводу порта P0.7 через резистор R9, который подтягивает напряжение на выводе до единицы, когда контакты датчика разомкнуты (рисунок 16). При замыкании контактов напряжение +5В замыкается на землю, и на выводе порта появляется ноль. Длина провода от резистора к датчику много больше длины провода к микроконтроллеру, поэтому подтягивающий резистор R9 возьмём номиналом 1КОм, а для борьбы с помехами используем конденсатор С6 на 100пФ.
Рисунок 16 - Схема сопряжения микроконтроллера и датчика открытия двери
3.4 Подключение микроконтроллера к цепям, обеспечивающим его работу
Рисунок 17 - Схема подключения микроконтроллера
Подключение микроконтроллера к цепям питания, сброса, внешнему кварцевому резонатору и выводу блокировки работы с внутренней памятью (рисунок 17) является стандартным, рекомендованным производителем.
3.5 Разработка алгоритма работы системы и программного обеспечения
Алгоритм функционирования программы кодового замка включает в себя следующие основные блоки:
- включение;
- ввод кода;
- проверка введённого кода;
- контроль количества попыток ввода кода;
- открытие замка;
- закрытие замка;
- световая индикация;
- звуковой сигнал.
На рисунке 4.1 представлена блок-схема алгоритма работы программы.
Рассмотрим алгоритм функционирования программы более подробно.
- Включение устройства
При подаче питания производится инициализация переменных: для хранения адреса ячейки памяти с текущей введённой цифрой кода используется регистр r0, для количества попыток ввода - память данных по адресу 38h. Затем выключаются светодиод и динамик установкой в 0 соответствующих битов порта p2. Настраивается таймер t0, который будет далее использоваться для формирования программной задержки. Режим - 16-битный таймер. Далее задаётся адрес для первой цифры кода и количество попыток ввода.
- Ввод кода
Ввод кода производится посредством опроса клавиатуры и регистрации нажатий клавиш. Клавиатура опрашивается в бесконечном цикле. При обнаружении нажатия кнопки во избежание регистрации нескольких нажатий из-за явления дребезга контактов вызывается подпрограмма формирования временной задержки длительностью 5 мс (delay2). После отпускания кнопки происходит запоминание введённого значения и возврат в цикл опроса клавиатуры, если ещё не все цифры введены.