67742

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

Курсовая

Коммуникация, связь, радиоэлектроника и цифровые приборы

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

Русский

2014-09-14

378.5 KB

22 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

Факультет информатики и вычислительной техники

                                                                                           Кафедра ИВС

 

Схема управления бытовым холодильником

Курсовой проект

по дисциплине

Микропроцессорные системы

Выполнил: студент группы ВМ-41 Захаров С. П.     

                                                                                                                                                                                   

       

Проверил:               

                                                                                  

                                                                                          Оценка:

Йошкар-Ола

2005

АННОТАЦИЯ

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

СОДЕРЖАНИЕ

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

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

Также необходимо предусмотреть дополнительное питание, которое может питать устройство несколько часов при отключении основного.

В устройстве необходимо реализовать следующий интерфейс:

  1.  переключатель режимов:
  2.  ЖКИ для вывода информации о времени:

Текущая температура

+

5

°

С

В камере должна поддерживаться температура +5 С, точность поддержания температуры < 0,5 С.

ВВЕДЕНИЕ

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

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

1. ФУНКЦИОНАЛЬНАЯ СПЕЦИФИКАЦИЯ 

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

Векторы

Компрессор включен

Освещение включено

Звуковой сигнал

Z0

-

-

-

Z1

-

+

-

Z2

+

-

-

Z3

+

-

+

Z4

+

+

-

Z5

+

+

+

  1.  Описание интерфейса между системой и пользователем:
  2.  система должна реагировать на выбор режимов кнопками
  3.  система должна реагировать на срабатывание датчика (термометра)
  4.  система должна управлять компрессором, звуковым динамиком, ЖКИ, освещением

Представим функциональную спецификацию в виде документа по категориям ВХОДЫ, ВЫХОДЫ и ФУНКЦИИ.

ВХОДЫ:

  1.  кнопки переключения режимов
  2.  термометр
  3.  датчик открывания двери

ВЫХОДЫ

  1.  управление компрессором
  2.  управление звуковым динамиком
  3.  управление освещением
  4.  ЖКИ

ФУНКЦИИ

  1.  система восстанавливается при зависаниях
  2.  система имеет защиту от дребезга контактов
  3.  при переключении режимов изменяется номинальная температура
  4.  при превышении температуры в камере номинальной включается компрессор
  5.  при критическом превышении температуры подаётся звуковой сигнал
  6.  при открывании двери включается освещение камеры

2. ПРОЕКТИРОВАНИЕ СИСТЕМЫ

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

ВХОДЫ:

  1.  модуль термометра;
  2.  модуль переключателя режимов;
  3.  модуль датчика открывания двери;

ВЫХОДЫ:

  1.  модуль управления компрессором;
  2.  модуль динамика;
  3.  модуль освещения;
  4.  модуль ЖКИ;

ФУНКЦИИ:

  1.  модуль силовых цепей управления компрессором;
  2.  модуль силовых цепей управления освещением;
  3.  модуль защиты от зависания контроллера;
  4.  модуль защиты входных цепей микроконтроллера;

СТАНДАРТНЫЕ МОДУЛИ СИСТЕМЫ:

  1.  модуль контроллера;
  2.  модуль сброса и синхронизации;
  3.  модуль питания;

Программные модули также определяются на основе анализа функциональной спецификации, из которого следует, что система может быть разделена на три части ВХОД, ВЫХОД и ФУНКЦИИ.

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

Часть спецификации функции может быть разделена на три различных модуля:

  1.  Входное состояние кнопок и термометра считывается с помощью процедуры входного модуля. Однако прежде, чем должно быть предпринято какое-либо действие, необходимо проверить состояние этих входов. Все процедуры, выполняющие проверку и определяющие, какие действия должны быть предприняты по результатам проверки, необходимо сгруппировать вместе в модуле проверки;
  2.  Модуль обслуживания охранного таймера;
  3.  Если результат проверки одной из процедур модуля проверки указывает на то, что кнопка была нажата или изменилась температура, то должна быть вызвана процедура для последовательного установления выходных состояний;
  4.  Модуль подавления дребезга контактов;

Модули, которые могут быть реализованы как аппаратным, так и программным способом:

  1.  модуль таймера, для формирования временных интервалов;

Наиболее производительное решение – это использование встроенного модуля таймера, а программный модуль таймера будет осуществлять управление аппаратным узлом.

Модуль подавления дребезга контактов кнопок лучше реализовать аппаратным способом.

В результате разработки проекта системы можно построить её структурную схему:

Рис 1.1. Структурная схема контроллера холодильника

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

Рис 1.2. Функционально-модульная структура ПО контроллера

3. ПРОЕКТИРОВАНИЕ АППАРАТНОЙ ЧАСТИ УСТРОЙСТВА

3.1. Разработка функциональной схемы устройства
Элементная база МПУ требует напряжения питания +5В.

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

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

Для модуля микроконтроллера необходимо определить требования на его архитектуру, в соответствии с заданием и структурной схемой. Так, в нашем случае микроконтроллер должен содержать таймер, контроллер обработки внешних прерываний, охранный таймер. Все современные микроконтроллеры имеют встроенный тактовый генератор с внешней времязадающей цепью. Использование варианта с полностью встроенным тактовым генератором также привлекательно, однако номенклатура таких устройств ограничена. На основании анализа структурной схемы получим, что количество внешних линий ввода/вывода должно быть не менее 20 (две линии ввода сигналов с переключателя режимов, одна с датчика двери, 3 линий ввода сигнала датчика температуры, 11 линий вывода на ЖКИ, по одной на освещение, компрессор и динамик).

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

Схема сброса должна выработать импульс сброса для микроконтроллера при включении питания.

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

В качестве модуля ЖКИ можно выбрать любой одно строчный индикатор с восемью символами в строке.

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

В качестве модуля ламп можно взять любую лампу накаливания, работающий от сети переменного тока в 220 В мощностью 15 Вт.

В качестве модуля динамика можно взять любой динамик с сопротивлением 8 Ом и желательно небольшими габаритами.

Модуль питания в нашем случае преобразует переменное напряжение  ~220 В в напряжение питания для схемы контроллера. Остановимся на промышленном модуле питания АС/DC, имеющем меньшие габариты, повышенную надежность по сравнению с классическим источником питания на трансформаторе и линейном стабилизаторе.

Таким образом, функциональная схема контроллера холодильника будет иметь вид, изображенный на рис. 2.7.

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

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

Модуль защиты от помех может быть реализован на дискретных элементах. Однако в настоящее время лучшим выходом является использование специализированных микросхем, разработанных для подключения механических переключателей. Так серия  МАХ681х защищает от статического электричества  ( 15кВ), большого напряжения на входах (до уровня   25В) и применима для жестких промышленных условий. Кроме того, она снабжена схемой защиты от дребезга контактов, что делает ее идеальным устройством съема состояния с переключателей. Серия МАХ681 представлена тремя   микросхемами МАХ6816 / МАХ6817 / МАХ6818 (с возможностью подключения 1 / 2 / 8 кнопок). Для нашего случая подойдет микросхема МАХ6816. Её внутренняя структура содержит защитные диоды, аппаратную схему подавления дребезга и защиту от статики, типовая схема включения приведена на рис. 2.1.

Рис. 2.1. Типовая схема включения микросхемы МАХ6816

В качестве датчика температуры выберем модель фирмы Dallas Semiconductors DS1620. Она обеспечивает диапазон измерения температуры от –55 до 125 С, с точностью 0,5 С и имеет интерфейс SPI. Кроме того, температурные датчики Dallas Semiconductor позволяют значительно упростить выполнение температурных измерений. Схема подключения изображена на рис. 2.2.

Рис. 2.2. Схема подключения датчика температуры.

На основании анализа требований, предъявляемых к микроконтроллеру, и учитывая, что в задании на разработку нет рекомендации по его выбору, остановимся на микроконтроллере AVR   АТ90LS4433. Его характеристики: 28-выводной корпус – 20 программируемых линий ввода/вывода с выходными буферами, обеспечивающими 40-мА втекающий ток; два 8-разрядных и один 16-разрядный таймеры/счетчики; два внешних и четырнадцать внутренних источников сигнала прерывания; программируемый сторожевой таймер, интерфейс SPI и др.

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

При выборе схемы сброса (супервизора питания) необходимо обратить внимание на то, чтобы длительность импульса, генерируемого схемой по включению питания, была больше длительности, требуемой для сброса микроконтроллера. Кроме того, у АТ90LS4433 сброс низким уровнем.

АТ90LS4433 имеет встроенную схему сброса по включению питания, которая вырабатывает импульс при достижении питания уровня ≈2В. Соответственно, при снижении напряжения питания ниже 2В также произойдет сброс микроконтроллера. Во многих ответственных приложениях работа устройства при напряжении ниже 4,2В не гарантируется. В этих случаях используют внешние схемы сброса, порог срабатывания которых имеет требуемый порог срабатывания. Зададимся уровнем срабатывания схемы сброса в 4,5В.

Выберем супервизор фирмы Dallas – DS 1813-5, удовлетворяющий указанным условиям. Типовая схема его включения приведена на рис 2.3.

Рис.2.3. Типовая схема подключения супервизора питания.

В качестве компрессора выбирается любой питающийся от сети в 220 В 50 Гц.

Схему драйвера управления компрессором и освещением построим на мощных симисторах, которыми будем управлять через оптоэлектронную развязку. Например, фирма MOTOROLA предлагает симисторы серии МАС для токов до 40А и напряжений до 800В. Для управления симисторами фирма выпускает оптоэлектронные приборы серии МОС3хх. На рис. 2.4. представлена типовая схема оптосимисторного управления силовыми цепями.

Рис 2.4. Типовая схема драйвера.

В качестве динамика берём высокочастотный динамик 1ГДВ-1-8 с сопротивлением 8 Ом и габаритами 40x40x29. Схема подключения динамика изображена на рис.2.5.

Рис 2.5. Схема подключения динамика.

В качестве ЖКИ выберем индикатор HDM08111H-1 фирмы Hantronix. Это однострочный 8-символьный индикатор. Его корпус имеет 14 выводов: 8 – под данные, один для сигнала чтения/записи, сигнала разрешения, питания и др. На рис.2.6 показана схема подключения данного устройства:

Рис 2.6. Схема подключения индикатора.

В качестве источника питания, как отмечалось выше, проще всего выбрать промышленный АС/DC модуль. Данные модули выпускаются на разное входное/выходное напряжение с широкой номенклатурой выходной мощности. В нашем случае входное напряжение равно ~220В, выходное +5В. Напряжение, которое должен обеспечить модуль, зависит от мощности потребления контроллера холодильника. Определим приблизительно мощность потребления контроллером холодильника. Ток потребления микросхем составляет:

АТ90LS4433 – 2,5 мА на частоте 1 МГц;

DS 1813-5 – 40 мА;

выходной ток для включения двух оптопар драйвера – 20 мА;

PC 0802-A – 2,5 мА

1ГДВ-1-8 – 600 мА

МАХ6818    –  20 мкА,

входной ток при замыкании всех трёх переключателей составит 1,5 мА

Итого потребляемый ток составит около 686б,5 мА, при 5В питании потребляемая мощность равна 3,4325 Вт. В настоящее время предлагается большой спектр подобной продукции, в частности можно остановиться на AC/DC преобразователях фирмы Franmar.

Окончательная функциональная схема устройства:

Рис 2.7. Функциональная схема контроллера холодильника

4. ПРОЕКТИРОВАНИЕ ПРОГРАММНОЙ ЧАСТИ УСТРОЙСТВА

4.1. Разработка структуры программного обеспечения

В разделе проектирования системы была определена функционально-модульная структура ПО контроллера.

Эта структура должна быть дополнена еще двумя модулями, которые не могут быть выведены из функциональной спецификации – модуль ИНИЦИАЛИЗАЦИИ и модуль РАЗРЕШЕНИЯ ОБЩЕГО ПРЕРЫВАНИЯ. Когда система включается, она должна быть инициализирована, таким образом данный модуль должен находиться на втором уровне нисходящей иерархии – сразу за главным модулем. Разрешение общего прерывания не будем включать в модуль ИНИЦИАЛИЗАЦИИ, с целью лучшей читаемости программы.

В соответствии с функционально модульной структурой процедура MAIN будет иметь вид:

MAIN()

{

   ИНИЦИАЛИЗАЦИЯ СИСТЕМЫ();

   РАЗРЕШЕНИЕ ОБЩЕГО ПРЕРЫВАНИЯ();

   while (1)          

     {

ПРОВЕРКА ();

СБРОС WDT();

      }

}

Первая операция процедуры MAIN обращается к процедуре ИНИЦИАЛИЗАЦИЯ, далее к процедуре РАЗРЕШЕНИЕ ОБЩЕГО ПРЕРЫВАНИЯ. После выхода из этой процедуры осуществляется переход к другим процедурам, которые содержаться внутри бесконечного цикла while. Таким образом в системе обеспечивается проверка нажатия кнопки, проверка состояния датчика температуры и сброс охранного таймера. Эти операции выполняются до тех пор, пока система подключена к источнику питания.

Модуль ИНИЦИАЛИЗАЦИИ должен содержать процедуры, которые выполняют функции инициализации и восстановления после зависания. При включении питания необходимо настроить следующие узлы микроконтроллера: порты, таймеры, систему прерываний, охранный таймер. Порты настраиваются на ввод или вывод информации. Таймер служит для отсчета временных интервалов и  для часов реального времени. Настройка системы прерывания заключается в определении источников прерывания и их разрешения. У охранного таймера настраивается время задержки до его срабатывания, если не будет к нему обращения. Данный модуль является не сложным, поэтому не имеет смысла разбивать его на отдельные процедуры:

ИНИЦИАЛИЗАЦИЯ()

   {   

установка портов на ввод/вывод и задание выходного вектора;

настройка таймера на минимальный дискрет отсчета времени;

настройка постоянной времени охранного таймера;

настройка системы прерывания, разрешение отдельных прерываний;

    }

Модуль РАЗРЕШЕНИЯ ОБЩЕГО ПРЕРЫВАНИЯ разрешает системе реагировать на прерывания. Для контроллера это внешнее прерывание от кнопок/датчика и внутреннее от таймера. Разрешение индивидуальных прерываний выполнено в модуле ИНИЦИАЛИЗАЦИЯ.

Модуль ПРОВЕРКИ проверяет состояние флага нажатия. Если флаг установлен, то запускается процедура соответствующая нажатой кнопке. Эти процедуры содержатся в ВЫХОДНОМ модуле, такие как включения/выключения ламп, запуск электродвигателя вывод информации на ЖКИ.

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

ПРОВЕРКА()

  {        

           Если  флаг нажатия установлен, то выполнить

{

ВЫХОДНОЙ (параметры);      

Сброс флага нажатия;

  Разрешение прерывания по нажатию;

    }

    }

Модуль СБРОС WDT устанавливает охранный таймер в исходное состояние, не позволяя ему сбросить всю систему. Это библиотечная функция языка.

Модуль ТАЙМЕРА выполняет отсчет времени с определенной точностью. Для систем реального времени наиболее просто данный модуль реализуется в виде подпрограммы обработки прерывания по переполнению внутреннего таймера. В теле модуля должна располагаться переменная – счетчик текущего времени, значение которой будет увеличиваться с каждым вызовом прерывания. Синхронизация текущего времени с временем срабатывания кнопки должна осуществляться во входном модуле путем сброса счетчика времени в ноль.

ТАЙМЕР()

   {

перезагрузка таймера для задания периода вызова прерывания;

увеличение счетчика текущего времени;

    }

ВХОДНОЙ модуль должен реагировать на изменение сигнала от кнопок/датчика. Реализуем данный модуль в виде подпрограммы прерывания по входному сигналу. При возникновении прерывания необходимо установить флаг нажатия.

ВХОДНОЙ()

   {

установка флага нажатия;

сброс счетчика текущего времени;

сканирование клавиатуры;

подавление дребезга контактов;

опрос термометра;

    }

 

ВЫХОДНОЙ модуль устанавливает выходной вектор на выходной порт микроконтроллера. Данные сигналы управляют ЖКИ и через драйвер освещением и компрессором.   

    ВЫХОДНОЙ(параметры)

   {        /* начало процедуры*/

установка на порту выходного вектора;  

    }            /* возврат

4.2. Разработка заданного программного модуля

Для реализации выберем модуль ПРОВЕРКИ. Представим его в графическом виде при помощи блок-схемы алгоритма.   

Для реализации выберем модуль ПРОВЕРКИ. Представим его в графическом виде при помощи блок-схема алгоритма.

При входе в процедуру устанавливается состояние Z0 (компрессор выключен, освещение выключено). Затем происходит проверка показаний термометра, датчика двери и, с учётом текущего режима работы (“нормально” или “оттайка”), производится переход в другие состояния. Если температура выше номинальной на допустимую величину, то включается компрессор ( Z2, Z3, Z4, Z5 ). Производится охлаждение воздуха в камере. Как только температура превысит номинальное значение на некоторую величину, компрессов выключается ( Z0, Z1 ). При открытии двери поступает сигнал с датчика двери и включается освещение в камере ( Z1, Z4, Z5 ). При закрытии двери, освещение выключается ( Z0, Z2, Z3 ). Если при включенном компрессоре температура в камере достигла недопустимо высокого значения, подается звуковой сигнал ( Z3, Z5 ). В данном случае предполагается, что дверь холодильника не закрыта или холодильник имеет поломки.

Приведём представление архитектуры ПО контроллера холодильника в виде графа состояний системы.

 

Р – сигнал от датчика двери;

Т – датчик температуры: Т=0 – температура равна номинальной;

T=1 – температура превышает номинальное значение     на допустимую величину;

Т=2 – температура превышает номинальное значение на недопустимую величину.

4.3. Руководство программиста

Программа управления холодильником, написанная на языке С. Текст модуля ПРОВЕРКИ и функции main() представлены ниже.

Программа содержит два обработчик прерываний TimerOverflow1 для часов реального времени, работает на частоте 1 Гц – прерывание каждую секунду. Также содержит процедуру инициализации – INIT(), процедуру сканирования клавиатуры и опрос термометра SCAN(), проверки буфера клавиатуры и сравнение температуры CHECK() (её блок-схема приведена на 16  странице). Функция Time() – увеличивает значение времени на одну секунду.

В программе также используется охранный таймер, сброс которого осуществляется библиотечной процедурой _WDR() в теле основной программы. Период сброса установлен 2,048 в процедуре INIT.

Пояснения к программе приведены в самом листинге.

long tp, t0, t1, tpp;

bool mode;

// Прерывание по переполнению таймера 2 - 1 Гц – для часов

interrupt [TIMER1_OVF1_vect] void TimerOverflow2(void)

 {     

    TCNT2L = 1000;       //Задание периода работы таймера – 1 Гц

 Time();  // Увеличение текущего времени на одну секунду

 }

void main(void)

 {

   INIT();                 //инициализация контроллера

     _SEI();                     // Общее разрешение прерываний

                         // Бесконечный цикл

    while (1)

      {

         _WDR();         // Сброс охранного таймера

      }

  }

void INIT(void)                                   // инициализация контроллера

 {

t0=20

t1=5

tpp=0.5

mode=1;

             // Настройка таймера 1

   TCCR1A = 0x00;

    TCCR1B = 0x28;                                 // коэффициент деления частоты генератора = 40

    TCNT1 = 0xFA;        //100 Гц при частоте кварца 1МГц

                                                                // 1МГц/40/100Гц = 250 = 0xFA;                                                                    

    TIMSK |= Bit(MskTIE1);                   // Таймер 1(8 – разрядный) - разрешение прерываний

    GIMSK |= Bit(MskInt0);                    // INT0 - разрешение прерывания

             // Настройка таймера 2

   TCCR2A = 0x00;

    TCCR2B = 0x0F;                                 // коэффициент деления частоты генератора = 16

    TCNT2H = 0x0B; TCNT2L = 0xDC;  //1 Гц при частоте кварца 1МГц

                                                                // 1МГц/16/1Гц = 62500 = 0xF424;  

                                                                //т.к. 16р таймер работает на увеличение,

                                                                //то загрузка его = 0x10000-0x1388 = 0x0BDC 

    TIMSK |= Bit(MskTIE2);                   // Таймер 2 - разрешение прерываний

    GIMSK |= Bit(MskInt1);                    // INT1 - разрешение прерывания

   WDTCR = 0x0F;       // Настройка WATCHDOG - период сработки 2.048 сек

          // Настройка портов

    DDRB = 0x3F;                               //111111 - РВ5...РС0 – на выход – данные ЖКИ

    DDRС = 0x3E;                               //111110 – PС5 – на выход, РС4...РС0 – на ЖКИ

    PORTD = 0x00; PORTC = 0x00 //Установка выходного вектора Z0

    DDRA = 0x00; PORTA = 0x00;    //все на вход и в третье состояние

 }

 void CHECK(void)                     // функция проверки и изменения состояний

 {

 switch (PORTC)

{

 case 0x00:{

  switch (PORTD)

  {

   case 0x00:{ // состояние Z0

    if (PORTD = = 0x04) PORTD := 0x02;

    if (tp > t1+tpp) PORTD := 0x01;

    break;}

   case 0x01:{ // состояние Z2

    if (PORTD = = 0x04) PORTD := 0x01;

    if (tp < t1-tpp)&&(mode) PORTD := 0x00;

    if (tp > t1+tpp*2) PORTC := 0x01;

    break;}

   case 0x02:{ // состояние Z1

    if (PORTD != 0x04) PORTD := 0x00;

    if (tp > t1+tpp) PORTD := 0x03;

    break;}

   case 0x03:{ // состояние Z4

    if (PORTD = = 0x04) PORTD := 0x01;

    if (tp < t1-tpp)&&(mode) PORTD := 0x02;

    if (tp > t1+tpp*2) PORTC := 0x01;

    break;}

  }

 case 0x01:{

  switch (PORTD)

  {

   case 0x01:{ // состояние Z3

    if (PORTD != 0x04) PORTD := 0x03;

    if (tp < t1+tpp) PORTC := 0x00;

    break;}

   

case 0x03:{ // состояние Z5

    if (PORTD = = 0x04) PORTD := 0x01;

    if (tp < t1+tpp) PORTC := 0x00;

    break;}

  }

break;}

}

if ( PORTD = = 0x10) mode := 1;

if ( PORTD = = 0x08) mode := 0;

Write_LCD();   // вывод информации на ЖКИ;

  }

 

5. ЗАКЛЮЧЕНИЕ

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

6. ЛИТЕРАТУРА

  1.  Мясников В.И. Микропроцессорные системы. Учебное пособие по курсовому проектированию.- Йошкар-Ола: МарГТУ, 2003.
  2.  Предко М. Руководство по микроконтроллерам. В 2-х томах. – М.: Постмаркет, 2001.

Конт

Цепь

1

2

3

Gnd


 

А также другие работы, которые могут Вас заинтересовать

172. Решение дифференциальных уравнений численными методами в пакете MathCad 356 KB
  решение дифференциального уравнения вручную, операторным методом, приближенное решение с помощью рядов. Расчет погрешностей приближенных методов по сравнению с точным. Численное решение ДУ методом Рунге-Кутта.
173. Характеристика роботи підприємства ВАТ Дніпроцемент 285 KB
  Сировинна база ВАТ Дніпроцемент, асортиментні стандарти на готову продукцію. Технологічна схема виробництва цементу на ВАМ Дніпроцеент. Сушильне відділення, цех випалу клінкера. Технічна характеристика основного обладнання.
174. Основные медицинские заболевания, их диагностирование и лечение 382.5 KB
  Инфекции мочевой системы (пиелонефрит). Сахарный диабет у детей. Заболевания слизистой полости рта (стоматиты, молочница). Заболевания ЖКТ (острый гастрит, панкреатит, лямблиоз). Лабораторная и инструментальная диагностика.
175. Зарождение и развитие субкультуры панков в 60-е – 80-е гг. XX столетия в Англии 328 KB
  Субкультуры формальные и неформальные. Становление и развитие субкультуры панков. Контркультура, или альтернативная культура, девиантные, выражающие некую степень оппозиции господствующей культуре.
176. Електромагнітне поле та електромагнітні хвилі 202 KB
  Закон збереження електричного заряду для замкнутої системи. Закон електромагнітної індукції Фарадея. Утримування речовиною випромінювання хвиль певної довжини. Особливий вид матерії, що випромінюється і поглинається при взаємодії та переносить взаємодію між тілами.
177. Проектирование и создание технологических конструкций 393.64 KB
  Современный процесс разработки технического устройства. При выполнении каждого этапа ставится определенная задача, поэтому каждый этап связан с созданием определенного набора проектных документов. Ликвидация многообразия типов элементов путем сведения их к небольшому числу.
178. Общая теория психологии. Классификация основных понятий 282 KB
  Принцип детерминизма, место психологии в системе наук, понятие о сознании и самосознании. Теория личности Альфреда Адлера. Закономерности зарождения, развития и формирования личности. Операциональная концепция интеллекта.
179. Математические модели электрических, гидравлических и пневматических рулевых приводов 398.92 KB
  Анализ статической и динамических характеристик типового рулевого привода с помощью математической модели привода, составленной в системе программирования Матлаб. Изучение устройства, принципа работы и математических моделей рулевых приводов.
180. Исторический очерк истории России конца ХІХ начала ХХІ столетия 371.5 KB
  Причины, характер, движущие силы и особенности революции 1905 – 1907 гг. основные события и итоги революции. Сущность новой экономической политики, ее значение и причины свертывания. Изменение международной обстановки после II мировой войны.