Разработка микропроцессорной системы противодымной защиты

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 17.08.2013
Размер файла 304,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Курсовая работа

Тема: «Разработка микропроцессорной системы противодымной защиты»

Содержание

Введение

1. Формулировка системных требований к МПС

2. Системно-алгоритмическое проектирование

3. Разработка аппаратного обеспечения микропроцессорной системы

3.1 Разработка и описание структурной схемы

3.2 Разработка и описание функциональной схемы

3.3 Разработка и описание принципиальной схемы

4. Разработка программного обеспечения микропроцессорной системы

4.1 Выбор и обоснование выбора среды программирования

4.2 Разработка алгоритма программы

Заключение

Список использованных источников

Приложение А Структурная схема МПС

Приложение В Схема алгоритма программы

Приложение С Листинг программы

Введение

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

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

Пояснительная записка включает в себя 4 главы. Краткая характеристика глав курсового проекта представлена ниже.

Глава 1 - формулирование требований к микропроцессорной системе. В данной главе формулируются системные требования к разрабатываемой микропроцессорной системе, которые заключаются в определении набора требований пользователя и создании вытекающей из него спецификации.

Глава 2 - системно-алгоритмическое проектирование. В этой части пояснительной записки осуществляется распределение функций из функциональной спецификации между аппаратной и программной частями. Также в этой главе разрабатывается общая структура и алгоритмы функционирования устройства.

Глава 3 - проектирование аппаратных средств. Здесь осуществляется выбор микроконтроллера, на основе которого будет строиться устройство, разрабатывается структурная схема устройства приводится описание выбранной элементной базы. Затем происходит составление функциональной схемы устройства, на основе которой уже строится принципиальная электрическая схема устройства и перечень её элементов.

Глава 4 - проектирование программных средств. В данной главе составляется алгоритм выполнения программы, выбор используемого языка программирования, компиляция и трансляция программы.

1. Формулировка системных требований к МПС

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

Наша система должна контролировать возможные источники возникновения пожара, опрашивать датчики дыма. Каждый датчик должен опрашиваться по индивидуальной линии. Точно так же идивидуально должны поступать и команды на включение и отключение системы противопожарной защиты в помещении. Индикацию состояния датчиков и элементов системы мы будем осуществлять посредством светодиодов и LCD.

Таким образом, для контроля каждого помещения нам потребуется 4 линии:

- вход с датчика дыма;

- вход с датчиков температуры;

- включение клапанов дымоудаления;

- включение системы пожаротушения

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

При наличии задымления в помещении сразу же должны включаться все элементы системы защиты.

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

Функции устройства:

1 - Измерение температуры

2 - Управление клапанами дымоудаления

3 - Отображение на дисплее

4 - Оповещение

2. Системно-алгоритмическое проектирование

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

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

Преимущества программной реализации:

- широкие функциональные возможности реализации;

- легкая осуществимость перенастройки микропроцессорной системы на новые условия, задачи, объекты путем изменения только программного обеспечения.

Недостатки программной реализации:

- большее время выполнения функций, обусловленное последовательным методом выполнения программы;

- ограниченный объем памяти программ и данных;

- сложность программной реализации функций непосредственного сопряжения с реальными объектами;

- ограниченный объем памяти программ и данных.

Используя, представленные выше преимущества и недостатки, а также функциональную спецификацию, произведём разделение функций. Функции, выполняемые программной частью:

- логическая обработка входных данных;

- принятие решения о включении или выключении системы дымоудаления;

- выдача команд управления светодиодами;

- выдача команд вывода текстовых данных на LCD;'

- выдача команд управления динамиком;

- организация задержек между опросами датчиков. Функции, выполняемые аппаратной частью:

- мониторинг помещения датчиками дыма;

- непосредственное управление элементами противодымной защиты;

- отображение текстовых данных на LCD;

- управление динамиком.

Теперь нужно составить общую структуру и алгоритмы функционирования программной и аппаратной частей. Данная структура представлена на рисунке 2.1.

Функции, выполняемые аппаратной частью:

- опрос датчиков;

- преобразование входных и выходных сигналов в нужную форму;

- передача управляющих сигналов на элементы системы противодымной защиты;

- зажигание и гашение светодиодов;

- отображение текстовых данных на LCD;

- включение и выключение динамика.

3. Разработка аппаратного обеспечения микропроцессорной системы

3.1 Разработка и описание структурной схемы

микроконтроллер принципиальный программа

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

В качестве возможной базы для разработки системы противодымной защиты рассматривалось два семейства микроконтроллеров: ADuC812 от Analog Devices и 68НС08 от Motorola. Рассмотри каждый из них.

Процессор ADuC812 является клоном Intel 8051 со встроенной периферией. Перечислим основные особенности ADuC812.

- 32 линии ввода/вывода;

- 8-миканальный высокоточный 12-разрядный АЦП со скоростью выборки до 200 Кбит/с;

- контроллер ПДП для высокоскоростного обмена между АЦП и ОЗУ;

- два 12-разрядных ЦАП с выходом по напряжению;

- температурный датчик.

- 8 Кбайт внутренней перепрограммируемой flash-памяти под память программ;

- 640 байт внутренней перепрограммируемой flash-памяти под память данных;

- 256 байт внутренней ОЗУ;

-16 Мбайт внешнего адресного пространства под память данных;

- 64 Кбайт внешнего адресного пространства под память программ.

- частота 12 МГц (до 16 МГц);

- три 16-разрятных таймера/счетчика;

- девять источников прерываний, два уровня приоритетов.

- спецификация для работы с уровнем питания в ЗВ и 5В;

- нормальный, спящий, и выключенный режимы.

- 32 программируемые линии ввода/вывода, последовательный UART

- сторожевой таймер;

- управление электропитанием.

ADuC812BS, выполненный в корпусе PQFP52, показан на рисунке 3.1 (с указанием габаритных размеров).

Рисунок 3.1 - выполненный в корпусе PQFP52 ADuC812BS

Семейство 8-разрядных микроконтроллеров 68НС08/908 является дальнейшим развитием семейства 68НС05/705. Отметим основные преимущества семейства 68НС08/908 по сравнению с микроконтроллерами 68НС05/705.

1) Процессор CPU08 работает на более высокой тактовой частоте 8 МГц, реализует ряд дополнительных способов адресации и имеет расширенный набор выполняемых команд. В результате достигается повышение производительности до 6 раз по сравнению с микроконтроллерами 68НС05.

2) Применение FLASH-памяти обеспечивает возможность программирования микроконтроллеров подсемейства 68НС908 непосредственно в составе реализуемой системы с помощью персонального компьютера.

3) Модульная структура микроконтроллеров и наличие большой библиотеки интерфейсных и периферийных модулей с улучшенными характеристиками позволяет достаточно просто реализовать различные модели с расширенными функциональными возможностями.

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

5) Реализованы дополнительные возможности контроля функционирования микроконтроллеров, повышающие надежность работы систем, в которых они применяются.

Все микроконтроллеры семейства 68НС08/908 содержат процессорное ядро CPU08, внутреннюю память программ - масочно-программируемое ПЗУ емкостью до 32 Кбайт или FLASH-память емкостью до 60 Кбайт, ОЗУ данных емкостью от 128 байт до 2 Кбайт. В ряде моделей имеется также память EEPROM емкостью 512 байт или 1 Кбайт. Большинство микроконтроллеров семейства работают при напряжении питания 5.0 В, обеспечивая максимальную тактовую частоту Ft = 8 МГц. Некоторые модели работают при пониженном напряжении питания 3.0В и даже 2.0В.

Микроконтроллеры семейства 68НС08/908 делятся на ряд серий, буквенные обозначения которых указываются для каждой модели после имени семейства (например, 68HC08AZ32 - серия AZ, модель 32). Серии отличаются, в основном, составом периферийных модулей и областями применения. Все модели содержат 16-разрядные таймеры, имеющие 2, 4 или 6 комбинированных входов захвата/выходов совпадения. Большинство моделей содержит 8- или 10-разрядные АЦП.

В состав серий АВ, AS, AZ входят микроконтроллеры общего назначения, которые обеспечивают расширенные возможности интерфейса с внешними устройствами благодаря наличию шести параллельных и двух последовательных портов (SCI, SPI). Модели серий BD, SR и GP имеют четыре параллельных порта. Ряд серий имеет специализированные последовательные порты, используемые для организации микроконтроллерных сетей. Это серия AS, обеспечивающая передачу данных по мультиплексной шине Л 850, серия JB, имеющая интерфейс с последовательной шиной USB, серия AZ, содержащая контроллер сети CAN, серия BD, реализующая интерфейс 12С. Микроконтроллеры этих серий широко используются в промышленной автоматике, измерительной аппаратуре, системах автомобильной электроники, вычислительной технике.

Специализированные микроконтроллеры серии MR содержат 12-разрядные модули ШИМ с 6 выходными каналами. Они ориентированы на применение в системах управления электроприводом. Микроконтроллеры RK и RF ориентированы на использование в радиотехнике.

Серии JB, JK, JL, КХ выпускаются в дешевых корпусах с малым числом выводов. Микроконтроллеры этих серий имеют от 13 до 23 линий параллельного ввода-вывода данных. Они используются в бытовой аппаратуре и изделиях массового применения, где требование низкой стоимости является одним из первостепенных факторов.

В сериях QT, QY представлены модели, ориентированные на применение в малобюджетных проектах. Эти микроконтроллеры отличаются низкой стоимостью и выпускаются в компактных корпусах с малым числом выводов (8 или 16). Они имеют встроенный осциллятор, обеспечивающий формирование тактовой частоты с точностью 5%. Небольшой объем FLASH-памяти (до 4 Кбайт), наличие АЦП и таймера делают эти модели идеальными для построения несложных контроллеров распределенных систем мониторинга и управления.

Оба семейства микроконтроллеров имеют программаторы, позволяющие использовать, как языки высокого уровня (в частности, язык С), так и ассемблеры. Цены на оба семейства микроконтроллеров существенно не отличаются: при средней стоимости около 400 рублей разница составляет 50-100 рублей, что практически не влияет на итоговую стоимость внедрения системы противопожарной защиты.

В силу большей доступности на рынке микроконтроллеров ADuC812 и программаторов для них, было решено использовать микроконтроллеры этого семейства, а конкретно - ADuC812BS.

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

В данном курсовом проекте микроконтроллер является координирующим элементом системы. Следовательно, ему необходимо получать данные с датчиков и отдавать команды на элементы системы противодымной защиты. Так как и те, и другие являются устройствами аналоговыми, а микроконтроллер - устройством цифровым, то необходимо использовать АЦП и ЦАП для преобразования сигналов.

Для АЦП мы будем использовать встроенный в микропроцессорную систему преобразователь Н1562-8 фирмы Hitachi.

Приведём основные характеристики АЦП:

- разрядность 12 бит;

- быстродействие 0.4 мкс; -DNL ±0,018%;

-INL ±0,018%;

- напряжение питания Ucc +5/-15 В;

- ток питания 1СС15/48 мА;

- опорное напряжение Uref +10,24В;

- выходной ток Iout 3-7 мА;

- рабочие температуры от-60 до ±85°С;

- корпус 210В.24-1 (24-pin CerDIP).

Для отображения текстовых данных воспользуемся LCD WH16028-NGK-CP фирмы Winstar Display. Это монохромный дисплей с возможностью одновременного отображения до 32 символов (две строки по 16 позиций). Помимо этого в состав схемы входят светодиоды и динамик.

3.3 Разработка функциональной схемы

Опираясь на структурную схему, составляем функциональную схему устройства.

Непосредственно на входы порта Р1.0-Р1.2 микроконтроллера приходят сигналы с датчиков дыма. Для взаимодействия с периферией в схему включена МАХ3064: сигналы с выходов D0-D10 поступают на LCD. Сигналы для светодиодов поступают с выходов D10-D16. Управляющие сигналы для светодиодов и LCD приходят из портов РО и Р2 микроконтроллера. Через Р1.5-Р1.7 подаются управляющие сигналы системам дымоудаления.

Функциональная схема проектируемого устройства представлена в приложении А.

4. Разработка программного обеспечения микропроцессорной системы

4.1 Выбор и обоснование выбора среды программирования

Программное обеспечение было решено реализовывать с помощью инструментальных средств фирмы Keil Software. Эта фирма поддерживает все стадии разработки приложения: создание исходного файла на С или Ассемблере, трансляцию, исправление ошибок, линкование объектных файлов, тестирование приложения. В пакете Keil Software содержатся практически все необходимые средства разработки для микроконтроллера 8051 /5/. Компилятор С51 поддерживает стандарт ANSI С, разработан специально для 8051 семейства и позволяет создавать программы на языке С (который является наиболее освоенным разработчиком данного курсового проекта), сохраняя эффективность и скорость оптимизации Ассемблера. Расширения, включенные в инструментальные средства Keil, обеспечивают полный доступ к ресурсам микроконтроллеров 8051.

4.2 Разработка алгоритма программы

При загрузке программы в память микроконтроллера происходит начальная установка состояния лифта. А именно, сразу подается сигнал о выключении света, далее следует сигнал о закрытии дверей. В переменную «текущий этаж» заносится 1, в переменную «Препятствие» 0, как показатель отсутствия препятствий. Далее ожидается нажатие клавиши вызова этажа (возможно нажатие как внутри лифта, так и снаружи). Если таковое регистрируется, то подается сигнал на включение света, далее сравнивается номер запрашиваемого этажа. Если он равен текущему этажу, то сразу подается сигнал об открытии дверей, если больше или меньше, то выбирается специальный сигнал о направлении движения лифта (вверх или вниз). При достижении нужного этажа подается сигнал на двигатель дверей, чтобы произвелось открытие. После этого, используя встроенный таймер, отсчитывается 20 секунд. Если в течение этого времени происходит новый вызов, то начинается закрытие дверей с постоянным прослушиванием датчика «Препятствие». Если приходит сообщение от датчика, то управление переходит на метку, где начиналось открытие дверей.

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

Заключение

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

Список использованных источников

1 Справочник. Микроконтроллеры: архитектура, программирование, интерфейс. Бродин В.Б., Шагурин М.И.М.:ЭКОМ, 1999.

2 Андреев Д.В. Программирование микроконтроллеров MCS-51: Учебное пособие. - Ульяновск: УлГТУ, 2009.

3 М. Предко. Руководство по микроконтроллерам. Том I. Москва: Постмаркет, 2001.

4 Интегральные микросхемы: Справ. / Б.В. Тарабрин, Л.Ф. Лукин, Ю.Н. Смирнов и др.; Под ред. Б.В. Тарабрина. - М.: Радио и связь, 1985.

5 Бурькова Е.В. Микропроцессорные системы. ГОУ ОГУ. 2005.

Приложение А

Структурная схема МПС

Приложение В

Схема алгоритма программы

Приложение С

Листинг программы

#include "ADuC812.h"

#include "max.h"

#include "kb.h"

#include "lcd.h"

#include "i2c.h"

int etazN,i,j,curEtaz,Prepat;

int VvodEtaz()

{

char etaz;

int tmp;

LCD_Type("Etazh:");

etaz='0';

while(etaz=='0')

{

if(ScanKBOnce(&etaz))

{

etazN=etaz-48;

LCD_Putch(etazN+48);

etaz='0';

while(etaz=='0')

{

if(ScanKBOnce(&etaz))

{

if(etaz=='A'){break;} else

{

tmp=etaz-48;

etazN=(etazN*10)+(etaz-48);

LCD_Putch(tmp+48);

};

};

};

};

};

return etazN;

}

void HodLifta()

{

int j,i;

if(curEtaz<etazN)

{

for (i=curEtaz;i<=etazN;i++)

{

for (j=0; j<=10000; j++)

{

WriteMax(SV,i);

Delay();

}

}

};

if(curEtaz>etazN)

{

for (i=curEtaz;i>=etazN;i--)

{

for (j=0; j<=10000; j++)

{

WriteMax(SV,i);

Delay();

}

}

};

curEtaz=etazN;

}

// 5 sec na zakrytie dverei i proverka prepatstviya:

void ZakrDveri()

{

int j,i;

char Bc;

Bc='0';

for (i=1;i<=5;i++)

{

for (j=0; j<=1000; j++)

{

if(ScanKBOnce(&Bc))

{

if(Bc=='B')

{

Prepat=1;

goto id3;

}; // B - datchik prepatstviya

};

Delay();

};

LCD_GotoXY(15,1);

LCD_Putch(i+48);

}

id3: i=1;

}

void main()

{

char Ac,etaz;

int tmp;

TMOD=0x20;

TCON=0x40;

InitLCD();

LCD_GotoXY(0,1);

LCD_Type("SvetVyk");

LCD_GotoXY(7,1);

LCD_Type("DveriZakr");

curEtaz=1; // tekushii etaz

Prepat=0; // prepyatsvii net

id: Ac='0';

while(Ac=='0')

{

if(ScanKBOnce(&Ac))

{

if(Ac=='A')

{

etazN=VvodEtaz();

LCD_GotoXY(0,0); // "etaz" propal

LCD_Type(" ");

LCD_GotoXY(0,1);

LCD_Type("SvetVkl");

HodLifta();

id2: LCD_GotoXY(7,1);

LCD_Type("DveriOtkr");

// zdem 20 sec:

for(i=0;i<=10000;i++)

{

if(ScanKBOnce(&Ac)) // nazhatie etaza vnutri

{

if(Ac=='A')

{

etazN=VvodEtaz();

LCD_GotoXY(7,1);

LCD_Type("DveriZakr");

ZakrDveri(); // medlenno zakryvaem dveri

if (Prepat==1)

{

LCD_GotoXY(0,1);

LCD_Type("SvetVkl");

Prepat=0;

goto id2;

};

LCD_GotoXY(0,0);

LCD_Type(" ");

HodLifta();

goto id2;

};

};

Delay();

};

LCD_GotoXY(0,1);

LCD_Type("SvetVyk");

LCD_GotoXY(7,1);

LCD_Type("DveriZakr");

ZakrDveri(); // medlenno zakryvaem dveri

if (Prepat==1)

{

LCD_GotoXY(0,1);

LCD_Type("SvetVkl");

Prepat=0;

goto id2;

};

LCD_GotoXY(0,0);

LCD_Type(" ");

LCD_GotoXY(0,0);

// zdem sled vyzova:

goto id;

}

}

}

while(1);

}

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.