67742

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

Курсовая

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

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

Русский

2014-09-14

378.5 KB

25 чел.

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

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

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

                                                                                           Кафедра ИВС

 

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

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

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

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

Выполнил: студент группы ВМ-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


 

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

48556. ОСНОВЫ РАБОТЫ В СРЕДЕ ОПЕРАЦИОННОЙ СИСТЕМЫ UNIX 33.68 KB
  Написать скрипт на языке shell, выполняющий периодический поиск и уничтожение файлов и пустых каталогов с определенным именем (имя файла, каталоги поиска и период поиска должны являться параметрами скрипта).
48557. Мікроекономіка. Курс лекцій 1.6 MB
  Аналіз сутності виробництва і витрат дозволяє визначити оптимальну раціональну поведінку товаровиробника висвітлити суть ізокванти і ізокости а також закон спадної граничної продуктивності. Належне місце в ринковій економіці займає аналіз поведінки підприємства сутність виробництва і витрат. Предмет і метод мікроекономіки Мікроекономіка як складова частина економічної теорії Предмет концептуальні основи та методологія мікроекономіки Мета завдання і зміст дисципліни Мікроекономіка як складова частина економічної теорії Вивчення економічної...
48558. ВСТУП. ПОНЯТТЯ ЕКОНОМІКИ, ЇЇ ПРИНЦИПИ ТА МЕТОДИ 505.5 KB
  Нас буде цікавити економіка окремо взятого підприємства але звісно що воно працює не у вакуумі тому будемо вивчати і його місце у зовнішньому ринковому середовищі. Економіка підприємства це наука про ефективність виробництва шляхи і методи досягнення підприємством найкращих результатів при найменших затратах. Мікроекономіка вивчає роботу конкретної економічної одиниці підприємства фірми банка . У той же час наприклад державні органи влади та контролюючі організації повинні враховувати реальний стан в...
48559. Національна економіка 34.85 MB
  Загальні передумови формування національної економіки 1. Теоретичні підходи до визначення структури національної економіки. Методологія вивчення національної економіки 1. Економічні теорії і теоретичні основи аналізу національної економіки 2.
48560. Основные аспекты компьютерных технологий, которые служат платформой, обеспечивающей целостное представление о современной сфере ИКТ 1.24 MB
  Принципы и проблемы физической передачи данных по линиям связи Даже при рассмотрении простейшей сети состоящей всего из двух машин можно увидеть многие проблемы присущие любой вычислительной сети в том числе проблемы связанные с физической передачей сигналов по линиям связи без решения которой невозможен любой вид связи. По степени территориальной рассосредоточенности элементов сети абонентских систем узлов связи различают глобальные региональные и локальные вычислительные сети. К классу ЛВС относятся сети предприятий фирм банков...
48561. Хімічний склад продуктів харчування 42 KB
  Хімічний склад продуктів харчування Урок №: Поняття про сировину напівфабрикати готову страву МЕТА УРОКУ: Ознайомити учнів з поняттям про сировину напівфабрикат готову страву. Харчування – одна із основних життєво необхідних умов існування людини. Здоров’я людини її працездатність і настрій нормальний розвиток значною мірою залежать від харчування. Поняття про сировину напівфабрикати готову страву Виробництво кулінарної продукції здійснюється на сучасних підприємствах масового харчування.
48562. Основные конструкционные стали, применяемые в автомобилестроении и авторемонтном производстве и их характеристики 29.5 KB
  Конструкционные стали предназначены для изготовления деталей машин машиностроительные стали. К этой группе относятся углеродистые и легированные стали с содержанием не более 0708 углерода. Низкоуглеродистые стали до 03 углерода пластичны хорошо свариваются и деформируются.
48563. Основные этапы конструирования 28.5 KB
  Составляется заказчиком изделия и устанавливается наиболее общие требования к изделию о его разработке и изготовлении. задание содержит: 1 наименование и область применения изделия; 2 основание для разработки; 3 источники для разработки; 4технические требования включая: требования к составлению и конструкции изделия; к надежности и технологичности; 5порядок контроля и приемки. Техническое предложение – это совокупность конструкторских документаций содержащих технические и техникоэкономические обоснования целесообразности разработки и...
48564. ОСНОВЫ АЛГОРИТМИЗАЦИИ 825 KB
  ОСНОВЫ АЛГОРИТМИЗАЦИИ Понятие алгоритма Основы алгоритмического языка Паскаль