Разработка контроллера сбора информации и передачи по GSM-каналу - Программирование, компьютеры и кибернетика курсовая работа

Разработка контроллера сбора информации и передачи по GSM-каналу - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Разработка контроллера сбора информации и передачи по GSM-каналу

Особенности управляющих микроконтроллеров. Разработка контроллера для реализации комплекса сбора информации, рассчитанного на фиксирование данных в оперативно-запоминающем устройстве и одновременную передачу её по GSM-каналу в виде SMS-сообщения.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Разработка контроллера сбора информации и передачи по GSM-каналу
2.1 Выбор управляющего микроконтроллера
3.Описание используемых интерфейсов
микроконтроллер информация управляющий
Необходимо разработать контроллер обеспечивающий реализацию комплекса сбора информации. Контроллер рассчитан на фиксирование данных в ОЗУ и одновременную передачу её по GSM-каналу в виде SMS-сообщения.
Для обеспечения интерфейса с пользователем предусмотрена простейшая клавиатура. Для вывода информации во время диалога с пользователем используется специализированный LCD, который обеспечивает вывод как текстовой, так и цифровой информации по состоянию датчиков.
Для связи с удалённым компьютером используется GSM-модуль или телефон, подключённый через последовательный порт контроллера
Для сбора информации предусмотрено использование матрицы датчиков бинарного типа размерностью 16х16. Для обеспечения связи с контроллером должна быть предусмотрена развязка.
Дополнительно предусматривается 4 цифровых датчика температуры и 4 аналоговых канала с разрядностью 16бит. Для аналоговых каналов необходимо предусмотреть наличие нормирующих усилителей с коэффициентами усиления от 1 до 100.
Опрос задается с периодичностью от 1 секунды до нескольких минут или по изменению датчиков.
микроконтроллер информация управляющий
Общие особенности управляющих микроконтроллеров
Основные требования, которые потребители предъявляют к управляющим блокам приборов можно сформулировать следующим образом:
работоспособность в жестких условиях эксплуатации;
достаточная производительность для выполнения всех требуемых функций.
В отличие от универсальных компьютеров к управляющим контроллерам, как правило, не предъявляются высокие требования к производительности и программной совместимости.
Выполнение всех этих довольно противоречивых условий одновременно затруднительно, поэтому развитие и совершенствование техники пошло по пути специализации и в настоящее время количество различных моделей управляющих микроконтроллеров чрезвычайно велико.
Однако можно выделить некоторые черты архитектуры и системы команд, общие для всех современных микроконтроллеров, это:
так называемая Гарвардская архитектура - то есть раздельные области памяти для хранения команд (программы) и данных. Они могут иметь разную разрядность, в системе команд для обращения к ним предусмотрены различные команды и т.д.
интеграция в одном корпусе микросхемы (на одном кристалле) практически всех блоков, характерных для полнофункционального компьютера - процессора, ПЗУ, ОЗУ, устройств ввода-вывода, тактового генератора, контроллера прерываний и т.д. Поэтому в русскоязычной литературе подобные устройства часто называются однокристальные ЭВМ (ОЭВМ).
Микроконтроллеры обычно классифицируют по разрядности обрабатываемых чисел:
четырехразрядные - самые простые и дешевые;
восьмиразрядные - наиболее многочисленная группа (оптимальное сочетание цены и возможностей), к этой группе относятся микроконтроллеры серии MCS-51 (Intel) и совместимые с ними, PIC (Microchip), HC68 (Motorola), Z8 (Zilog) и др.;
шестнадцатиразрядные - MCS-96 (intel) и др. - более высокопроизводительные но более дорогостоящие;
тридцатидвухразрядные - обычно являющиеся модификациями универсальных микропроцессоров, например 180186 или I386EX.
1. Разработка функциональной схемы
ОР - опторазвязка с контактными датчиками
НУ - нормирующие усилители с регулировкой усиления для датчиков температуры Д1-Д4.
АЦП - аналого-цифровой преобразователь для оцифровки аналоговых величин.
К1 - многоканальный коммутатор для съёма цифровых данных, полученных с опторазвязок.
ЖКИ - специализированный жидкокристаллический дисплей, необходимый для отображения параметров работы системы, введённых пользователем.
Данная функциональная схема отражает основные элементы необходимые для построения системы сбора информации.
Для опроса комплекса из 256 контактных датчиков решено использовать матричную систему опроса. Для обеспечения опторазвязки с ключевыми элементами используется транзисторная оптопара АОТ101АС.
Резистор подбирается в зависимости от напряжения ключевого элемента, что позволяет подключать как низкому напряжению (от 3В), так и к высокому (до 220В). Дополнительно рекомендуется вводить защитный диод или стабилитрон.
Для указания какой сканируется столбец используется коммутатор КП16 обеспечивающий выбор контролируемого столбца, а для контроля строки используется буферный регистр на который выдаётся управляющий сигнал (DD7, DD8). При этом на все остальные строки выдаётся 0. На одну выдаётся 1.
Для обеспечения считывания температуры с четырёх точек используется цифровой термометр DS1820.
Для сбора аналоговой информации используется четыре нормирующих усилителя (НУ) на четырёх канальной ОУ К1420УД2, обеспечивающей за счёт резисторов обратной связи требуемый коэффициент усиления.
Для преобразования аналогового сигнала используется АЦП.
В качестве буферного регистра для обращения к статическому ОЗУ используется К15ИР33 или N74ALS573. Данные микросхемы идентичны.
Для индикации используется двухстрочный ЖКИ.
При этом отображает не только цифровые значения но и их показатели.
Для передачи по GSM используется специализированный модуль SIM300, который обеспечивает полноформатный интерфейс по сотовой сети связи за счёт передачи SMS удалённому компьютеру.
На входе компьютера может быть использован любой GSM-модем.
Дешифровка и преобразование SMS осуществляется программно на стороне компьютера.
2. Разработка принципиальной схемы
2.1 Выбор управляющего микроконтроллера
Для решения поставленной задачи, прежде всего, необходимо выбрать управляющий микроконтроллер. Основные требования для выбора данного микроконтроллера:
- наличие достаточного количества портов ввода-вывода. К микроконтроллеру необходимо подключить 4 датчика температуры, ЖКИ, многоканальный коммутатор для съёма цифровых данных, GSM-модуль, АЦП.
- наличие программного пакета для написания и отладки программы микроконтроллера.
- достаточная изученность микроконтроллера.
Для реализации МПС были выбраны 3 контроллера: МК AT89S52, AVR Atmega8 и PIC16F628. Для выполнения выбора подробнее рассмотрим каждый из контроллеров.
МК ATmega8 имеет следующие отличительные особенности:
- 8ми-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением RISC архитектура;
- 130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл;
- 32 8ми-разрядных рабочих регистра общего назначения;
- приближающаяся к 16 MIPS (при тактовой частоте 16 МГц) производительность;
- энергонезависимая память программ и данных;
- 8 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash);
- обеспечен режим одновременного чтения/записи 512 байт EEPROM;
- два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения;
- один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения;
- счетчик реального времени с отдельным генератором;
- 6-канальный аналого-цифровой преобразователь (в корпусе PDIP);
- 4 канала с 10-разрядной точностью;
- 2 канала с 8-разрядной точностью;
- байт-ориентированный 2-проводный последовательный интерфейс;
- программируемый последовательный USART;
- последовательный интерфейс SPI (ведущий/ведомый);
- программируемый сторожевой таймер с отдельным встроенным генератором;
- встроенный аналоговый компаратор;
- специальные микроконтроллерные функции;
- встроенный калиброванный RC-генератор;
- внутренние и внешние источники прерываний;
- 23 программируемые линии ввода/вывода;
- 28-выводной корпус PDIP, 32-выводной корпус TQFP и 32-выводной корпус MLF;
- рабочие напряжения - 2,7 - 5,5 В (ATmega8L) 4,5 - 5,5 В (ATmega8);
- рабочая частота - 0 - 8 МГц (ATmega8L) 0 - 16 МГц (ATmega8).
Как видно из приведенных технических характеристик контроллер имеет высокую производительность достаточную программную память и необходимые АЦП и порты. Имеется среда разработки на С. Недостаток отсутствие функций умножения и деления требуют написания специальных подпрограмм необходимых для перевода получаемых значений в цифровой вид и разделения значащих разрядов на сотни единицы и десятки.
Рис. 1.1. Расположение выводов AVR.
Далее рассмотрим следующую серию МК PIC16F628 она имеет следующие основные особенности:
- RISC архитектуру и всего 35 простых для изучения инструкции;
- Все инструкции исполняются за один такт (400 нс);
- Скорость работы: тактовая частота до 10 МГц;
- 15 аппаратных регистров специального назначения;
- прерывание при изменении сигналов на линии порта B (PORTB<7:4>);
- по завершению записи данных в ЭСППЗУ (EEPROM);
- 8-разрядный программируемый предварительный делитель;
- 1000 циклов записи/стирания FLASH памяти программы.
- 13 линий ввода/вывода с индивидуальным контролем направления;
- сильноточные схемы (до 25мА) для управления светодиодами.
- программирование на плате через последовательный порт (ICSPT)
- таймер включения питания (PWRT) и таймер запуска генератора (OST)
- сброс по падению напряжения питания
- сторожевой таймер (WDT) с собственным встроенным RC-генератором для повышения надежности работы
- широкий рабочий диапазон напряжений питания - от 2,0В до 6,0В
Рис. 1.2. Расположение выводов PIC.
Данный контроллер к сожалению не имеет встроенного АЦП и не имеет команд деления и умножения в остальном он удовлетворяет нашей задаче.
Последним для рассмотрения был выбран МК 51 серии - AT89C52. Этот контроллер имеет встроенный АЦП и по предварительной оценке по параметрам полностью подходит для выполнения поставленной задачи.
Рис. 1.3. Контактная группа выводов AT89C52.
- совместимость с серией MCS-51 SISC архитектура;
- 8 кБ флэш-памяти с внутрисхемным программированием (ISP) со стойкостью ПЗУ программ: 1000 циклов записи/стирания;
- рабочий диапазон питания 4.0…5.5В;
- полностью статическое функционирование: 0…24 МГц;
- 32 программируемые линии ввода-вывода;
- три 16-разрядных таймера-счетчика;
- полнодуплексный канал последовательной связи на УАПП.
Достоинство данного контроллера не только в большом числе периферии, но и наличии команд умножения и деления, что значительно упрощает программу и позволяет реализовать её с меньшими временными затратами. Также данная архитектура изучена хорошо в курсе лабораторных работ, что позволяет упростить разработку, так как часть программного кода уже написана и отлажена. Также контроллер имеет невысокую цену 60р. Что важно для практической реализации управляющего устройства.
Учитывая все вышесказанное окончательно было решено использовать контроллер 51 серии как наиболее доступный и подходящий по параметрам.
Для обеспечения опторазвязки с ключевыми элементами используются транзисторная оптопара АОТ101АС.
Оптопары АОТ101 АС/БС, транзисторные, двухканальные, состоящие из эпитаксиальных излучающих диодов на основе соединения галлий-алюминий-мышьяк и кремниевых фототранзисторов. Применяются для электронной коммутации однополярного тока с гальванической развязкой между входом и выходом. Выпускаются в пластмассовом корпусе. Масса прибора не более 3 грамм.
· Входное напряжение при Iвх = 15 мА,
· Входное напряжение при Iвх = 5 мА,
Выходное остаточное напряжение при Iвх = 2,5 мА, Iвых = 0,5 мА,
· Выходное остаточное напряжение при Iвх = 10 мА, Iвых = 1,5 мА для АОТ101АС, Iвых = 10 мА для АОТ101БС, не более 0,4 В
· Ток утечки на выходе при Iвх = 0, Uком = 10 В,
· Сопротивление изоляции при Uиз = 500 В,
· Время нарастания и спада выходного сигнала при Uком = 10 В, Iвх = 10 мА, Rн = 100 Ом,
Напряжение изоляции при T = +25 ±10 °C 1,5 кВ
Входной ток1 при T = -10...+50 °C 20 мА
Входной импульсный ток при tи <= 10мкс 50 мА
Температура окружающей среды -10...+70 °C
Выбирая датчик температуры, я проанализировал существующие аналоговые и цифровые датчики я пришёл к выводу, что использование аналогового датчика требует дополнительных элементов: усилителя и АЦП, что заметно усложняет схему, поэтому я предпочёл цифровой вариант, в виде чипа DS18B20. Для выполнения моего курсового задания необходима точность +/-1, а эти датчики сертифицированы как измерительные приборы и обеспечивают точность до 0.1. Соответственно, возможно их использование в качестве надёжного средства измерения. При этом не требуется АЦП, так как выполнение операции преобразования полученных данных в цифровой вид ими обеспечивается самостоятельно. Второй важный момент, то что данный датчик может быть подключен по однопроводной сигнальной линии и передает данные по протоколу 1-Wire. Благодаря обеспечению возможности адресного обращения возможно использование одной линии связи для всех датчиков.
Датчик DS18B20 имеет следующие отличительные особенности:
1. Точность ±0.5°C от -10°C до +85°C,
2. Разрешение от 9 до 12 бит, которое настраивается пользователем,
3. Передача данных посредством 1-проводного последовательного интерфейса,
4. 64-битный уникальный и неизменяемый серийный номер,
6. Рабочее напряжение от 3.0В до 5.5В,
7. Вариант датчика с запиткой с линии данных (DS18B20-PAR),
8. O-92, 150mil 8-контактный SOIC, или 1.98x1.37мм корпус с шариковыми выводами (±2.0°C).
Данные в микросхеме DS18B20 считываются через 1-проводную последовательную шину в дополнительном от 9 до 12 битном (программируется пользователем) коде с ценой младшего разряда от 0.5°C до 0.0625°C. Она является термометром с цифровым вводом/выводом, работающим с точностью ±0.5°C.
У каждой микросхемы DS18B20 имеется уникальный и неизменяемый 64-битный серийный номер, используемый как узловой адрес датчика. При этом появляется возможность сосуществовать множеству микросхем DS18B20 на одной 1-проводной шине. Микросхема DS18B20 может быть локально запитана от 3.0В до 5.5В или она может быть сконфигурирована таким образом, чтобы быть запитанной посредством 1-проводной линии данных.
Осуществление передачи команды начала преобразования и других команд, а также считывания значения измеренной температуры производится с помощью 1-проводного интерфейса (1-WireTM).
Обмен с датчиком всегда начинается с процесса инициализации. Инициализация производится в следующей последовательности:
1.Формируется импульс сброса не менее 480мкс
2.Далее линия отпускается и через некоторое время не более 60мкс она закорачивается самим датчиком это как сигнал готовности к обмену.
3.Далее следует выполнить передачу команды и адреса конкретного датчика установленного на шине.
Рис. 2.1. Временная диаграмма инициализации.
После того, как мастер обнаружил ответ, он может передать датчику одну из команд. Передача ведётся путём формирования мастером специальных временных интервалов (time slots). Каждый временной интервал служит для передачи одного бита. Первым передаётся младший бит. Интервал начинается импульсом низкого уровня, длительность которого лежит в пределах 1 - 15 мкс. Поскольку переход из единицы в ноль менее чувствителен к ёмкости шины (он формируется открытым транзистором, в то время как переход из ноля в единицу формируется подтягивающим резистором), именно этот переход используют 1-проводные устройства для синхронизации с мастером. В подчиненном устройстве запускается схема временной задержки, которая определяет момент считывания данных. Номинальное значение задержки равно 30 мкс, однако, оно может колебаться в пределах 15 - 60 мкс. За импульсом низкого уровня следует передаваемый бит. Он должен удерживаться мастером на шине в течение 60 - 120 мкс от начала интервала. Временной интервал завершается переводом шины в состояние высокого уровня на время не менее 1 мкс. Длительность интервала зависит от собственной емкости линии определяемой длиной. Так как в моем устройстве датчики находятся на большом расстоянии от контроллера, то рекомендуется не мене 15мкс.
Размещено на http://www.allbest.ru
Рис 2.2. Временная диаграмма передачи 0го бита.
Первой командой, которую должен передать мастер для DS18S20 после инициализации, является одна из команд реализуемых устройством функций.
При приеме данных от подчиненного устройства временные интервалы для принимаемых битов тоже формирует мастер. Интервал начинается импульсом низкого уровня длительностью 15 мкс. Затем контроллер отпускает шину и если через 30мкс он считывает 0, то этот бит удерживает термометр, иначе считывается 1. Таким способом, последовательно тактируя каждый бит, контроллер считывает все требуемые ему данные. Прием байта начинается с младшего бита.
Рассмотрим особенности протокола обмена. Вначале после проведения процедуры инициализации передается команда на выполнение определенных функций. Так как на линии подключено 4 термометра, то можно выполнить запуск измерения температуры сразу для всех термометров и чтобы исключить обмен номерами передаем команду пропустить передачу номера 0xCC. Далее посылаем команду Convert T - 0х44. Это сразу в четырех микросхемах термометров запускает измерение и преобразование в цифровой вид температуры. Далее необходимо сформировать задержку от 500 до 750мкс (зависит от конкретного типа микросхемы, поэтому выбираем наибольший интервал). Далее процедура сброса повторяется и теперь для выборки измеренной температуры необходимо передать команду 0xCD после чего передается номер конкретного термометра, а далее посылаем команду Read Scratchpad - BEh. Первый байт содержит знак, если температура «+», то он заполнен нулями, если «-», то единицами. Если температура отрицательна, то значение температуры передается в инверсном дополнительном коде, что требует преобразования температуры.
Для DS18S20 температура представляется в виде 9-битного значения в дополнительном коде. Поскольку это значение занимает 2 байта, все разряды старшего байта равны знаковому разряду. Дискретность представления температуры составляет 0.5°C.
Зависимость выходного кода от температуры
Рис. 3. Условное графическое обозначение ЖКИ.
Для вывода информации используется знакосинтезирующий LCD индикатор размером 32х4. Для управления им используется две дополнительные шины.
E - стробирующая запись данных в индикатор;
GND- потенциал общего провода ("земли");
E- линия стробирования/синхронизации;
Для преобразования аналоговых сигналов в цифровую форму решено использовать 4-канальный 16-разрядный аналого-цифровой преобразователь последовательного приближения для линии MicroLAN DS 2450 фирмы Dallas Semiconductor.
Он может сопрягаться с широким множеством датчиков и приборов, оцифровывать сигнал и передавать его на устройства сбора и обработки данных по простой однопроводной сети 1-Wire. Встроенный уникальный серийный номер позволяет объединить множество DS2450 с помощью однопроводной сети 1-Wire и получить доступ к конкретному датчику в пределах сети.
· четырехканальный АЦП на одном последовательном порту;
· питание через вход Vcc или паразитное через линию передачи данных;
· 8-битная точность, 16-битная разрешающая способность;
· два диапазона входных измерений: 0В-2.56В и 0В-5.12В;
· напряжение питания от 4.5B до 5.5В; рабочий диапазон температур от -40°С до +85°С;
· неиспользуемые аналоговые каналы могут быть сконфигурированы для работы в качестве ключа с открытым коллектором;
· время преобразования - 80 мкс/бит (в худшем случае). Пример: 3 канала, разрешение 9 бит = 3х9х80мкс+160мкс инициализация=2.32мс=140 выборок по каждому каналу в секунду;
· уникальный серийный номер (ID) позволяет однозначно определить конкретный датчик в качестве источника измерений;
· возможность объединения нескольких устройств по однопроводной сети 1-Wire;
· передача данных по дешевому кабелю типа “витая пара”.
АЦП DS 2450S выпускается в компактном, дешевом 8-выводном корпусе SOIC для поверхностного монтажа. Он представляет собой преобразователь аналогового сигнала в цифровой, работающий в режиме последовательного приближения с аналоговым мультиплексором 4 в 1. Каждый канал имеет собственный регистр, в котором устанавливается и хранится диапазон входного напряжения, разрешающая способность и значение сигнальных порогов, используемых для установки сигнальных флажков. Если входное напряжение выходит за указанный диапазон, флажки разрешают участие прибора в «условном поиске». На каждый канал устанавливается по два сигнальных флажка, которые без требования к ведущему шины просто указывают, было ли измеренное напряжение выше или ниже установленных порогов. Каждое преобразование АЦП инициализируется ведущим шины. Канал, не используемый как аналоговый вход, может служить цифровым выходом с открытым стоком. После отключения входа ведущий шины может непосредственно включать или выключать МОП-транзистор в выбранном канале. Все параметры настройки прибора хранятся в статическом ОЗУ и сохраняются до тех пор, пока прибор получает питание.
После включения флажка «сброс питания» ведущему шины сообщается о необходимости восстановить параметры настройки прибора для продолжения нормальной работы. Все регистры прибора организованы в три восьмибайтовые страницы памяти. Генератор кода контрольной суммы CRC 16, входящий в состав микросхемы, осуществляет защиту передаваемой информации от ошибок передачи.
Питание прибора осуществляется через вывод Vcc или через однопроводную шину. При питании прибора от однопроводной шины в течение времени, пока сигнал на линии имеет высокий логический уровень, на внутреннем конденсаторе накапливается заряд. Далее, когда уровень сигнала на шине близок к нулевому, прибор питается от этого «паразитного» конденсатора, после чего, при появлении на шине сигнала высокого уровня, конденсатор снова подзаряжается. Энергии «паразитного» источника хватает только для обмена информацией с ведущим шины. Для выполнения аналого-цифрового преобразования требуется непрерывный его подзаряд от однопроводной шины, которая все время должна находиться в единичном состоянии, а если это невозможно, то необходимо прямое подключение источника Vcc к соответствующему выводу микросхемы.
Трехдиапазонные GSM/GPRS модули SIM300 предназначены для работы в приложениях, связанных с высокоскоростной передачей данных посредством GPRS канала: для передачи голоса, коротких (SMS) и факсимильных сообщений в системах удаленного контроля и мониторинга, в измерительных системах и телеметрии, системах безопасности и оповещения. Данные модули имеют низкое энергопотребление и малые размеры, благодаря чему могут быть легко интегрированы в большинство вышеупомянутых приложений.
В качестве обвязки для модуля необходим системный разъём (60 pin connector) и антенный переходник GSC/FME или GSC/SMA (в зависимости от разъёма, установленного на подключаемой антенне).
Основные характеристики GSM модуля Sim 300:
- диапазоны частот 900/1800/1900 МГц;
- совместимость со стандартом GSM Phase 2/2+;
- выходная мощность 2 Вт/900 МГц, 1 Вт/1800/1900 МГц;
- диапазон температур: рабочая - 20…+55С, температура хранения - 40…+80С;
- внешний интерфейс SIM - карт 3V 1.8V;
- доступ к встроенному TCP/IP стеку с помощью АТ команд.
Другие особенности GSM модуля Sim 300:
- поддержка телефонной книги SIM карточки;
- наличие встроенного таймера реального времени;
Команды SIM300 для работы с SMS-сообщениями
3. Описание используемых интерфейсов
Протокол 1-WIRE определяет структуру сообщений, которая используется и распознаётся устройствами, подключёнными к однопроводному интерфейсу.
Он описывает способ запроса устройством (ведущим) доступа к другим устройствам (ведомым) и способ ответа на запросы. Обмен сообщениями по линии связи возможен при наличии в сети одного ведущего устройства и одного или нескольких ведомых устройств.
Обмен сообщениями по 1 WIRE начинается с инициализирующей последовательности, состоящей из импульса сброса, передаваемой ведущим и ответным импульсом присутствия. Появление импульса присутствия является признаком наличия в линии одного или нескольких ведомых устройств.
CCh - пропустить передачу кода, работать безадресно;
55h - выбор датчика для работы по заданному адресу;
Вначале посылается безадресное обращение CCh для работы со всеми датчиками, что позволяет следующую команду 44h (запуск преобразований) применить ко всем устройствам, находящимся на шине. В частности для температурных датчиков и АЦП. Цикл преобразований у АЦП длится 300 мкс, для термометров - 750 мкс.
4. Разработка программы управления
Сначала производится инициализация всех параметров. По умолчанию тактирование происходит раз в одну секунду.
Затем контроллер переходит в режим автоматического опроса и выполняет сканирование матричного поля датчиков с выводом информации в ОЗУ и одновременно формируется первая часть SMS-сообщения. Следующим этапом выполняется оцифровка температуры и съём показателей по аналоговым каналам.
Далее формируется и передаётся SMS-сообщение. Параллельно с этим производится отображение информации на ЖКИ. В случае нажатия первой клавиши «-» уменьшается частота опроса, при нажатии второй клавиши «+» частота увеличивается кратно одной секунде.
Нажатие обоих клавиш позволяет задать время в часах, следующее нажатие - в минутах, следующее - в секундах. И последнее нажатие переводит систему в режим нормальной работы - опроса датчиков и пересылки информации через SMS-сообщение.
В начале программы идёт объявление необходимых переменных, массивов, флагов, привязка к портам. Затем идёт процедура для задержки на 5мкс. Следующими идут процедуры сброса, чтения и записи 1-Wire. После идёт процедура UART, в которой отрабатывается отправка и получение SMS-сообщений с использованием GSM-модуля SIM300. Затем идёт процедура обработки таймера, в которой просчитывается текущее время.
В главной процедуре MAIN сначала идёт инициализация параметров: задание режимов таймера, установка периода опроса, разрешение прерываний, задание начального адреса ОЗУ.
После инициализации начинаем преобразования, сохраняем в ОЗУ время и затем начинаем опрашивать матрицу датчиков. На линию регистров посылаем 0, выбираем поочерёдно строки и проверяем столбцы. Если в строке и в столбце появляется 0, мы распознаём это как сработавший датчик и сохраняем в ОЗУ его расчетный номер. Затем мы командой 55h выбираем датчик для работы и командой B8h считываем измеренные данные. Так мы опрашиваем 4 температурных датчика и АЦП. Выводим полученные данные на LCD. И последним в программе идёт обработка клавиш.
Поставленная задача была реализована, разработана функциональная схема. После анализа функциональной схемы, рассмотрения множества разработок и отдельных электронных узлов, была разработана схема контроллера, обеспечивающего реализацию комплекса сбора информации, который реализует поставленную задачу на аппаратном уровне. При схемотехнической реализации блока был произведен выбор наиболее оптимального контроллера для решения задачи.
Вторым этапом реализации проекта стало написание программной части, которая обеспечивает управление оборудованием по заданному алгоритму. Для реализации функций обмена с температурными датчиками был изучен протокол 1-Wire, который и был далее реализован в виде части программного кода. Также было выполнено описание программы и представлен её код.
Результат проекта представлен в виде отчета имеющего два приложения: листинг программы и принципиальная схема.
char xdata ram[65635]; /* xdata massiv dannih v OZU*/
unsigned char sec,min,chas; //shethiki vremeni
unsigned char poz,nkey,pd; //otobragaem segment
bit fok; /* flag ispolnen sobitia*/
unsigned char lcd1[]={0,0,0x3a,0,0,0x3a,0,0,0x20,0x20,0x2d,0x36,0x34,0x20,0x20,0x50, 0x65,0x72,0x69,0x6f,0x64,0x2d,0,0,0};
unsigned char lcd2[]={0x54,0x31,0x3d,0,0,0,0,0x20,0x54,0x32,0x3d,0,0,0,0,0x20,0x54,0x33, 0x3d,0,0,0,0,0x20,0x54,0x34,0x3d,0,0,0,0};
unsigned char lcd3[]={0x41,0x44,0x43,0x31,0x2d,0,0,0,0,0,0x20,0x20,0x41,0x44,0x43, 0x32,0x2d,0,0,0,0,0};
unsigned char lcd4[]={0x41,0x44,0x43,0x33,0x2d,0,0,0,0,0,0x20,0x20,0x41,0x44,0x43, 0x34,0x2d,0,0,0,0,0};
unsigned char dat0[]={0x23,0x34,0xdf,0xde};
unsigned char dat[]={0,0,0,0,0,0,0,0,0,0,0,0};
unsigned char const lcdini[]={0x08,0x3c,0x06,0x0f, 0x01} /*inicializacia LCD*/
unsigned char const nt1[]={0xDD ,0x05 ,0xEC ,0xAD ,0x35 ,0xb9 ,0x4f, 0xed };
unsigned char const nt2[]={0xDD ,0x05 ,0x35 ,0xb9 ,0xa3 ,0xfd ,0xbd ,0x02 };
unsigned char const nt3[]={0xDD ,0x05 ,0x67 ,0xe4 ,0x32 ,0xde ,0xae ,0x34 };
unsigned char const nt4[]={0xDD ,0x05 ,0xEC ,0xb9 ,0x56 ,0x0D, 0x23 ,0x94 };
unsigned char const nadc[]={0x0f ,0x00 ,0x68 ,0x35 ,0xb9 ,0xF9, 0xBD ,0x24 };
void delay (void char t) { unsigned char dd; for (dd=0;ddРазработка контроллера сбора информации и передачи по GSM-каналу курсовая работа. Программирование, компьютеры и кибернетика.
Дипломная работа: Оценка финансовой устойчивости (на примере ЗАО "Тихоокеанская страховая компания")
Курсовая работа: Разработка объектов прикладного решения "Мастер-класс на "1С: Предприятие 8.2"
Сочинение В Чем Трагедия Обломова
Реферат: Механизмы и несущие конструкции радиоэлектронных средств. Скачать бесплатно и без регистрации
Реферат: Антисистема
Правда И Ложь Сочинение На Дне
Сочинение На Тему Моя Мама 7 Класс
Реферат по теме Норма, образец в русской культуре второй половины XVIII века
Реферат по теме Ельня – родина гвардии
Контрольная работа по теме Управление техническим состоянием железнодорожного пути
Курсовая работа по теме Розробка програми мовою програмування С++ по пошуку коренів нелінійних рівнянь
Сочинение По Картине Г Г Нисский Радуга
Реферат по теме Театр в греческой и римской культурах
Реферат: Санитарно-микробиологические исследования и контроль в лечебно-профилактических учреждении за внутрибольничными
Курсовая работа: Организационная структура коммерческих банков
Реферат: Mercy Killing Essay Research Paper To start
Реферат На Тему Основні Напрямки Маркетингових Досліджень В Зовнішньоекономічній Діяльності. Спеціалізовані Маркетингові Фірми
Курсовая работа: Анализ производства продукции растениеводства на примере ПК Урожайный
Сочинение Описание Про Церковь
Книга: Щоденник 1941-1956
Институт соучастия в преступлении - Государство и право контрольная работа
Организация бухгалтерского учета в строительной организации на примере ОАО "Минскремстрой" - Бухгалтерский учет и аудит отчет по практике
Трансмиссивные, паразитарные и инфекционные заболевания людей и животных - Медицина научная работа


Report Page