Реферат по предмету "Коммуникации и связь"


Разработка системы управления кондиционером

/>РЕФЕРАТ
Пояснительная записка состоит из 63 страниц, включает в себя 29 рисункови 5 таблиц. При работе были использованы 5 источников, из которых 2 ссылок на Web-страницы Internet.
Ключевые слова: Микроконтроллер, Индикатор,Клавиатура, Регистр, Алгоритмизация, Кондиционер, Датчик, Программирование.
Цель работы: разработка системы управления кондиционером, осуществляющимввод желаемой температуры в помещении, вывод текущей температуры помещения,сравнение этих двух температур и выбор режима работы на обогрев или наохлаждение соответственно.
Содержание работы: в работе выполнено построение структурной схемы, выборэлементной базы, оптимальной для реализации поставленных задач по дешевизне идиапазону характеристик, сформирована функциональная схема, которая в полной мерепоказывает работу системы.
/>СОДЕРЖАНИЕРЕФЕРАТСОДЕРЖАНИЕСОКРАЩЕНИЯВВЕДЕНИЕОСНОВНАЯЧАСТЬ1Структурная схема2Выбор элементной базы2.1Пульт управления2.2Работа с шиной 1-Wire2.3Выбор датчика температуры2.4Внутренняя архитектура микросхемы DS18B20 2.5Система команд транспортного уровня микросхемы DSI8B20       2.6Выбор вентилятора         2.7Выбор компрессора2.8Выбор микроконтроллера3Функциональная схема4Алгоритм работы кондиционера5Разработка программыЗАКЛЮЧЕНИЕСПИСОКИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВПРИЛОЖЕНИЕПриложение1
/>СОКРАЩЕНИЯ
СКВ – системакондиционирования воздуха
МК –микроконтроллер
ЖКИ –жидкокристаллический индикатор
ПЗУ – постоянноезапоминающее устройство
ОЗУ –оперативное запоминающее устройство
/>ВВЕДЕНИЕ
Кондиционирование воздуха (лат. condicio условие, требование) — этосоздание и автоматическое поддержание (регулирование) в закрытых помещенияхвсех или отдельных параметров (температуры, влажности, чистоты, скоростидвижения) воздуха на определенном уровне с целью обеспечения оптимальныхметеорологических условий, наиболее благоприятных для самочувствия людей иливедения технологического процесса.
Основные функции кондиционера — это охлаждение и обогрев воздуха, уженаходящегося внутри помещения. Это означает, что кондиционер в общем случае непроизводит притока свежего воздуха с улицы или вытяжки воздуха из помещения.Для задач вытяжки и притока служит вентиляционное оборудование.
Нагрев — осуществляется электрическим калорифером. Поддержаниетемпературы осуществляется ступенчатым регулированием мощности электрическогонагрева.
Охлаждение — процесс охлаждения воздуха происходит в секции охлаждения,которая представляет собой радиатор, в котором происходит кипение фреона, т.е.по сути это испаритель кондиционера поступающего изкомпрессорно-конденсаторного блока. Степень охлаждения воздуха регулируетсядискретным включением компрессора воздушно-конденсаторного блока, таким образомточно поддерживать температуру приточного воздуха невозможно.
1 Признаки классификации систем кондиционирования
Прежде чем перейти к классификации систем кондиционирования, следуетотметить, что общепринятой классификации СКВ до сих пор не существует, исвязано это с многовариантностью принципиальных схем, технических ифункциональных характеристик, зависящих не только от технических возможностейсамих систем, но и от объекта применения (кондиционируемых помещений).Современные системы кондиционирования могут быть классифицированы по следующимпризнакам [1]:
а) по основному назначению (объекту применения):
— комфортные
— технологические
б) по принципу расположения кондиционера по отношению к обслуживаемомупомещению:
— центральные
— местные
в) по наличию собственного (входящего в состав кондиционера) источникатепла и холода:
— автономные
— неавтономные
г) по количеству обслуживаемых помещений (локальных зон):
— однозональные
— многозональные
д) по принципу действия:
— приточные
— рециркуляционные
— комбинированные
е) по способу регулирования выходных параметров кондиционированноговоздуха:
— с качественным (однотрубным )
— с количественным (двухтрубным ) регулированием
ж) по степени обеспечения метеорологических условий в обслуживаемомпомещении — первого, второго и третьего классов
з) по давлению, развиваемому вентиляторами кондиционеров — низкого,среднего и высокого давления.
и) Кроме приведенных выше классификаций существуют разнообразные системыкондиционирования, обслуживающие специальные технологические процессы, включаясистемы с изменяющимися по времени (по определенной программе)метеорологическими параметрами.
Комфортные СКВ
Комфортные системы кондиционирования воздуха предназначены для создания иавтоматического поддержания температуры, относительной влажности, чистоты искорости движения воздуха, отвечающих оптимальным санитарно-гигиеническимтребованиям для жилых, общественных и административно-бытовых зданий илипомещений.
Технологические СКВ
Технологические системы кондиционирования воздуха предназначены дляобеспечения параметров воздуха, в максимальной степени отвечающих требованиямпроизводства. Технологическое кондиционирование в помещениях, где находятсялюди, осуществляется с учетом санитарно-гигиенических требований к состояниювоздушной среды
Центральные СКВ
Снабжаются извне холодом (доставляемым холодной водой или хладагентом),теплом (доставляемым горячей водой, паром или электричеством) и электрическойэнергией для привода электродвигателей вентиляторов, насосов и пр.
Центральные системы кондиционирования воздуха расположены внеобслуживаемых помещений и кондиционируют одно большое помещение, несколько зонтакого помещения или много отдельных помещений. Иногда несколько центральныхкондиционеров обслуживают одно помещение больших размеров (производственныйцех, театральный зал, закрытый стадион или каток).
Центральные СКВ оборудуются центральными неавтономными кондиционерами, которыеизготавливаются по базовым (типовым) схемам компоновки оборудования и ихмодификациям.
Центральные системы кондиционирования воздуха обладают следующимипреимуществами:
— Возможностью эффективного поддержания заданной температуры иотносительной влажности воздуха в помещениях.
— Сосредоточением оборудования, требующего систематического обслуживанияи ремонта, как правило, в одном месте (подсобном помещении, техническом этаже ит.п.)
— Возможностями обеспечения эффективного шумо- и виброгашения. С помощьюцентральных СКВ при надлежащей акустической обработке воздуховодов, устройствеглушителей шума и гасителей вибрации можно достичь наиболее низких уровней шумав помещениях и обслуживать такие помещения, как радио- и телестудии и т.п.
Несмотря на ряд достоинств центральных СКВ, надо отметить, что крупныегабариты и проведение сложных монтажно-строительных работ по установкекондиционеров, прокладке воздуховодов и трубопроводов часто приводят кневозможности применения этих систем в существующих реконструируемых зданиях
Местные СКВ
Местные системы кондиционирования воздуха разрабатывают на базеавтономных и неавтономных кондиционеров, которые устанавливают непосредственнов обслуживаемых помещениях. Достоинством местных СКВ является простотаустановки и монтажа. Такая система может применяться в большом ряде случаев:
— В существующих жилых и административных зданиях для поддержаниятеплового микроклимата в отдельных офисных помещениях или в жилых комнатах
— Во вновь строящихся зданиях для отдельных комнат, режим потребленияхолода в которых резко отличается от такого режима в большинстве другихпомещений, например, в серверных и других насыщенных тепловыделяющей техникойкомнатах административных зданий. Подача свежего воздуха и удаление вытяжноговоздуха при этом выполняется, как правило, центральными системамиприточно-вытяжной вентиляции
— Во вновь строящихся зданиях, если поддержание оптимальных тепловыхусловий требуется в небольшом числе помещений, например, в ограниченном численомеров люкс небольшой гостиницы
— В больших помещениях как существующих, так и вновь строящихся зданий:кафе и ресторанах, магазинах, проектных залах, аудиториях и т.д.
Автономные СКВ
Автономные системы кондиционирования воздуха снабжаются извне толькоэлектрической энергией, например, кондиционеры сплит-систем, шкафныекондиционеры и т.п. Такие кондиционеры имеют встроенные компрессионныехолодильные машины, работающие, как правило, на фреоне-22. Автономные системыохлаждают и осушают воздух, для чего вентилятор продувает рециркуляционныйвоздух через поверхностные воздухоохладители, которыми являются испарителихолодильных машин, а в переходное или зимнее время они могут производитьподогрев воздуха с помощью электрических подогревателей или путемреверсирования работы холодильной машины по циклу так называемого«теплового насоса».
Наиболее простым вариантом, представляющим децентрализованное обеспечениев помещениях температурных условий, можно считать применение кондиционеровсплит-систем.
Неавтономные СКВ
Неавтономные системы кондиционирования воздуха подразделяются на:
— Воздушные, при использовании которых в обслуживаемое помещение подаетсятолько воздух. (мини-центральные кондиционеры, центральные кондиционеры)
— Водовоздушные, при использовании которых в обслуживаемые помещенияподводятся воздух и вода, несущие тепло или холод, либо и то и другое вместе(системы чиллеров-фанкойлов, центральные кондиционеры с местными доводчиками ит.п.)
Однозональные центральные СКВ
Однозональные центральные системы кондиционирования воздуха применяютсядля обслуживания больших помещений с относительно равномерным распределениемтепла и влаговыделений, например, больших залов кинотеатров, аудиторий и т.п.Такие СКВ, как правило, комплектуются устройствами для утилизации тепла (теплоутилизаторами)или смесительными камерами для использования в обслуживаемых помещенияхрециркуляции воздуха.
Многозональные центральные СКВ
Многозональные центральные системы кондиционирования воздуха применяютдля обслуживания больших помещений, в которых оборудование размещенонеравномерно, а также для обслуживания ряда сравнительно небольших помещений.Такие системы более экономичны, чем отдельные системы для каждой зоны иликаждого помещения. Однако с их помощью не может быть достигнута такая же степеньточности поддержания одного или двух заданных параметров (влажности итемпературы), как автономными СКВ (кондиционерами сплит-систем и т.п.)
Прямоточные СКВ
Прямоточные системы кондиционирования воздуха полностью работают нанаружном воздухе, который обрабатывается в кондиционере, а затем подается впомещение.
Рециркуляционные СКВ
Рециркуляционные системы кондиционирования воздуха, работают без притокаили с частичной подачей (до 40%) свежего наружного воздуха или нарециркуляционном воздухе (от 60 до 100%), который забирается из помещения ипосле его обработки в кондиционере вновь подается в это же помещение.Классификация кондиционирования воздуха по принципу действия на прямоточные ирециркуляционные обуславливается, главным образом, требованиями к комфортности,условиями технологического процесса производства либо технико-экономическимисоображениями.
СКВ с качественным регулированием
Центральные системы кондиционирования воздуха с качественнымрегулированием метеорологических параметров представляют собой широкий ряднаиболее распространенных, так называемых одноканальных систем, в которых весьобработанный воздух при заданных кондициях выходит из кондиционера по одномуканалу и поступает далее в одно или несколько помещений. При этом регулирующийсигнал от терморегулятора, установленного в обслуживаемом помещении, поступаетнепосредственно на центральный кондиционер.
СКВ с количественным регулированием
Системы кондиционирования воздуха с количественным регулированием подаютв одно или несколько помещений холодный или подогретый воздух по двумпараллельным каналам. Температура в каждом помещении регулируется комнатнымтерморегулятором, воздействующим на местные смесители (воздушные клапаны),которые изменяют соотношение расходов холодного и подогретого воздуха вподаваемой смеси.
Двухканальные системы используются очень редко из-за сложностирегулирования, хотя и обладают некоторыми преимуществами, в частности,отсутствием в обслуживаемых помещениях теплообменников, трубопроводовтепло-холодоносителя, возможностью совместной работы с системой отопления, чтоособенно важно для существующих зданий, системы отопления которых приустройстве двухканальных систем могут быть сохранены. Недостатком таких системявляются повышенные затраты на тепловую изоляцию параллельных воздуховодов,подводимых к каждому обслуживаемому помещению.
Двухканальные системы так же, как и одноканальные, могут бытьпрямоточными и рециркуляционными.
Степень обеспечения метеорологических условий
Кондиционирование воздуха, согласно СниП 2.04.05-91, по степениобеспечения метеорологических условий, подразделяется на три класса:
— Первый класс — обеспечивает требуемые для технологического процессапараметры в соответствии с нормативными документами.
— Второй класс — обеспечивает оптимальные санитарно-гигиенические нормыили требуемые технологические нормы.
— Третий класс — обеспечивает допустимые нормы, если они не могут бытьобеспечены вентиляцией в теплый период года без применения искусственногоохлаждения воздуха.
Создаваемое вентиляторами давление
По давлению, создаваемому вентиляторами центральных кондиционеров,системы кондиционирования воздуха подразделяются на системы
— Низкого давления (до 100 кг/кв.м.),
— Среднего давления (от 100 до 300 кг/кв.м.)
— Высокого давления (выше 300 кг/кв.м.).
2 Структура мирового и российского рынковкондиционеров
На рисунке1 приведены данные продаж 1999 г. по странам Европы (оконные, мобильные кондиционеры и настенные сплит-системы) [1]. Как иследовало ожидать, лидерами потребления климатических систем были страны ЮжнойЕвропы — Испания, Италия и Греция. Непосредственно за ними следовала Россия(около 160 тыс. единиц). Однако по продажам на душу населения (рисунок 2) нашастрана опережает только относительно прохладную Германию.

/>
Рисунок 1 — Объемы продаж кондиционеров в странах Европы (в штучномисчислении, 1999 г.)
/>
Рисунок 2 — Продажи кондиционеров в единицах на 1000 жителей.
Динамика роста российского рынка кондиционеров приведена на рисунке 3.

/>
Рисунок 3 — Продажи кондиционеров различных типов на российском рынке в1995 — 2000 гг
2001 г. стал рекордным для российского рынка, который впервыеперешагнул отметку в 300 тыс. кондиционеров и теперь занимает третье место вЕвропе. На Россию теперь приходится 11… 12% европейского рынка, а по темпампродаж за последние годы мы существенно обгоняем соседей по континенту.
На рисунках 4 и 5 приведены доли продаж различных марок бытовых и полупромышленныхклиматических систем классов RAC и РАСна российском рынке в 2001 г. в количественном и стоимостном выражениисоответственно [1]. Как видно из сравнения графиков, ценовые и количественныедоли большинства марок не совпадают.

/>
Рисунок 4 — Доли продаж различных марок климатических систем нароссийском рынке в 2001 г. в количественном выражении
/>
Рисунок 5 — Доли продаж различных марок климатических систем нароссийском рынке в 2001 г. в ценовом выражении
С точки зрения качества и надежности выпускаемой техники, все брендыможно условно разделить на две большие группы: в первую входят японские фирмы (Chofu, Daikin, Fujitsu General, Hitachi, Mitsubishi Heavy, Mitsubishi Electric, Panasonic, Sanyo, Sharp,Toshiba), во вторую — корейские (LG, Samsung) и израильские (Electra, Tadi-ran). Производители из Европы (AirWell, Argo, DeLonghi) и США (Carrier, McQuay, White-Westin-ghouse, York) по стоимости, надежности и другим характеристикамзанимают промежуточное положение между этими группами.
/>ОСНОВНАЯ ЧАСТЬ/>1Структурная схема
Структурная схема данной системы управления кондиционером представлена наРисунке 6.
/>
Рисунок 6 – Структурная схема
/>2Выбор элементной базы2.1 Пульт управления
Пульт управления кондиционером содержит два ЖКИиндикатора текущей температуры помещения и задаваемой пользователем(поддерживаемой в помещении) температуры и две кнопки изменения задаваемойпользователем температуры в сторону увеличения и уменьшения (шаг изменениятемпературы – 1°С).При включении кондиционера задаваемая пользователем температура будет поумолчанию равна 24°С,как наиболее комфортная температура при небольшой физической нагрузке (ходьба впомещении, легкий труд) в летнее время.
Для отображения температур выберем ЖКИ модуль типа МТ-10Е7-7 российскойфирмы МЭЛТ.
Основные характеристики модуля МТ-10Е7-7:
тип индикатора – цифровой семисегментный;
количество строк – 1;
количество разрядов – 10;
напряжение питания – минимальное +3В, максимальное +5В;
ток потребления – 30мкА;
способ регулировки контрастности – ручной (внешний резистор);
количество выводов – 12;
габаритные размеры – 66х31,5х9,5 мм.
Модуль МТ-10Е7-7 – это недорогой, достаточно распространенныйоднострочный индикатор, содержащий десять семисегментных разрядов для выводацифровой информации. Выводы модуля выполнены в виде контактных площадок напечатной плате с отверстиями для пайки проводов. Назначение выводов модуляпоказано в таблице 1. Подпрограммы вывода симвомов и строк на индикаторыпоказаны в приложении 1.

Таблица 1 – Назначение выводов модуля МТ – 10Т7-7Номер вывода Название цепи Назначение 1 A0 Вход выбора «адрес/данные» 2 WR2 Инверсный вход синхронизации записи 3 WR1 Прямой вход синхронизации записи 4 DB3 Разряд 3 Шина данных/адреса 5 DB2 Разряд 2 6 DB1 Разряд 1 7 DB0 Разряд 0 8 GND Общий провод 9 V0 Вход управления контрастностью +E Питание модуля 11 +L Не используется 12 -L Не используется  2.2 Работа с шиной 1-Wire
Шина 1-Wire [2] построена по технологии Master / Slave.То есть, на шине должно быть хотя бы одно ведущее устройство (Master). Все остальные устройства должныбыть ведомыми (Slave). Ведущееустройство инициирует все процессы передачи информации в пределах шины. Master может прочитать данные из любого Slave устройства или записать их туда.Передача информации от одного Slaveк другому напрямую невозможна. При разработке протокола 1-Wire большое внимание было уделенонадежности работы сети. Изначально было поставлено условие – работа должнапроисходить в условиях плохих контактов.
Рассмотрим принципиальную электрическую схему, реализующую 1-Wire интерфейс. Схема соединения ведущегои ведомого устройств посредством однопроводной шины приведена на рисунке 7. Наэтом рисунке также показаны особенности схемной реализации выходных каскадовведущего и ведомого устройств. В схеме 1-Wire интерфейса используются выходные каскады с открытымколлектором (стоком) и общей нагрузкой RH для всех элементов сети. Вспецификации для 1-Wire интерфейса специально оговаривается,что резистор RH должен находиться в непосредственнойблизости от ведущего устройства.
Биполярный транзистор в выходном каскаде ведущего устройства показанусловно. С не меньшим (а скорее большим) успехом можно применять микросхемы, укоторых выходные каскады построены по КМОП технологии. Ведомые устройстваобычно построены на КМОП транзисторах. В режиме ожидания все выходныетранзисторы закрыты. На шине присутствует напряжение логической единицы.Информация по шине передается при помощи отрицательных импульсов. Любоеустройство, подключенное к шине, как ведущее, так и ведомое, может создаватьотрицательные импульсы и тем самым передавать информацию. Однако ведомоеустройство начинает процесс передачи только под управлением ведущего.
В составе ведомого устройства имеется источник тока, показанный нарисунке 7 двумя пересекающимися окружностями. Этот источник создает внутреннююутечку на входе 1-Wire интерфейса. Смысл этой утечки –создать нулевой уровень сигнала на внутренних элементах ведомого устройства приего отключении от шины 1-Wire.Когдасоединение будет восстановлено, внутренняя логика ведомой микросхемыобнаруживает перепад напряжения с нуля на единицу. Сразу после получения такогосигнала ведомая микросхема должна выдать на шину 1-Wire сигнал присутствия.

/>
Рисунок 7 – Электрическая схема 1-Wire интерфейса
Каждое из подключенных устройств (ведущее и ведомое) должно содержатьспециальное управляющее устройство, реализующее протокол шины 1-Wire. Именно протокол определяет всеправила передачи информации.
Протокол 1-Wire имеетнесколько разных уровней. Самый низкий уровень описывает, каким образомпередаются отдельные биты. При этом предусмотрен двусторонний обменинформацией. Все операции на шине производятся исключительно под управлением Master устройства. Оно может выполнятьоперации двух видов: записывать информацию в Slave устройство и считывать информацию из него. Информацияпередается побайтно, в последовательном виде, бит за битом, начиная с младшегобита. В обоих случаях Master устройствовырабатывает на шине тактовые импульсы. Для этого оно периодически«подсаживает» шину при помощи своего 1-Wire интерфейса. Полезная информация передается путем изменениядлительности этих импульсов.
При записи информации длительностью импульсов управляет Master устройство. В режиме чтения Master устройство начинает формированиеимпульса, но Slave устройство может продлеватьдлительность любого импульса, «подсаживая» в свою очередь сигнал на линии внужный момент. На рисунке 8 изображены две временные диаграммы. Верхняядиаграмма иллюстрирует режим записи двух разных битов информации, а нижняя –режим чтения. Участки диаграммы, где линия «отпущена» и уровень сигнала налинии определяется резистором RH, изображены на диаграмме при помощи тонких линий. Участки, где один изэлементов сети «подсаживает» линию, изображены при помощи толстых линий.
Рассмотрим, как происходит запись бита. В исходном состоянии все Slave устройства, подключенные к шине,находятся в режиме ожидания. Линия «отпущена». То есть выходные транзисторывсех элементов шины закрыты, и напряжение на шине определяется резисторомнагрузки RH. Для того, чтобы записать данные водно из Slave устройств, Master начинает формировать отрицательные синхроимпульсы(верхняя диаграмма на рисунке 8). На каждый передаваемый бит формируется одинимпульс. Импульсы передаются путем «подсаживания» линии до нуля. Для передачикаждого бита выделяется промежуток времени стандартной длительности. Этотпромежуток получил название «слот» (Slot). Как видно из рисунка 8, величина слота для передачи одного битаинформации (Tx) должна лежать в пределах от 60 до120 мкс.

/>
Рисунок 8 – Временная диаграмма процесса записи и чтения одного бита
Если значение передаваемого бита равно 0, то Master вырабатывает «длинный» импульс. Его длина равнадлительности слота. Для передачи «единичного» бита Master вырабатывает «короткий» импульс, который, по сути,является чистым синхроимпульсом (1 мкс). Оставшаяся часть сигнала должна бытьзаполнена единичным сигналом. Между двумя слотами должен быть небольшойпромежуток, во время которого сигнал на шине тоже равен единице. Slave устройство в этом режиме лишьпринимает сигнал. Для этого оно постоянно находится в режиме ожидания.Обнаружив начало синхроимпульса, Slaveустройство начинает процесс приема информации. Передний фронт этого импульсаслужит Slave устройству началом отсчета. Выдержавпаузу, равную длительности синхроимпульса, Slave устройство считывает уровень сигнала на линии. Если вэтот момент времени уровень сигнала на линии равен нулю, значит и передаваемыйбит равен нулю. Если же сигнал будет равен единице, то бит равен единице.Протокол шины 1-Wire жесткоопределяет длительность слота. Интервал между слотами в свою очередь имеетограничение только на минимальное значение – 1мкс. Максимальное значение этогоинтервала неограниченно. С помощью этого интервала может легко регулироватьсяскорость передачи данных от своего максимального значения (16,3 Кбит/с)практически до нуля.
Отличие процесса чтения бита (нижняя диаграмма на рисунке 8) от записисостоит в том, что Masterвырабатывает только синхроимпульсы (короткой длительности). Обнаруживсинхроимпульс, Slave устройстводолжно удлинить или не удлинять этот синхроимпульс в пределах слота. Еслиочередной считываемый бит равен нулю, то синхроимпульс удлиняется Slave устройством, если же он равенединице, то удлинения не происходит. На рисунке 8 участки временной диаграммы,где линию «подсаживает» Masterустройство, изображены толстой сплошной линией. Участки, которые «подсаживает» Slave устройство изображены прерывистойсплошной линией. Master устройствосчитывает эту информацию, контролируя уровень сигнала внутри слота сразу послесинхроимпульса.
Для надежной работы однопроводного интерфейса необходимо, чтобы впроцессе передачи информации всеми элементами сети строго соблюдались временныепараметры. При этом более жесткие требования предъявляются к Master устройству, так как в его роливыступает микроконтроллер, способный с высокой точностью отрабатывать любыевременные интервалы. При записи ведомое устройство (в нашем случае датчиктемператур), обнаружив на шине передний фронт синхроимпульса, должносформировать задержку минимум в 15 мкс и затем произвести проверку сигнала нашине. Допустимый разброс времени задержки лежит в пределах от 15 до 60 мкс.Этот диапазон показан на рисунке 8 в виде области, обозначенной как «Зонапроверки уровня Slave». В режимечтения бита Master вырабатывает только синхроимпульсы,длительность которых равна 1 мкс. Если читаемый бит равен нулю, Slave устройство продлевает длительностьсинхроимпульса. Минимальная длительность продленного импульса составляет 15мкс. Для этого временного интервала тоже допускается довольно значительныйразброс: длительность удлиненного импульса может вырасти еще на 45 мкс. Есличитаемый бит равен единице, удлинения синхроимпульса не происходит. Такимобразом, для того, чтобы правильно оценить значение читаемого бита, Master устройство должно прочитать уровеньсигнала на шине сразу после окончания синхроимпульса, но не позднее, чем через15 мкс. Зона проверки для Masterустройства в режиме чтения значительно уже аналогичной зоны для Slave устройства в режиме записи.
Ряд отдельных бит при чтении или записи формируется в байты. Байтыпередаются младшим битом вперед. Первые восемь битов – это первый байт.Следующие восемь – второй байт, и так далее. Начало всей этой цепочкиопределяется сигналом сброса. Импульс сброса – это сверхдлинный отрицательныйимпульс на шине 1-Wire,вырабатываемый ведущим устройством. Временная диаграмма, иллюстрирующая процессформирования импульса сброса, приведена на рисунке 9. С импульсом сброса тесносвязан еще один служебный сигнал – сигнал присутствия на шине. Сигналприсутствия вырабатывает каждое Slaveустройство сразу после окончания действия импульса сброса. Master устройство должно проконтролироватьналичие этого импульса. Если импульса нет, значит на линии нет ни одного Slave устройства.

/>
Рисунок 9 — Временная диаграмма процесса начального сброса
Кроме инициации импульсов присутствия импульс сброса переводит в исходноесостояние всю систему. Любые незаконченные процессы на линии моментальнозавершаются, и отсчет битов начинается с начала. Длительность импульса сбросадолжна быть не менее 480 мкс. Процесс передачи информации по линии можетначинаться не раньше, чем через 480 мкс после окончания действия импульсасброса (рисунок 9). В этом временном интервале и ожидается появление сигналаприсутствия. Для этого после окончания импульса сброса Master «отпускает» линию и ждет сигнала от Slave устройства. Slave устройство, обнаружив импульс сброса, выдерживаетпаузу в 15..60 мкс, а затем «подсаживает» линию. Длительность импульсаприсутствия составляет 60..240 мкс. Ведущее устройство проверяет наличиенулевого уровня на линии в середине этого интервала. Если сигнал обнаружен, тоэто значит, что на линии имеется нормально работающее Slave устройство и Master может продолжать работу в сети. Если сигнал не обнаружится,микроконтроллер перейдет к обработке этой ситуации.
Любая операция в сети Masterустройство — Slave устройство начинается с команды.Команда представляет собой байт информации. Каждая команда имеет свойсобственный код. Выполнение команды начинается с импульса сброса. Затем Slave устройство вырабатывает, а Master устройство проверяет сигналприсутствия на линии. Если сигнал на месте, Master выдает на линию код команды в режиме записи. Получивэтот код, Slave устройство переключается в режимвыдачи информации.
При описании протокола 1-Wireпринято выделять два уровня, связанных с логикой работы протокола – сетевой итранспортный уровни. Сразу после сигнала сброса шина переходит на сетевойуровень. Отработав команду сетевого уровня, шина переходит на транспортный. Системакоманд сетевого уровня протокола 1-Wire включает 5 команд: Чтение ПЗУ, Чтение ПЗУ (для микросхемы DS1990A команда имеет другой код), Совпадение ПЗУ, Пропуск ПЗУ,Поиск ПЗУ. Все эти команды, кроме команды Пропуск ПЗУ, не используются вслучае, если в сети имеется лишь одно устройство. Поскольку для выполнениятребований технического задания одного датчика температуры вполне достаточно,ограничимся описанием команды Пропуск ПЗУ (Skip ROM). Эта команда (код – 0ССН) позволяет перейти натранспортный уровень всем устройствам в сети, оставляя их активными. В нашемслучае устройство всего одно.
После команды сетевого уровня все элементы сети переходят на транспортныйуровень. Список команд этого уровня разнится для каждого устройства. Командыэлектронного датчика температуры DS18B20 будут рассмотрены в данной работепозднее. Следует отметить, что для выполнения очередной команды послевыполнения команды транспортного уровня необходимо произвести импульсначального сброса.
Теперь приступим непосредственно к увлекательному описанию интегральногодатчика температуры фирмы Dallas Semiconductor DS18B20.2.3 Выбор датчика температуры
Фирма Dallas Semiconductor выпускает целый набормикросхем-измерителей температуры. Самый первый интегральный термодатчик с 1-Wire интерфейсом назывался DS1820. Эта оригинальная микросхемасразу после своего появления приобрела популярность у разработчиков электроннойаппаратуры.
DSI8B20 — более совершенная микросхема. Высокая дискретностьдостигается увеличением количества разрядов результирующего кода. Причем вмикросхеме имеется возможность изменения количества.разрядов выходногорегистра. По умолчанию выходной регистр имеет 9 разрядов. Изменяя содержимоерегистра конфигурации, микроконтроллер может увеличить количество разрядов до 12.Точность измерения температуры в диапазоне —10...+85*С составляет -±0,5°С. Навыходе микросхемы DS18B20 мы получаем прямой код. значениекоторого равно величине измеряемой температуры. В 9-разрядном режиме значениеизмеряемой температуры выдается -С дискретностью в 0,5'С. В двенадцатиразрядномрежиме количество отсчетов повышается в восемь раз. Максимальное времяпреобразования для микросхемы DS18B20 также зависит от выбранногоколичества разрядов. Для 12-разрядного режима работы оно равно 750 мс.2.4 Внутренняя архитектура микросхемы DS18B20
Микросхема DS18B20 выпускается вдвух модификациях [2], Они отличаются исключительно конструкцией корпусу, Нарисунке 10 приведен внешний вид обеих модификаций микросхемы. Основной вариантмикросхемы выполнен в миниатюрном пластмассовом корпусе типа ТО-92. Второйвариант заключен в планарный восьмивыводной, миниатюрный корпус типа SOIC. Для того, чтобы различать эти дваварианта исполнения, второй вариант получил обозначение DSI8B20Z. Микросхема имеет всего тризадействованных вывода: DO-вход/выходданных 1-Wire интерфейса; VDD — вывод внешнего питания: GND — общий провод. Расположение выводовпоказано на рисунке 10.
Внутренняя структура микросхемы DS18B20 приведена на рисунке 11. Сигнал сшины DQ и напряжение с внешнего выводапитания (VDD ) прежде всего поступают на схемупаразитного питания. Однако в схеме паразитного питании имеется еще одиндополнительный элемент, о котором не говорилось ранее. Это датчик наличияпитания. Датчик представляет собой пороговый элемент, на который поступаетнапряжение питания от внешнего источника. Датчик вырабатывает логически сигнал, поступающий в схему управления. В результатемикросхема получает возможность автоматически определять режим своего питания.Микроконтроллер, работающий в качестве Master устройства на той же шине, имеет возможностьзапросить у всех подключенных к ней датчиков информацию о режиме питания исоответствующим образом скорректировать алгоритм своей работы.
/>
Рисунок 10 — Внешний вид микросхем DS18B20 в двух разныхисполнениях
/>
Рисунок 11 — Внутренняя структура микросхемы DS18B20
Сигнал DQ, обеспечив напряжением схему паразитного питания поступаетна 1-Wire порт, который служит аппаратнойчастью одно проводного интерфейса. Данные, полученные при помощиэтогоинтерфейса, поступают в блокнотную память. Блокнотная память предназначена длявременного хранения информации от датчика температуры и трех специальныхрегистров: регистра верхнего предела (Тн), регистра нижнего предела (TL) и регистра конфигурации. Все триспециальных регистра представляют собой три ячейки флэш-памяти (EEPROM).
С блокнотной памятью также связангенератор контрольной суммы. Этот генератор автоматически вычисляет контрольнуюсумму всех регистров блокнотной памяти. При считывании информации из блокнотнойпамяти контрольная сумма также читается и служит для проверки правильностипрочитанной информации. Применение блокнотной памяти позволяет повыситьнадежность передачи информации. Информация никогда не записываетсянепосредственно в ячейки флэш-памяти (регистры Тн и TL и регистр конфигурации).Предварительно она помещается в блокнотную память. Затем микроконтроллер читаетее оттуда и проверяет контрольную сумму. Если результат проверки положительный,микроконтроллер подает по шине специальную команду «Копирование блокнотнойпамяти в EEPROM».
Посредством 1-Wire интерфейса можно также прочитатьсодержимое 64-битного ПЗУ, в котором хранится ID код микросхемы. Последние восемь битов ID кода представляют собой контрольнуюсумму первых ее 56 битов.
Структура памяти микросхемы DS18B20 приведена на рисунке 12. Память состоит из восьмирегистров блокнотной памяти и трех регистров EEPROM. Операции записи и чтения блокнотной памятивыполняются для всех ее регистров одновременно. При; записи все восемьрегистров блокнотной памяти записываются одним блоком из восьми байт. Точно такжеодним блоком происходит считывание информации. На рисунке 12 для каждогорегистра обозначена его позиция внутри передаваемого блока (байт 0, байт 1 итак далее).
Два самых младших регистра (байт 0 и байт 1) содержат результатпреобразования температуры в код. Следующие три регистра служат дляпромежуточного хранения информации для регистров флэш-памяти. В регистр Тн записываетсяверхний предел температуры. В регистр TL — нижний. Эти регистры используют для проверки факта выходавеличины измеренной температуры за границы установленного диапазона.Микроконтроллер способен быстро отыскать в сети Micro LAN все термодатчики, у которых не соблюдается этоусловие. Если не нужен механизм ограничения температуры, то регистры Тни TL можно использовать как дополнительныеячейки энергонезависимой памяти и хранить в них любые данные. Например, тудаможно записать код места положения конкретного датчика. Регистр конфигурациислужит для переключения количества разрядов измерителя температуры.

/>
Рисунок 12 — Структура памяти микросхемы DS18B20
Все три описанные выше регистра (байт2, байт 3, байт 4) имеют механизм автоматического восстановления. При включениипитания в них автоматически копируется информация из соответствующих регистров EEPROM. В регистр температуры послевключения питания помешается код 0550Н (старший байт 05Н, младший байт 50Н),что соответствует температуре 85°С.
Оставшиеся три регистра блокнотнойпамяти (байт 5, байт 6 и байт 7) в микросхеме DSI8S20 неиспользуются. Они зарезервированы для будущих ее модификаций. При чтении всетри неиспользуемых регистра возвращают код OFFH (единицы во всех разрядах). Последний, восьмойрегистр блокнотной памяти — это регистр генератора контрольной суммы.
Формат регистра температуры приведен на рисунке 13.
/>
Рисунок 13 — Структура регистра температуры
После окончания процессапреобразования эти регистры содержат прямое значение величины измереннойтемпературы в двоичном виде. Регистр температуры — это два регистра блокнотнойпамяти. На рисунке 13 показан вес каждого разряда регистра. Биты с 11-го по15-й (обозначенные буквой S)содержат одно и то же значение. Оно равно знаку записанного числи (0 — плюс, 1— минус). Положительные значения температуры записываются в прямом коде, аотрицательные — в дополнительном (для того, чтобы перевести двоичное число вдополнительный код, нужно инвертировать его, а затем прибавить единицу).
Теперь рассмотрим формат регистров Тни TL. На рисунке 14 он представлен вграфическом виде. Как видно из рисунка, эти регистры имеют всего по восемьразрядов. Причем старший разряд — это знак числа. Поэтому верхний и нижнийпределы температуры могут устанавливаться лишь с шагом в 1 градус. Для записиположительных и отрицательных чисел в регистрах Тн и TL также используются прямой идополнительный коды.
/>
Рисунок 14 — Формат регистров Тни TL.
Формат регистра конфигурации приведенна рисунке 15. Для изменения конфигурации используются только два разряда этогоРегистра — бит 5 и бит 6. Значения остальных битов показаны на рисунке. Втаблице 2 представлены все четыре режима, которые можно установить при помощирегистра конфигурации. Номер режима определяется разрядами RO и R1.При отключении лишних разрядов уменьшается точность измерения температуры, ноодноименно уменьшается и время, необходимое для преобразования температуры вкод. В таблице 2 для каждого из режимов работы приведено максимальное значениевремени преобразования.Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0 R1 R0 1 1 1 1 1
Рисунок 15 — Формат регистраконфигурации
Таблица 2 — Выбор количества разрядов
/>
На рисунке 16 показана схемавключения микросхем DSI8B20 врежиме внешнего питания. Внешнее питаниеподается через вывод VDD. Если термодатчик находится на значительномудалении от микроконтроллера, то применен такой схемы включения не оченьжелательно, так как для питания датчика придется прокладывать еще один (третий)провод.
Второй вариант включения микросхем DSI8B20 изображен нарисунке 17. В такой схеме реализованы два режима питания. Для переключениярежимов используется управляемый электронный ключ KI. Ключ управляется от микроконтроллера, для чего используетсяотдельная линия ввода/вывода. Такая схема позволяет переключать режимы питанияпрограммным путем. Основной режим работы для схемы, изображенной на рисунке 17- это режим паразитного питания. В этом режиме ключ KI закрыт и напряжении на шине определяется резистором нагрузкиR1, что позволяет передаватьинформацию по шине, используя 1-Wireпротокол.
В нужный момент ключ KI открывается и на шину поступает полноценное питание отисточника VPU. Питание поступает только на времявыполнения одной из энергоемких команд. Пока ключ К1 открыт, информационныйобмен по шине невозможен. Микроконтроллер выдерживает шину в таком состояниинеобходимое время, а затем закрывает ключ К1. Шина возвращается в обычный режимработы и снова обретает возможность передачи данных. Для того, чтобы микросхемаDSI8B20 правильно работала в режиме паразитного питания, нужносоединить между собой выводы VDDи GND и подключитьоба этих вывода к общему проводу, как показано на рисунке.
/>
Рисунок 16 — Схема включениятермодатчика в режиме внешнего питания
/>
Рисунок 17 — Схема включениятермодатчика в режиме паразитного питания
На рисунке 18показана схема включаявспомогательной цепи и цепи питания. Роль однопроводной шины выполняет линия Р1.1микроконтроллера. Резистор R2 —это нагрузочный резистор шины. Рекомендованное значение номинала этогорезистора 4,7 кОм. Электронный ключ для переключения режима питания собран наэлементах VT1, R3, R4 и R5. Микроконтроллер управляет ключомпри помощи линии Р1.0. Резистор R5служит для ограничениятока базы транзистора VT1.Резистор R4 введен для надежного закрываниятранзистора. Резистор R3 —страховочный. Он служит для ограничения тока при коротком замыкании в цепидатчика.
/>
Рисунок 18 — Схема включениявспомогательной цепи и цепи питания2.5 Система команд транспортного уровнямикросхемы DSI8B20
Система команд транспортного уровня микросхемы DSI8B20представлена в таблице 3:
Таблица 3 – Система команд транспортного уровня микросхемы DS18B20Код команды Описание 4EH Запись блокнотной памяти 0BEH Чтение блокнотной памяти 0B4H Чтение режима питания 0B8H Чтение из EEPROM в блокнотную память 48H Копирование блокнотной памяти в EEPROM 44H Запуск процесса преобразования
В данном проекте используется внешний режим питания микросхемы, поэтомукоманда «Чтение режима питания» (0B4H) не используется.
Команда «Запись блокнотной памяти» (Write Scratchpad). При выполнении этой командымикроконтроллер выдает на шину следующие сигналы:
-сигнал начального сброса;
-команду сетевого уровня «Пропуск ПЗУ»(0ССН);
-код операции Запись блокнотной памяти» (4EH);
-восемь байт для записи во все восемь регистров этой памяти.
Микросхема DS18B20 принимает все эти данные изаписывает в регистры памяти.
Команда «Чтение блокнотной памяти» (Read Scratchpad). При выполнении этой командымикроконтроллер выдает на шину следующие сигналы:
-сигнал начального сброса;
-команду сетевого уровня «Пропуск ПЗУ»(0ССН);
-код операции «Чтение блокнотной памяти» (0ВEH);
Затем он считывает восемь байт данных из блокнотной памяти.
Команда «Чтение из EEPROMв блокнотную память» (Recall E2).
Команда служит для переноса информации из EEPROM в блокнотную память. Для выполнения этой командымикроконтроллер производит следующие действия:
-выдает на шину сигнал начального сброса;
-выдает команду сетевого уровня «Пропуск ПЗУ»(0ССН);
-выдает код операции «из EEPROMв блокнотную память» (0B8H).
Сразу после получения этой команды содержимое EEPROM копируется в блокнотную память. Эта командавыполняется автоматически каждый раз после включения питания.
Команда «Копирование блокнотной памяти в EEPROM» (Copy Scratchpad). Привыполнении этой команды микроконтроллер выдает на шину следующие сигналы:
-сигнал начального сброса;
-команду сетевого уровня «Пропуск ПЗУ»(0ССН);
-код операции «Копирование блокнотной памяти в EEPROM» (48H);
-выполняет процедуру ожидания конца операции.
В результате выполнения этой операции содержимое блокнотной памятикопируется в EEPROM.
Команда «Запуск процесса преобразования» (Convert T). При выполнении этой команды микроконтроллер выдает на шинуследующие сигналы:
-сигнал начального сброса;
-команду сетевого уровня «Пропуск ПЗУ»(0ССН);
-код операции «Запуск процесса преобразования» (44H);
-выполняет процедуру ожидания конца операции.
В результате выполнения этой команды измеренная температура преобразуетсяв код. Полученный код помещается в соответствующий регистр микросхемы DS18B20.
Длительность процедуры ожидания определяется сигналом готовности. Сигналготовности формируется следующим образом. Как только микросхема термодатчиканачинает выполнять одну из команд «Копирование блокнотной памяти в EEPROM» или «Запуск процессапреобразования», она «подсаживает» 1-Wire шину. Микроконтроллер проверяет уровень сигнала на шине. Обнаруживнулевой сигнал, он переходит в режим ожидания. Режим ожидания продолжается дотех пор, пока микросхема термодатчика не «отпустит» шину. 2.6 Выбор вентилятора
В кондиционерах применяются вентиляторыс крыльчаткой тангенциального типа [1], поток воздуха в которых поступает вкрыльчатку с одной стороны, а выходит с другой, изменив направление своегодвижения.
Поперечное сечение такого вентиляторапоказано на рисунке 19. Срыв потока с кромок лопаток крыльчатки приводит кобразованию ядра завихрения, служащего источником шума и гидравлических потерьустройства. Для обеспечения максимального акустического комфорта при работекондиционера и максимальной дальнобойности воздушной струи фирмы-производителиуделяют большое внимание отработке конфигурации направляющего аппарата.
/>
Рисунок 19 — Вентилятор кондиционера
В ряде моделей кондиционеров Daikin и Toshiba крыльчатка вентилятора имеет переменный шаг лопастей,что исключает возможность возникновения резонансных частот и связанного с нимишума.
Конструкторы кондиционеров стараются увеличить диаметркрыльчатки вентилятора, чтобы при том же расходе воздуха снизить его скорость.Чтобы избежать возникновения пульсаций воздушного потока на резонансныхчастотах, лопатки вентилятора располагают под разными углами к оси вращения.Характеристики выбранного вентилятора приведены в таблице 4.
Таблица 4 — Характеристики вентилятораТип Центробежный Диаметр / длина крыльчатки, мм 70/598 Модель двигателя YDK10-2A Количество полюсов 2 Максимальная скорость вращения, об/мин 1950 Номинальная выходная мощность, Вт 10
Сопротивление обмоток, Ом (при 20°С).
Цвет изоляции выводов:
«Белый – серый»
«Белый – розовый»
410±10%
301±10% Устройство безопасности Тип Внутренний термопредохранитель Температура срабатыания, °С 145±8 Управляющий конденсатор Емкость, мкФ 1,0 Мощность, ВА 450  2.7 Выбор компрессора
В бытовых и полупромышленныхкондиционерах в настоящее время используются три основных типа компрессоров —ротационный, спиральный и поршневой, причем на долю ротационных компрессоровприходится около 90%. Так из 23 млн. компрессоров, проданных по всему миру в 1995 г. для применения в климатических системах, более 20 млн. были ротационного типа. Вклиматических системах большой мощности (от 160 до 3500 кВт) применяютсявинтовые компрессоры. Ротационные компрессоры (рисунок 20) осуществляютвсасывание и сжатие газа с помощью вращающегося на валу ротора. За счетвращательного движения рабочих органов в компрессорах этого типа (также как вспиральных и винтовых) существенно снижены пульсации давления и пусковые токи.
Ротационные компрессоры [3] производятся в двух вариантах: состационарными и вращающимися пластинами. Рабочий цикл компрессора со стационарнойпластиной показан на рисунке 21. Ротор эксцентрично закреплен на валукомпрессора. При вращении вала эксцентрик обкатывается по внутреннейповерхности цилиндра, сжимая перед собой очередную порцию хладагента. Пластинаразделяет области высокого и низкого давления.
/>
Рисунок 20 — Устройство ротационного компрессора

/>
Рисунок 21 — Рабочий цикл ротационного компрессора состационарными пластинами
а — рабочий объем цилиндра заполнен хладагентом,
б — начало сжатия хладагента (слева от ротора) и всасываниеновой его порции (справа),
в — продолжение сжатия и всасывания,
г — завершение сжатия и заполнение рабочего объема цилиндрановой порцией хладагента.
1 — пластина,
2 — пружина,
3 — отверстие всасывания,
4 — ротор,
5 — рабочий объем цилиндра,
6 — выпускной клапан.
Ряд фирм-производителей Panasonic, Sanyo и др.) применяют в своих ротационные компрессоры сдвумя роторами (рисунок 22) [1]. На валу компрессора эксцентрично вращаются дваротора, каждый из которых осуществляет сжатие хладагента в своем цилиндре.Эксцентрики расположены на валу противофазно (рисунок 23), благодаря чемууменьшается суммарная вибрация при их совместной работе. Цилиндры двухроторногокомпрессора соединены между собой перепускной трубкой (байпасом) с управляющимклапаном, что позволяет эффективно регулировать производительность прииспользовании компрессоров данного типа.
/>
Рисунок 22 — Ротационный компрессор с двумя роторами

/>
Рисунок 23 — Противофазное расположение роторов на валудвухроторного компрессора
В компрессорах с вращающимисяпластинами эти пластины (две или более), разделяющие области высокого и низкогодавления, установлены на роторе.
Рабочий цикл ротационного компрессорас двумя вращающимися пластинами показан на рисунке 24.

/>
Рисунок 24 — Рабочий циклротационного компрессора с вращающимися пластинами
а — рабочий объем цилиндра заполненхладагентом,
б — начало сжатия хладагента ивсасывание новой его порции,
в — продолжение сжатия и всасывания,
г — завершение сжатия и заполнениерабочего объема цилиндра новой порцией хладагента.
1 — ротор,
2 — цилиндр,
3 — отверстие всасывания,
4 — выпускное отверстие
Одна из проблем ротационныхкомпрессоров связана с эффектами высоко-температурного разложения смазочныхматериалов. В результате трения лопасти о вращающийся ротор происходит разогревее кромки, где образуется так называемая «горячая точка». Если температура этойточки превышает 200 °С, синтетическое эфирное масло, используемое при работе нахладагенте R407c, разлагается на спирт и жировые кислоты, которые забиваюткапиллярные трубки и снижают расход хладагента. Лабораторные испытанияротационных компрессоров показывают, что после 2000 ч работы на хладагенте R407c уменьшение расхода хладагента может достигать 30% исопровождаться значительным снижением холодопроизводительности.
В 1998 г. фирма Daikin предложила новый вид ротационного компрессора — с качающимсяротором (Swing компрессор). В этом компрессоре при повороте вала пластина,жестко связанная с ротором, совершает сложное движение(возвратно-поступательное и колебательное одновременно). Поскольку лопасть иротор представляют собой единое целое, снижаются потери на трение и отсутствуетзона местного нагрева («горячая точка»). Кроме того, отсутствие перетечекхладагента между пластиной и ротором сокращает общие перетечки в компрессоре.Рабочий цикл Swing-компрессора показан на рисунке 25.
/>
Рисунок 25 — Рабочий цикл Swing-компрессора.
фаза 1 — рабочийобъем цилиндра заполнен хладагентом
фаза 2 — началосжатия хладагента и всасывание новой его порции
фаза 3 — сжатие ивсасывание продолжается
фаза 4 — завершениесжатия и заполнение рабочего объема цилиндра новой порцией хладагента
В климатических системах малой исредней мощности (от 5 до 40 Вт) используются также спиральные компрессоры [1](компрессоры Scroll). Компрессор (рисунок 26) состоит издвух стальных спиралей, расширяющихся от центра к периферии цилиндра ивставленных одна в другую. Одна из спиралей закреплена неподвижно, вокруг неевращается подвижная спираль. Профиль спиралей образован эквивалентной кривой.Подвижная спираль установлена на эксцентрике и при вращении ее внешняяповерхность как бы катится по внутренней поверхности неподвижной спирали.Благодаря этому точка контакта спиралей постепенно перемещается от периферии кцентру, сжимая перед собой пары хладагента и вытесняя их в центральноеотверстие в верхнее крышке цилиндра. Так как точек контакта несколько (онирасположены на каждом витке подвижной спирали), то происходит более плавноесжатие паров, уменьшается нагрузка на электродвигатель, особенно в моментпуска.
/>
Рисунок 26 — Спиральный компрессор(компрессор Scroll).
В технологическом плане компрессор Scroll более сложен, поскольку необходимообеспечить герметичность по торцам спиралей и очень точное прилегание профилейспиралей. Поэтому компрессоры данного типа пока нашли ограниченное применение.
В поршневом компрессоре (рисунок 27)сжатие газа происходит при возвратно-поступательном движении поршня в цилиндре/

/>
Рисунок 27 — Поршневой компрессор
а — фаза всасывания хладагента,
б — фаза сжатия и выпуска хладагентавысокого давления.
1 — выпускной клапан, 2 — линиянагнетания хладагента,
3 — поршень, 4 — цилиндр,
5 — шатун,
6 — коленчатый вал,
7 — головка клапанов,
8 — линия всасывания хладагента,
9 —впускной клапан
В фазе всасывания (а) поршеньдвижется вниз от верхней, так называемой «мертвой точки». При этом над поршнемсоздается разрежение и через открытый впускной клапан хладагент поступает вцилиндр. В фазе сжатия (б) поршень движется вверх и сжимает хладагент, которыйвыходит из цилиндра через выпускной клапан. При движении в цилиндре поршень никогдане касается головки клапанов, оставляя свободное пространство, которое называют«мертвым объемом».
В зависимости от типа конструкцииразличают герметичные, полугерметичные и открытые поршневые компрессоры. Вгерметичном компрессоре электродвигатель и компрессор находятся в единомгерметичном корпусе. Такие компрессоры, мощностью 1,7...35 кВт применяются вхолодильных машинах малой и средней мощности. В полугерметичных компрессорах,мощность которых варьируется от 30 до 300 Вт, электродвигатель и компрессорзакрыты, соединены напрямую и расположены по горизонтали в едином разборномконтейнере. В случае повреждения можно извлекать электродвигатель, получаядоступ к клапанам, поршню, шатунам и другим элементам конструкции. В открытыхкомпрессорах электродвигатель расположен снаружи (вал с соответствующимисальниками выведен за пределы корпуса).
Основным недостатком поршневогокомпрессора является наличие пульсаций давления паров хладагента на выходе изкомпрессора, а также большие пусковые нагрузки. Поэтому электродвигатель должениметь запас мощности для пуска компрессора и иметь акустическую защиту дляснижения уровня шума.
Количество запусков компрессора является наиболее критичнымдля его срока службы. Именно на режиме запуска происходит наибольшее количествоотказов, поэтому приходится ограничивать время между повторными пускамикомпрессора (как правило, не менее 6 мин), и время между остановом компрессораи его повторным пуском (2...4 мин). Характеристики выбранного компрессораприведены в таблице 5.
Таблица 5 – характеристики компрессора.Модель PH180X1C-4DT2 Номинальная выходная мощность компрессора, Вт 800 Объем смазочного масла (SUNISO 4GSD), см3 400
Ток при заторможенном роторе компрессора, А
-220 В
-240 В
23,6
25,5 Сопротивление обмотки компрессора, Ом (при 20°С) C-R: 3,13 C-S: 4,46 Предохранительное устройство компрессора Тип Внутреннее Модель UPQE0591-T51 Рабочая температура,°С Открыто 150±5 Закрыто 90±10 Ток управления, А (внутренняя температура 25°С) 25 (переключение через 3-10 с) Управляющий конденсатор 25 450 2.8 Выбор микроконтроллера
Внастоящее время среди всех 8-разрядных микроконтроллеров — семейство MCS-51является несомненным чемпионом по количеству разновидностей и количествукомпаний, выпускающих его модификации. Оно получило свое название от первогопредставителя этого семейства — микроконтроллера 8051, выпущенного в 1980 годуна базе технологии HMOS. Удачный набор периферийных устройств, возможностьгибкого выбора внешней или внутренней программной памяти и приемлемая ценаобеспечили этому микроконтроллеру успех на рынке.
Важнуюроль в достижении такой высокой популярности семейства 8051 сыграла открытаяполитика фирмы Intel, родоначальницы архитектуры, направленная на широкоераспространение лицензий на ядро 8051 среди большого количества ведущихполупроводниковых компаний мира.
Врезультате на сегодняшний день существует более 200 модификациймикроконтроллеров семейства 8051, выпускаемых почти 20-ю компаниями. Этимодификации включают в себя кристаллы с широчайшим спектром периферии: отпростых 20-выводных устройств с одним таймером и 1К программной памяти досложнейших 100-выводных кристаллов с 10-разрядными АЦП, массивамитаймеров-счетчиков, аппаратными 16-разрядными умножителями и 64К программнойпамяти на кристалле. Каждый год появляются все новые варианты представителейэтого семейства. Основными направлениями развития являются: увеличениебыстродействия (повышение тактовой частоты и переработка архитектуры), снижениенапряжения питания и потребления, увеличение объема ОЗУ и FLASH памяти накристалле с возможностью внутрисхемного программирования, введение в составпериферии микроконтроллера сложных устройств типа системы управления приводами,CAN и USB интерфейсов и т.п.
Всемикроконтроллеры из семейства MCS-51 имеют общую систему команд [4]. Наличиедополнительного оборудования влияет только на количество регистров специальногоназначения.
Основнымипроизводителями клонов 51-го семейства в мире являются фирмы Philips, Siemens,Intel, Atmel, Dallas, Temic, Oki, AMD, MHS, Gold Star, Winbond, Silicon Systemsи ряд других.
Врамках СССР производство микроконтроллера 8051 осуществлялось в Киеве, Воронеже(1816ВЕ31/51, 1830ВЕ31/51), Минске (1834ВЕ31) .
Дляданной задачи был выбран микроконтроллер AT89C51фирмы Atmel[5].Несмотря на то, что фирма Atmelуже давно делает упор на новое поколение микроконтроллеров (серии AVR),микроконтроллер AT89C51тоже довольно широко применяется. И не случайно, так как эта микросхема имеетеще достаточно большой потенциал. Параметры микросхемы позволяют создаватьширокий спектр современных электронных устройств, находящих свое применение всамых различных областях микропроцессорной техники. Главным преимуществомвыбора именно этой микросхемы является ее широкая доступность и приемлемаяцена.
/>3Функциональная схема
Функциональнаясхема кондиционера изображена на рисунке 28.
/>
Рисунок28 — Функциональная схема кондиционера
/>4Алгоритм работы кондиционера
Алгоритмработы кондиционера представлен на рисунке 29.
/>
Рисунок29 — Алгоритмработы кондиционера
/>5Разработка программы
Программная реализация алгоритма работы кондиционерана языке ассемблер для микроконтроллера AT89C51 представлена вприложении 1.
В основной программе сначала определяются константы:коды банков памяти, счетчик задержки, буфер для приема данных из термодатчика,буфер для хранения заданной температуры помещения Туст, счетчик рабочих цикловкондиционера для определения его режима работы. Дальше присваивается начальноезначение Туст и вызывается подпрограмма опроса клавиатуры с последующимопределением нажатых клавиш. При последующих опросах клавиатуры, если клавишанажата, то происходит переход к метке in1. Затем следует изменение Туст (увеличение или уменьшение на 1) и вызовряда процедур для вывода Туст на ЖКИ №1. После вывода Туст запускаетсяпреобразование температуры помещения в термодатчике (Тпм) и чтение ее (ссохранением в буфере bufLAN).Далее Тпм выводится на ЖКИ №2, после чего происходит обработка Тпм (а именнозапись Тпм в один байт) и сравнение Тпм
Подпрограмма inkl ввдда с клавиатуры опрашивает две клавишы S1 и S2 ивыводит в аккумулятор результат (0 бит аккумулятора – отвечает за кнопку S2, 1 бит аккумулятора – за кнопку S1).
Далее в приложении 1 представлен ряд подпрограмм дляинициализации и вывода символов и строк на оба ЖКИ дисплея. Таблица символов ts необходима для удобства работы скодами символов ЖКИ дисплеев (в ней все коды представлены по порядку).Подпрограмма вывода сообщения об ошибке будет использоваться при работе с 1-Wire шиной.
Подпрограмма вывода Туст на ЖКИ №1 записывает из bufLAN2 значение Туст в аккумулятор иотделяет единицы температуры от десятков, после чего выводит значение Туст наЖКИ №1 со знаком «градус Цельсия».
Подпрограмма zader вызывается подпрограммами reoh иreob. Она с интервалом в 100мс опрашиваетклавиатуру и выводит Тпм на ЖКИ №2. При нажатии клавиш подпрограмма записываетв аккумулятор значение 1 и завершает свою работу. По состоянию аккумулятора вподпрограмме reoh либо происходит выход изподпрограммы с целью анализа клавиатуры в основной программе (при значении 1аккумулятора), либо продолжается ее выполнение (при значении 0 аккумулятора).На выполнение подпрограммы тратится примерно 3мин.
Подпрограмма sttmp предназначена для передачи по шине команды «Запуск процессапреобразования». Для этого, в качестве команды сетевого уровня, используетсякоманда «Пропустить ПЗУ». Датчик переходит в режим преобразования. Подпрограммаиспользует банк номер 2. Сначала происходит сохранение в стеке регистра psw и переключение банков.
Затем вызов процедуры начального сброса. Снова контролируетсякод ошибки. Затем формируется команда сетевого уровня «Пропустить ПЗУ». Командатранспортного уровня («Запуск процесса преобразования») формируется с помощьюкода 044Н. Получив эту команду, термодатчик переходит в режим преобразованиятемпературы, а программа переходит в режим ожидания. Управление передается пометке stm4.
Процедура ожидания занимает всего две строки. Эти двестроки реализуют цикл ожидания сигнала готовности. Сигнал готовности формируетмикросхема термодатчика в момент, когда он закончит процесс преобразованиятемпературы в код. Далее происходит чтение бита информации и его проверка. Еслипрочитанный бит равен нулю, то управление передается по метке stm4 и цикл чтения продолжается. Процессчтения и проверки продолжается до тех пор, пока очередной раз не будет полученаединица.
Подпрограмма содержат команды обработки ошибок. Вслучае возникновения ошибки управление передается к метке stm6. Здесь вызывается подпрограмма prErr, которая выводит сообщение об ошибкена экран. Затем управление передается по метке stmf на начало подпрограммы, и процесс передачи командызапуска на преобразование повторяется.
Подпрограмма чтения температуры называется rdtmp. Подпрограмма производит считываниетемпературы с датчика. Она возвращает значение измеренной температуры в видедвух байт, записанных в две старшие ячейки буфера bufLAN. Младший байт регистра температуры записывается поадресу bufLAN, а старший — по адресу bufLAN+1.
Начинается подпрограмма rdtmp с команды сохранения регистра psw. Далее включается банк номер два.
После этого подпрограмма может начинать выполнениесвоей главной задачи: чтение регистров блокнотной памяти термодатчика.Начинается этот процесс с вызова процедуры начального сброса, проверяетсяпризнак ошибки. Далее выдается команда «Пропустить ПЗУ».
При этом датчик перейдет на транспортный уровень.Далее, программа перейдет к формированию команды «Чтение блокнотной памяти».Сначала в линию выдается код операции (0ВЕН). Затем начинается процесс чтениярегистров термодатчика. Читаются только два первых регистра. Именно они исодержат значение температуры. Протокол 1-Wire допускает такой режим работы. Первый байт значениятемпературы помещается в ячейку памяти с адресом bufLAN. Второй байт и помещается в ячейку с адресом bufLAN+1. На этом подпрограмма rdtmp завершает свою работу. Перед выходомиз подпрограммы восстанавливается содержимое регистра psw.
Подпрограмма resLAN предназначена для формирования импульса начального сброса. Эта жеподпрограмма производит проверку наличия сигнала присутствия на линии.Подпрограмма способна обнаруживать два вида ошибок: обрыв линии и короткоезамыкание. В случае возникновения ошибки подпрограмма возвращает код ошибкичерез аккумулятор.
Начинается подпрограмма resLAN с формирования импульса начального сброса. Процессформирования начинается с того, что программа «подсаживает» линию. Затемформируется задержка длительностью 700 мкс. После чего линия «отпускается». Дляформирования задержки используется метод пустого цикла. Сначала параметру циклаприсваивается начальное значение. В данном случае это значение равняется 100.Именно столько раз в цикле вызывается подпрограмма Dely. После формирования импульса начального сбросапрограмма приступает к проверке сигнала присутствия на линии. Для этого онаформирует задержку в 65 мкс, а затем проверяет значение сигнала на линии. Еслинет обрыва на линии и сигнал присутствия сформирован нормально, то именно вэтот момент времени уровень сигнала на линии должен быть равен нулю. Еслиуровень сигнала на линии р1.1 равен нулю, то это значит, что ошибки необнаружено. Управление передается по метке rst3. Если уровень сигнала на линии равен единице, то ваккумулятор помещается код ошибки «обрыв на линии», а затем подпрограммадосрочно завершается.
Если все же произошел переход к метке rst3 (ошибка не обнаружена),подпрограмма формирует задержку в 500 мкс и снова проверяет уровень сигнала налинии. Задержка в 500 мкс необходима для правильного завершения процессаначального сброса. По истечении этого промежутка времени сигнал присутствиядолжен уже закончиться и уровень сигнала на линии должен быть равен единице.Если это не так, то это значит, что линия просто закорочена. В таком случае ваккумулятор записывается код ошибки 2 («короткое замыкание») и программадосрочно завершается. Если короткого замыкания не обнаружено, то управлениепередается по метке rst3 иподпрограмма завершается нормальным образом. В этом случае, перед завершениемподпрограммы в аккумулятор помещается нулевой код. Ноль— это код отсутствияошибки.
Подпрограмма mrslot (чтение слота) служит для чтения одного бита информации из ведомогоустройства. Подпрограмма возвращает прочитанный бит через CY (признак переноса). Сначалаподпрограмма формирует синхроимпульс. Для этого она «подсаживает» линию,формирует задержку в 1 мкс, а затем линию отпускает. После окончаниясинхроимпульса формируется задержка в 13 мкс и считывается уровень сигнала налинии. Прочитанный бит помещается в CY. Это и есть результат чтения слота. Однако на этом выполнениеподпрограммы не завершается.
Прежде чем выйти из подпрограммы, необходимо закончитьформирование длительности слота. Общая длительность слота должна лежать впределах 60… 120 мкс. Для попадания времени выполнения нашей подпрограммы вэтот диапазон формируется задержка в 60 мкс. И лишь после этого подпрограммазавершается.
Программа mwlow записывает в слот нулевое значение. Действие подпрограммы сводится кформированию в пределах слота отрицательного импульса длительностью 80 мкс.
Подпрограмма mwhi чуть сложнее. Она выполняет запись в слот единичного значения. Действиеподпрограммы начинается с формирования синхроимпульса длительностью 5 мкс. Дляформирования такой длительности производится однократное обращение кподпрограмме Delay. После завершения синхроимпульсаформируется задержка 75 мкс. Эта задержка доводит длительность слота достандартной величины.
Подпрограмма Dely служит дляформирования временных интервалов. Как видно из текста подпрограммы, онапредставляет собой один оператор nор и завершается командой выхода изподпрограммы. Такая подпрограмма обеспечивает задержку, примерно равную 5 мкс.Подпрограмму Delay удобно использовать при формированииотносительно больших задержек по времени, включая вызов этой подпрограммы втело пустого цикла. Командапор не выполняет абсолютно никаких действий. В то же время, ее выполнениезанимает один машинный цикл микроконтроллера. При тактовой частоте, равной 12МГц, длительность машинного цикла будет одна микросекунда (12/12 = 1 мкс). Вмикросхеме АТ89С2051 частота тактового генератора делится на 12. Дляформирования небольших временных интервалов достаточно нескольких операторовпор, поставленных подряд друг за другом. Для более длительных интерваловприменяется пустой цикл. Цикл просто выполняет несколько пустых операторов определенноечисло раз. В представленных здесь подпрограммах широко используются оба способаформирования временных интервалов. В качестве счетчика цикла используетсяспециальная ячейка памяти, обозначенная в программе, как LoopCnt.
Подпрограмма wr8LAN выводит содержимое байта,полученного через аккумулятор, бит за битом в режиме записи. Именно поэтомуописываемая подпрограмма представляет собой, по сути, цикл для передачи битов.Регистр r1 используется в качестве параметрацикла. Начальное значение r1равно восьми (по числу битов в байте). Выполнение цикла начинается с командыизвлечения очередного бита. Для этого содержимое аккумулятора сдвигается вправопри помощи команды rrс. Действие этой команды приводит к тому, что очереднойбит оказывается в ячейке признака переноса CY.
Затем программа оценивает значение этого бита. Если онравен единице, вызывается подпрограмма записи единицы в слот mwhi. В противном случае вызываетсяподпрограмма mwlow для записи в слот нуля. Послевыполнения одной из этих программ управление передается по метке wb3. В этой строке находится командаорганизации цикла. Она передает управление на начало цикла, если это непоследний бит, и завершает цикл, если бит последний.
Подпрограмма wr1LAN предназначена для передачи по шинеодного бита в режиме записи. Эта подпрограмма очень похожа на wr8LAN. Отличие только в отсутствии цикла. Бит информации,предназначенный для передачи по шине 1-Wire, передается в подпрограмму через ячейку CY. В зависимости от значения этогобита выполняется либо подпрограмма mwhi, либо mwlow.
Подпрограмма rd8LAN предназначена для чтения одногобайта по шине 1-Wire. Программавозвращает прочитанный байт в аккумулятор. Основная часть подпрограммы — этоцикл ввода битов. В качестве параметра цикла используется регистр r1. Перваякоманда, выполняемая в теле цикла — вызов подпрограммы чтения слота. Онапомещает прочитанный бит в ячейку CY. Затем бит помещается в аккумулятор методом сдвига. Сдвиг производитсяпри помощи команды rrс. После каждого такого сдвига в аккумулятор «вдвигается»очередной прочитанный бит. После восьми циклов сдвига аккумулятор будетсодержать полноценный прочитанный байт. Оператор djnz служит для организации всего этого цикла.
Подпрограмма rdlLAN предназначена для чтения одного бита из линии 1-Wire. Она вызывает подпрограмму чтения слота mrslot.
В ОЗУ микроконтроллера температура записана в двоичномвиде. Перед нами стоит задача: перевести это значение из двоичной системы вдесятичную. И лишь затем вывести его на экран.
Для двоично-десятичного преобразования удобноиспользовать команду целочисленного деления div. Для того, чтобы осуществить двоично-десятичноепреобразование, нужно выполнить целочисленное деление исходного числа на 10.После такой операции аккумулятор будет содержать частное, а регистр b — остаток от деления. Частное будетсоответствовать количеству десятков, а остаток — количеству единиц в десятичномпредставлении числа.
Затем можно просто вывести на экран два этих числа.Сначала содержимое аккумулятора, а затем содержимое регистра b. В результате, на экране мы получимизображение целой части значения температуры в десятичном виде. Такой простойметод преобразования будет правильно работать только в том случае, если целаячасть числа не превышает значения 99. При большем значении температуры встаршем разряде полученного десятичного числа будут появляться буквы: частноеот деления будет больше 10. Однако для измерения температуры помещениядиапазона (0...60)°С вполне достаточно. Дляреализации описанного алгоритма разработана подпрограмма prtmp. Подпрограмма prtmp читает два байта температуры избуфера bufLAN и выводит значение целой частитемпературы на экран в десятичном виде.
Подпрограмма reoh обеспечивает режим охлаждения работы кондиционера. Она дискретно (синтервалом в 3мин.) вклычает и выключает компрессор и вентилятор и анализируетразницу Туст и Тпм. Если Тпм меньше Туст на 2 градуса в течении двух цикловработы кондиционера в режиме охлаждения, то кондиционер переходит в режимобогрева (подпрограмма reoh спомощью аккумулятора переходит к метке in4основной программы). Если нет, то кондиционер остается в режиме охлаждения(переходит к метке in5). Подпрограмма reoh так же вызывает подпрограмму zader ( если клавиша нажата, то переход с помощью аккумулятора к метке in1).
Подпрограмма reob обеспечиваетрежим обогрева работы кондиционера. Она не представлена в приложении 1, ноработает аналогично подпрограмме reoh (включаети выключает не компрессор, а нагревательный элемент).
/>ЗАКЛЮЧЕНИЕ
В проекте были разработаны структурная и функциональная схемыкондиционера с микропроцессорным управлением, в которых были учтены всенеобходимые элементы. Также был разработан алгоритм и большая часть программы.
Разработанная система управления позволяет поддерживать заданнуютемпературу в помещении, удовлетворяет основным требованиям: обеспечиваетэкономичность, низкую стоимость, простоту в использовании и минимальные затратына эксплуатацию.
В процессе выполнения работы был выбран термодатчик с 1-Wireинтерфейсом, который оптимально подходит для решения задач курсового проекта.Была разобрана работа 1-Wire интерфейсана разных уровнях программной реализации. Выбраны типичные исполнительныеустройства кондиционера, такие, как компрессор, вентилятор, нагревательныйэлемент по таким критериям, как низкая стоимость, простоту в использовании иминимальные затраты на эксплуатацию. Был выбран микроконтроллер семейства МК51по тем же критериям.
/>СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.  В.В.Коляда. Кондиционеры – М.:СОЛОН-Пресс, 2002 – с. 233.
2.  А.В.Белов. Конструирование устройствна микроконтроллерах – СПб.: Наука и техника, 2005 – с. 255.
3.  www.inrost.ru — научно-техническаябиблиотека сайта фирмы ИНРОСТ.
4.  А.В.Логинов. Программированиемикро-ЭВМ семейства МК51: Учеб. Пособие – СПб.: Балт. гос. тех. ун-т, 1996 –72с.
5.  www.atmel.ru — официальный сайт корпорации Atmel.
/>ПРИЛОЖЕНИЕ/>Приложение1; основная программа
bank0                   EQU  00000000B; кодыбанков памяти
bank1                   EQU  00001000B
bank1                   EQU  00010000B
bank2                   EQU  00110000B
                   DSEG
                   ORG 30H
LoopCnt:    DS     1                ; счетчикзадержки
bufLAN:     DS     8                ; буфердля приема данных из MicroLAN
bufLAN2:   DS     8                ; буфердля Туст
bufLAN3:   DS     1                ; счетчикрабочих циклов кондиционера
                   ORG 60H           ; началостека
stack:          DS     20H           ; глубинастека
main: movbufLAN2, #18H             ; начальноезначение Туст=24 градуса Цельсия
          callinkl
          jzin3                             ; есликлавиши не нажаты переход
in1:    cjnea, #11B,in2           ; если обе клавишинажаты переход
          incbufLAN                   ; Тустувеличить на 1
          jmpin3
in2:    decbufLAN2
in3:    calleclr1                       ; вывод Туст
          mova, #2
          callecur1
          callprtmu                     ; Туст наЖКИ№1
          calleclr2
          mova, #2
          callecur2
          callsttmp                      ; запускпреобразованияТпм
          callrdtmp                     ; чтениеТпм
          callprtmp                     ; выводТпм на ЖКИ     №2
          mova, bufLAN+1                  ; записьТпмв аккумулятор
          swapa
          anla, #0F0H
          movR5, a
          mova, bufLAN
          swapa
          anla, #0FH
          adda, R5                      ; ваккумуляторе байт Тпм
          mova, #LE(a,bufLAN2)                 ; сравнениеТпм
          movbufLAN3, #0                  ; обнулениесчетчика циклов работы кондиционера
          cjnea, #0FFFFH,in5             ; обработкаусловияТпм
in4:    callreob
          jmpin6
in5:    callreoh
in6:    movb, a
          mova, EQ(b, #1)
          cjnea, #0FFFFH, in7
          jmpin1
in7:    mova, EQ(b, #4)
          cjnea, #0FFFFH, in5
          jmpin4
; Подпрограммаввода с клавиатуры (0 бит аккумулятора – за S2,1 бит – за S1)
inkl:  setb P0.0                       ; установка1 на линиях клавиатуры
          setbP0.1
mova, P0                     ; считываниепорта p0
anla, #00000011B                 ; обнулениелишних разрядов
xrla, #00000011B                 ; инвертирование
ret
; подпрограммасброса ЖКИ №1
eres1: movP2, #0FH                        ; засылаемадрес регистра блокировки
setbP2.4
clrP2.4
movP2, #01000001B            ; записываемкод снятия блокировки
setbP2.4
clrP2.4
movP2, #0                   ; устанавливаемадрес на первый разряд
setbP2.4
clrP2.4
ret
;подпрограмма сброса ЖКИ №2
eres2: movP3, #0FH
setbP3.4
clrP3.4
movp3, #01000001B
setbP3.4
clrP3.4
movP3, #0
setbP3.4
clrP3.4
ret
; подпрограммаочистки ЖКИ №1
eclr1: calleres1                       ; сброс экрана
movP2, #01000000B            ; установкауправляющего кода
movR0, #20                          ; инициализациясчетчика разрядов
c11:   setP2.4                         ; импульсзаписи
clrP2.4
          djnzR0, c11                           ; операторцикла
          ret
;подпрограмма очистки ЖКИ №2
eclr2: calleres2
movP3, #01000000B
movR0, #20
c21:   setP3.4
clrP3.4
          djnzR0, c21
          ret
; подпрограммаустановки курсора для ЖКИ №1 по аккумулятору
ecur1:          anla, #0FH                   ; отделяембиты адреса
movP2, a                     ; устанавливаемадрес на первый разряд
setbP2.4
clrP2.4
ret
;подпрограмма установки курсора для ЖКИ №2 по аккумулятору
ecur2:          anla, #0FH
movP3,a
setbP3.4
clrP3.4
ret
; таблицасимволов
          ORG 0600H
ts:      DB    0EEH                             ;0
          DB    060H                    ;1
          DB    02FH                    ;2
DB    06DH                             ;3
DB    0E1H                    ;4
DB    0CDH                            ;5
DB    0CFH                             ;6
DB    068H                    ;7
DB    0EFH                             ;8
DB    0EDH                            ;9
DB    0EBH                             ;A
DB    0C7H                           ;b       
DB    08EH                    ;C
DB    067H                    ;d
DB    08FH                    ;E
DB    08BH                             ;F
DB    000H                    ;
DB    0A9H                             ;°
DB    001H                    ;-
DB    003H                    ;r
DB    047H                    ;o
; подпрограммавывода символа на ЖКИ №1 через аккумулятор
prch1:         pushDPL                     ; сохранениерегистров в стеке
pushDPH
pushb
movDPTR, #ts             ; началотаблицы символов
movc, acc.7                           ; сохраняемзначение точки
clracc.7                        ; сбрасываемзначение бита
movca, @a+DPTR                ; получаемвыводимый код
movacc.4, c                           ; восстанавливаемзначение точки
movb, a                        ; сохраняемего в b
anla, #0FH                   ; отделяеммладший полубайт
movP2, a                     ; выводимего на индикатор
setbP2.6                       ; вкл. Режимвывода данных
setbP2.4                       ; импульсзаписи
clrP2.4
mova, b                        ; восстанавливаемвыводимый код
swapa
anla, #0FH                   ; отделяемстарший полубайт
movp2, a                      ; выводимего на индикатор
setbp2.6                       ; вкл. Режимвывода данных
setbP2.4                       ; импульсзаписи
clrP2.4
popb
popDPH                      ; восстановлениерегистров
popDPL
ret
; подпрограммавывода символа на ЖКИ №2 через аккумулятор
prch2:         pushDPL                     ; сохранениерегистров в стеке
pushDPH
pushb
movDPTR, #ts             ; началотаблицы символов
movc, acc.7                           ; сохраняемзначение точки
clracc.7                        ; сбрасываемзначение бита
movca, @a+DPTR                ; получаемвыводимый код
movacc.4, c                           ; восстанавливаемзначение точки
movb, a                        ; сохраняемего в b
anla, #0FH                   ; отделяеммладший полубайт
movP3, a                     ; выводимего на индикатор
setbP3.6                       ; вкл. Режимвывода данных
setbP3.4                       ; импульсзаписи
clrP3.4
mova, b                        ; восстанавливаемвыводимый код
swapa
anla, #0FH                   ; отделяемстарший полубайт
movP3, a                     ; выводимего на индикатор
setbP3.6                       ; вкл. Режимвывода данных
setbP3.4                       ; импульсзаписи
clrP3.4
popb
popDPH                      ; восстановлениерегистров
popDPL
ret
; подпрограммавывода сообщения на ЖКИ №2
prstr2:        pushpsw                      ; сохранениерегистра psw
          movpsw, #bank3         ; включаембанк 3
ps1:   mova, #0
          movca, @a+DPTR                ; получениеочередного символа
          cjnea, #0, ps2                        ; еслиэто не последний выводим
          poppsw                       ; завершениеподпрограммы
ret
ps2:   callprch2                      ; выводсимвола на экран
          incDPTR                      ; увеличиваемзначение указателя
jmpps1
; подпрограммавывода сообщения об ошибке
prErr:         pushacc
          calleclr2                       ; очисткаэкрана
          mova, #2                      ; курсорв позицию 2
          callecur2
          movDPTR, #serr         ; вывести надпись«Error»
          callprst2
          popacc
          callprch2                      ; вывод номераошибки
          ret
; сообщение«Error»
          ORG 0680H
Serr:  DB    14,19, 19, 20, 19, 0     ; сообщение «Error»,0 в конце – признак окончания слова
; подпрограммавывода Туст на ЖКИ №1
prtmu:        mova, #16
          callprch1
          mova, bufLAN2
          movb, #10
          divab
          callprch1
          mova, b
          callprch1
          mova, #17
          callprch
mova, #0CH
callprch1
ret
; подпрограммас длительностью выполнения примерно 3 мин. опроса клавиатуры и вывода Тпм
zader:          movR2, #7
za1:   movR1, #255
za2:   movR0, #56;
za3:   movLoopCnt, #255
za4:   callDelay
          djnzLoopCnt, za4
djnzR0, za3
callinkl                         ; опрос клавиатуры
jnzza5                                    ; переходпри нажатии
calleclr2                       ; вывод Тпм
mova, #2
callecur2
callsttmp
callrdtmp
callprtmp
djnzR1, za2
djnzR2, za1
mova, #0
ret
za5:   mova, #1
          ret
; подпрограммазапуска процесса измерения температуры
sttmp:         pushpsw
          movpsw, #bank2         ; выборбанка 2 памяти
stm1: callresLAN                   ; сброс
          cjnea, #0, stm6             ; еслиошибка переход
          mova, #0CCH                        ; пропускПЗУ
          callwr8LAN
          mova, #44H                          ; запускпреобразования
callwr8LAN
stm4: callrd1LAN                           ; запрособ окончании преобразования
          jnestm4                        ; если неготово / повторить
stm5: poppsw                       ; выход изподпрограммы
          ret
stm6: callprErr                      ; еслиошибка, печать
          jmpstm1                      ; перейти вначало
; подпрограммачтения температуры
; выходныепараметры – температура в bufLAN- младший байт, в bufLAN+1- старший байт
rdtmp:        pushpsw
          movpsw, #bank2         ; выборбанка 2 памяти
          callresLAN                   ; вызовпроцедуры сброса
          cjnea, #0, rtm2             ; еслиошибка
          mova, #0CCH                        ; пропускПЗУ
          callwr8LAN
          mova, #0BEH                       ; выдатькоманду
          callwr8LAN
          callrd8LAN                           ; чтениемладшегобайта
          movbufLAN, a             ; запись вбуфер
          callrd8LAN                           ; чтениестаршего байта
          movbufLAN+1, a                  ; запись в буфер
          poppsw                       ; завершениепрограммы
          ret
rtm2: callprErr                      ; еслиошибка, вывести на экран
          jmprtm1                       ; перейти вначало
; подпрограммаформирования сигнала начального сброса
resLAN:clrP1.1                     ; закорачиваемлинию
          movLoopCnt, #100               ; задержка700 мкс
rst1:  callDelay
          djnzLoopCnt, rst1
          setbP1.1                       ; отпускаемлинию
          movLoopCnt, #9         ; задержка65 мкс
rst2:  callDelay
          djnzLoopCnt, rst2
          jnbP1.1, rst3                          ; проверкасигнала присутствия
          mova, #1                      ; кодошибки «нет датчика»
          ret
rst3:  movLoopCnt, #71                 ; задержка500 мкс
rst4:  callDelay
          djnzLoopCnt, rst4
          jbP1.1, rst5                            ; еслина линии 1 переход
          mova, #2                      ; кодошибки «КЗ в линии»
          ret
rst5:  mova, #0                      ; коднормального завершения
          ret
; подпрограммачтения слота (через признак переноса)
mrslot:        clrP1.1                         ; закоротитьлинию
          nop
          setbP1.1                       ; отпуститьлинию
          callDelay                      ; задержка13 мкс
          callDelay
          nop
          nop
          nop
          movC, P1.1                           ; прочитатьи сохранить бит
          movLoopCnt, #8         ; задержка60 мкс
msl1: callDelay
          djnzLoopCnt, msl1
          ret
; подпрограммазаписи 0 в слот
mwlow:       clrP1.1                ; закоротитьлинию
          movLoopCnt, #11                 ; задержка80 мкс
mwl1:         callDelay
          djnzLoopCnt, mwl1
          setbP1.1                       ; отпуститьлинию
          ret
; подпрограммазаписи 1 в слот
mwhi:         clrP1.1                         ; закоротитьлинию
          callDelay                      ; задержка5 мкс
          setbP1.1                       ; отпуститьлинию
          movLoopCnt, #11                 ; задержка75 мкс
mwh1:        callDelay
          djnzLoopCnt, mwh1
          ret
; процедуразадержки 5 мкс (при тактовой частоте 12МГц)
Delay:         nop
          ret
; программазаписи байта через аккумулятор
wr8LAN:
movR1, #8                   ; инициализациясчетчика разрядов
wb1:  rrcA                             ; младшийбит в C
          jcwb2                                     ; еслитекущий бит = 0
          callmwlow                   ; запись0 в слот
          jmpwb3
wb2:  callmwhi                      ; запись 1 вслот
wb3:  djnzR1, wb1                          ; продолжать,если не последний
          ret
; подпрограммазаписи бита, который передается через С
wr1LAN:
jcwb4                                     ; еслибит = 0
          callmwlow                   ; запись0 в слот
          jmpwb5
wb4:  callmwhi                      ; запись 1 вслот
wb5: 
          ret
; подпрограммачтения байта
rd8LAN:
movR1, #8                   ; счетчикколичества битов
rb1:   callmrslot                     ; чтениеочередного бита
          rrcA                             ; сдвигбитов младшим разрядом вперед
          djnzR1, rb1                           ; продолжать,если не последний
          ret
; подпрограммачтения бита
rd1LAN:
callmrslot
          ret
; выводТпмнаЖКИ№2
prtmp:        mova, #16                    ; вывод пробела
          callprch2
          mova, bufLAN+1                  ; считываемстарший байт
          swapa                                    ; обментетрад
          anla, #0F0H                          ; получилистарший полубайт
          movR5, a                     ; временнозаписываем в R5
          mova, bufLAN             ; считываеммладший байт
          swapa                                    ; обментетрад
          anla, #0FH                   ; получилимладший полубайт
          adda, R5                      ; складываемполубайты
          movb, #10                   ; делениена 10
          divab
          callprch2                      ; выводдесятков
          mova, b                        ; беремостаток от деления
callprch2                      ; выводединиц
mova, #17                    ; выводсимвола «градус»
callprch2
mova, #0CH                          ; выводбуквы«С»(Цельсия)
callprch2
ret
; подпрограммарежима охлаждения
reoh:  clrP0.2                         ; выкл.Нагревательный элемент
          setbP0.4                       ; вкл.компрессор
          setbP0.3                       ; вкл.вентелятор
          callzader
          jzre4                             ; переходпри нажатой клавише
          ret
re4:    clrP0.4                         ; выкл.компрессор
          clrP0.3                         ; выкл.вентелятор
          callzader
          jzre3                             ; переходпри нажатой клавише
          ret
re3:    mova, bufLAN+1
          swapa
          anla, #0F0H
          movR5, a
          mova, bufLAN
          swapa
          anla, #0FH
          adda, R5                      ; ваккумуляторе байт Тпм
          movb, bufLAN2
          movb, #b-2
          mova, #LE(a,b)           ; сравнениеТпм
          cjnea, #0FFFFH,re1             ; переход, если неистина
          incbufLAN3                          ; счетчикциклов режима увеличить на 1
          mova, #GT(bufLAN3,2)
          cjnea, #0FFFFH,re2             ; сравнение «счетчикциклов>=2»
          movbufLAN3, #0                  ; обнулениесчетчика
          mova, #4                      ; в режимобогрева
          ret
re1:    movbufLAN3, #0                  ; обнулениесчетчика
re2:    mova, #5                      ; режимохлаждения
          ret
; конецпрограммы
          end


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

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

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Die Judenverfolgunfg im "Dritten Reich" (1941-1942)
Реферат Личные права
Реферат 115035, Москва, Космодамианская набережная д. 4/22, корпус Б, стр. 2 тел.: +7 (495) 228-78-40, 953-66-26,638-52-72 факс: 953-66-26
Реферат Место коммерческого банка в финансово-кредитной системе
Реферат ООН в деле урегулирование "афганского вопроса" на современном этапе
Реферат Анализ проблемы определения экономической сущности и содержания предпринимательства
Реферат Women Essay Research Paper Women in early
Реферат Мережа Інтернет
Реферат Использование маркетингового подхода при выживании ВУЗов в современных условиях
Реферат Аналіз регуляторного впливу до проекту рішення виконавчого комітету міської ради
Реферат Нобелевские лауреаты России
Реферат Обрунтування параметрів вібродії на мікросорбційний простір вугілля для ефективної десорбції
Реферат Мое отношение к приметам
Реферат Человек в системе менеджмента
Реферат Андреев л. - Тема рождества в рассказе л. н. андреева «ангелочек»