Смекни!
smekni.com

Микроконтроллер системы управления (автосигнализация) (стр. 1 из 2)

Министерство общего и профессионального образования

Российской Федерации

УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра РЭИС

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе

МИКРОКОНТРОЛЛЕР СИСТЕМЫ УПРАВЛЕНИЯ

( АВТО СИГНАЛИЗАЦИЯ )

по курсу ЦУ и МП

200700 000000 008 ПЗ

Подпись

Ф.И.О.

Руководитель

_______________ Добряк В.А.

Студент

Сырников П.Г.

Екатеринбург 1999


ИСХОДНЫЕ ДАННЫЕ И ЗАДАНИЕ НА ПРОЕКТИРОВАНИЕ

Микроконтроллер системы управления.

Основные требования:

Контролируемые устройства – шесть двоичных датчиков.

Выходные устройства – одно исполнительное и два устройства сигнализации. Рекомендуемый микропроцессорный комплект – К1816.

В данной курсовой работе требуется разработать автосигнализацию.


СОДЕРЖАНИЕ

Исходные данные и задание на проектирование

Содержание

Введение

1. Разработка схемы устройства

2. Описание работы прикладной программы

3. Программа устройства на Ассемблере

Список используемых источников

Приложение 1. Функциональная схема устройства

Приложение 2. Блоксхема основной программы

Приложение 3. Блоксхемы подпрограмм

Приложение 4. Схема электрическая принципиальная


ВВЕДЕНИЕ

Цель работы состоит в развитии навыков проектирования специализированных цифровых радиоэлектронных устройств с применением микропроцессорных комплектов и цифровых микросхем среднего и малого уровней интеграции. Изучить архитектуру микроконтроллеров популярного семейства INTEL8051, а также структуру одного из клонов семейства – микроконтроллера КМ1816ВЕ51, его функциональные узлы и особенности их работы. Изучение основ языка Ассемблер.

За последние годы в микроэлектронике бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров, которые предназначены для “интеллектуализации” оборудования различного назначения. Однокристальные (однокорпусные) микроконтроллеры представляют собой приборы, конструктивно выполненные в виде БИС и включающие в себя все составные части “голой” микроЭВМ: микропроцессор, память программ и память данных, а также программируемые интерфейсные схемы для связи с внешней средой. Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС микроконтроллера), что микроконтроллерам, видимо, нет разумной альтернативной элементной базы для построения управляющих или регулирующих систем. К настоящему времени более двух третей мирового рынка микропроцессорных средств составляют именно однокристальные микроконтроллеры.


1. РАЗРАБОТКА СХЕМЫ УСТРОЙСТВА

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

Схема контроллера представлена в приложении 1 кроме МК51 потребуется RC-цепь для формирования сигнала сброса при включении питания и кварцевый резонатор 12 МГц. Так как для хранения прикладной программы используется РПП, то на вход отключения РПП(ЕА) подается уровень 1.

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

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

Рис.1. Подключение двоичного датчика


2. ОПИСАНИЕ РАБОТЫ ПРИКЛАДНОЙ ПРОГРАММЫ

В начальном состоянии контроллер оказывается после включения питания. Все исполнительные устройства и механизмы при этом выключены. В этом состоянии контроллер может находиться неопределенное время, пока не поступит сигнал от приемного устройства. После поступления сигнала от приемного устройства (уровень логической ”1”) контроллер устанавливается в состояние “охрана”: генерируется звуковой сигнал в течение одной секунды, сопровождающийся разовой вспышкой габаритов. Вслед за этим на соответствующий выход порта подается уровень логического “0” для закрытия замков дверей и контроллер начинает поочередно опрашивать все датчики.

Вначале опрашивается датчик, срабатывающий на легкий удар, если не было срабатывания то контроллер переходит на следующее условие: проверяются датчики дверей. Вслед за ними проверяются датчик капота и датчик багажника. Если не было срабатывания этих датчиков и на входовыходе подключенном к приемнику все еще уровень логической “1” то контроллер начинает опрос датчиков заново.

При подаче на вход контроллера подключенного к приемнику уровня логического “0” контроллер переходит в состояние ожидания (снимается с охраны) и сообщает об этом звуковым сигналом и вспышкой габаритов.

Если во время опроса датчиков произошло срабатывание датчика реагирующего на легкий удар, то контроллер переходит к опросу датчика срабатывающего на сильный удар. Если этот датчик не сработал то контроллер издает разовый сигнал тревоги и снова переходит к опросу датчика ”легкий удар”. Если же было срабатывание датчика реагирующего на сильный удар то контроллер издает сигнал тревоги, 10 звуковых и 10 световых сигналов и вновь опрашивает датчик “легкий удар”.

Точно так же при срабатывании датчиков дверей, капота и багажника контроллер генерирует десятикратный сигнал тревоги.

Программа контроллера позволяет, не выключая сигнализацию открыть багажник или капот. Эти возможности реализованы с помощью подпрограмм.

Первая подпрограмма позволяет открыть капот, не отключая всю сигнализацию. Для этого необходимо открыть капот и включить сигнализацию. Произойдет срабатывание датчика капота, контроллер издаст сигнал тревоги в течение одной секунды, за тем пауза одну секунду, за тем вновь сигнал тревоги и пауза - всего четыре секунды. В это время необходимо подать сигнал логического “0” на вход микроконтроллера подключенный к приемнику, если это было сделано, то контроллер переходит к обслуживанию подпрограммы.

В подпрограмме осуществляется опрос датчиков дверей и датчика багажника, а датчики удара и капота не опрашиваются. При срабатывании опрашиваемых датчиков производится десятикратное срабатывание сигнала тревоги.

Точно также можно открыть багажник, не отключая сигнализации.

Третья подпрограмма реализует сигнал тревоги. Используется таймер/счетчик Т/С0.

Объектные коды программы должны быть записаны в РПП, начиная с нулевой ячейки.

3. ПРОГРАММА УСТРОЙСТВА НА АССЕМБЛЕРЕ

;Определение символических имен бит портов 1 и 2

P bit P1.3 ;пульт

U bit P1.4 ;слабый удар

C bit P1.5 ;сильный удар

D bit P1.6 ;двери

E bit P1.7 ;капот

F bit P2.0 ;багажник

G bit P1.2 ;замки

H bit P1.1 ;габариты

I bit P2.0 ;клаксоны

ORG 0 ;начальный адрес программы

START: JB P,L0 ;перейти на метку L0 если бит равен 1

JMP START ;переход на начало программы

L0: CLR G ;сброс бита

L1: MOV R1,#0001h ;пересылка 1 в регистр R1

L2: CALL ALARM ;вызов подпрограммы сигнализации

L3: JB U,L6 ;перейти на метку L6 если бит равен 1

L4: JB C,L1 ;перейти на метку L1если бит равен 1

L5: MOV R1,#000Ah ;пересылка константы в регистр

JMP L2 ;перейти на метку L2

L6: JB D,L5 ;перейти на метку L5 если бит равен 1

JNB E,L7 ;прейти на метку L7 если бит равен 0

MOV R1,#0002h ;переслать константу в регистр R1

CALL ALARM ;вызов подпрограммы сигнализации

JB P,L8 ;перейти на метку L8 если бит равен 1

CPL P ;инвертировать бит Р

CALL BAGAJ ;вызов подпрограммы

L8: MOV R1,#0008h ;переслать константу в регистр R1

CALL ALARM ;вызов подпрограммы сигнализации

L7: JNB F,L9 ; прейти на метку L9 если бит равен 0

MOV R1,#0002h ;переслать константу в регистр R1

CALL ALARM ; вызов подпрограммы сигнализации

JB P,L10 ;перейти на метку L10 если бит равен 1

CPL P ;инвертировать бит Р

CALL KAPOT ;вызов подпрограммы

L10: MOV R1,#0008h ; переслать константу в регистр R1

CALL ALARM ;вызов подпрограммы сигнализации

L9: JB P,L3 ;перейти на метку L3 если бит равен 1

L13: CPL G ;инвертировать бит G

MOV R1,#0001h ; переслать константу в регистр R1

CALL ALARM ;вызов подпрограммы сигнализации

JMP START ;перейти на начало программы

;Подпрограммa 1. Организуется контроль датчиков дверей и багажника

BAGAJ: JNB D,L11 ;перейти на метку L11 если бит равен 0

L16: MOV R1,#000Ah ;переслать константу в регистр R1

CALL ALARM ;вызов подпрограммы сигнализации

L11: JNB F,L12 ;перейти на метку L12 если бит равен 0

JMP L16 ;перейти на метку L16

L12: JB P,BAGAJ ; перейти на метку BAGAJ если бит равен 1

JMP L13 ;перейти на метку L13

;Подпрограмма 2. Организуется контроль датчиков дверей и капота

KAPOT: JNB D,L14 ;перейти на метку L14 если бит равен 0

L17: MOV R1,#000Ah ;переслать константу в регистр R1

CALL ALARM ;вызов подпрограммы сигнализации

L14: JNB F,L15 ;перейти на метку L14 если бит равен 0

JMP L17 ;перейти на метку L17

L15: JB P,KAPOT ;перейти на метку KAPOT если бит равен 1

JMP L13 ;перейти на метку L13

;Подпрограмма сигнализации

ALARM: SETB H ;установка бита

SETB I ;установка бита

CALL ONESEC ;вызов подпрограммы ONESEC

CPL H ;инверсия бита

CPL I ;инверсия бита

CALL ONESEC ;вызов подпрограммы ONESEC

DJNZ R1,ALARM ;декремент регистра R1 и переход если не 0

RET ;возврат

;Подпрограмма задержки на одну секунду, используется подпрограмма DELAY

ONESEC: MOV R7,#20 ;пересылка константы в регистр R7

SEC: CALL DELAY ;вызов подпрограммы

DJNZ R7,SEC ;декремент регистра R7 и переход если не 0