Разработка контроллера управляющего работой холодильника
Техническая характеристика микроконтроллера ADuC812 – интегральной 12-разрядной системы сбора информации, включающей в себя прецизионный многоканальный АЦП с самокалибровкой, два 12-разрядных ЦАП. Описание алгоритма работы устройства и листинг программы.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.12.2012 |
Размер файла | 442,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Техническое задание
2. Выбор микроконтроллера и электронные компонент
3. Описание работы устройств
4.Структурная схема
5. Выбор элементной базы
6. Описание программы
6.1 Описание алгоритма работы устройства
6.2 Листинг программы
Заключение
Список литературы
Введение
Развитие микроэлектроники и широкое применение ее изделий в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно-технического прогресса.
Использование микроэлектронных средств в изделиях производственного и культурно-бытового назначения приводит не только к повышению технико-экономических показателей изделия (стоимости, потребляемой мощности, габаритных размеров) и позволяет многократно сократить сроки разработки и отодвинуть сроки «морального старения» изделий, но придает им принципиально новые потребительские качества (расширенные функциональные возможности, модифицируемость, адаптивность и т.д.).
За последние годы микроэлектроники бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров (ОМК), которые предназначены для «интеллектуализации» оборудования различного назначения. ОМК представляют собой приборы, конструктивно выполненные в виде БИС, и включающие в себя все составные части «голой» микроЭВМ: микропроцессор, память программы, память данных, также программируемые интерфейсные схемы для связи с внешней средой. Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС микроконтроллера), что микроконтроллерам, видимо, нет разумной альтернативной базы для построения управляющих и регулирующих систем. К настоящему времени более двух третей мирового рынка микропроцессорных средств составляют именно ОМК.
1. Техническое задание
микроконтроллер алгоритм программа листинг
В данной курсовой работе преподавателем была поставлена задача разработать контроллер управляющий работой холодильника с выполнением всех основных режимов работы обычного холодильника и дополнительно позволяющий выполнять некоторые функции. Данный контроллер должен позволять регулировать в установленном диапазоне свои температурные режимы для поддержания продуктов в сохранности. Для реализации данного уровня обслуживания мной используются такое техническое решение.
Микроконтроллер холодильника должен выполнять и поддерживать следующие функции:
- Контроль температуры в двух зонах в соответствии с установленными границами.
- Диапазон установок ограничен заданными уровнями темпер.
- Каждые три дня для устранения инея предусматривается режим разморозки для первой камеры морозилки.
- Для улучшения сохранности продуктов холодильник может выполнять режим быстрой заморозки.
- Последний четвертый режим предусматривает полную разморозку холодильника.
Вся схема должна быть реализована на контроллере 51-ой серии с использованием минимального кол-ва элементов и простейшим цифровыми устройствами индикации в виде семи сегментного четырехразрядного индикатора на котором отображается как текущая температура в камерах так и устанавливаемая. Для управления достаточно простейшей трех, четырехкнопочной клавиатуры (+, - , режим).
2. Выбор микроконтроллера и электронные компонент
В этом курсовом проекте использовался микроконтроллер ADuC812 - интегральная 12-разрядная система сбора информации, включающая в себя прецизионный многоканальный АЦП с самокалибровкой, два 12- разрядных ЦАП. Данный контроллер мне наиболее хорошо знаком по лабораторным работам и допускает написание программ на языке высокого уровня PLM. 8-битное микропроцессорное ядро(MCU) поддерживается внутренними 8К FLASH ПЗУ программ, 640 байт ПЗУ памяти данных и 256 байт статической памяти данных (ОЗУ) с произвольной выборкой (RAM).
Описание контактов
Мнемоника |
Вывод |
Тип |
Функция |
|
AGND |
22 |
I |
Аналоговая земля. Общая точка аналоговых цепей. |
|
RESET |
9 |
I |
Цифровой вход. |
|
P1.0,P1.1 |
10,11 |
I |
Порт1 только ввод, по умолчанию настраивается на ввод аналоговых сигналов, для конфигурирования контактов на цифровой ввод следует записать 0 соответствующий бит порта. Порт1 - многофункционален. |
|
P2.0-P2.7 |
28-31, 36-39 |
I/O |
Двунаправленный Порт 0 с открытым истоком. Контакты порта с записанными в них 1 являются плавающими и могут быть высокоимпедансными входами. При обращении к внешней памяти программ или данных Порт0 мультиплексирован магистралями младшего байта адреса и данных. При такой операции порт подтянут внутренним образом при наличии в нем 1. |
|
P3.0-P3.7 |
16-19, 22-25 |
I/O |
Двунаправленный Порт3 с внутренними, подтягивающими к питанию резисторами. Контакты Порта3, с записанными в них 1 подтянуты вверх и могут использоваться как входы. При таком использовании, следует иметь в виду, что они дают ток во внешнюю цепь. Контакты Порта3 - мультиплексны. |
|
XTAL1 |
19 |
I |
Вход тактового генератора |
|
XTAL2 |
18 |
O |
Выход тактового генератора |
Технические характеристики:
ПАМЯТЬ: 8 Кбайт FLASH памяти программ, 640 байт FLASH памяти данных, внутренний генератор подкачки заряда, 256 байт внутренней памяти данных, 16 Мбайт пространства внешней памяти данных, 64 Кбайт пространства внешней памяти программ.
АНАЛОГОВЫЙ ВВОД/ ВЫВОД: 8 - канальный прецизионный 12- разрядный АЦП, встроенный 20ppm/°C ИОН, высокая скорость выборок 200 кSPS, контроллер канала ПДП к внешней памяти данных, два 12- разрядных ЦАП с вольтовым выходом, внутренний температурный сенсор.
8051 - СОВМЕСТИМОЕ ЯДРО: 12МГц номинальная частота[ 16МГц - макс.], три 16- разрядных счетчика/ таймера 32 программируемые линии ввода/ вывода, порт с высоким током - Порт3, 9 источников прерываний, 2 уровня приоритета.
ПИТАНИЕ: Специфицирован для работы от 3В до 5В, режимы: нормальный, холостой и дежурный, последовательный порт UART, 2- Проводной(I2C)и/ или SPI порт, сторожевой таймер( WDT), монитор источника питания.
3. Описание работы устройств
1. Блок АЦП.
АЦП представляет собой восьмиканальный пяти микросекундный А/Ц преобразователь с однополярным питанием. Пользователю предоставлены многоканальный мультиплексор, устройство выборки-хранения, встроенный ИОН, система калибровок и собственно АЦП. Все компоненты блока легко управляется через три интерфейсных регистра специального назначения. АЦП позволяет работать как в однократном режиме измерения, так и в циклическом.
А/Ц преобразователь состоит из стандартного конвертера последовательного приближения и емкостного ЦАП. Конвертер получает аналоговые входные сигналы в диапазоне 0 - Vref. На кристалле расположен ИОН - прецизионный блок с низким дрейфом, откалиброванный изготовителем до 2.5В. Однократный или повторяющийся режимы преобразования могут выполняться программно или подачей внешнего сигнала Запуска Преобразования на контакт 25(CONVST/). Также для инициирования повторяющегося процесса преобразования можно использовать сигналы Таймера2. АЦП можно установить в режим передачи данных по каналу прямого доступа к памяти - ПДП( DMA), когда блок повторяет циклы преобразования и посылает выборки во внешнюю память данных (RAM), минуя процессор. Этот процесс может охватывать весь объем внешней памяти 16МБ. ADuC812 поставляется с заводскими калибровочными коэффициентами, которые загружаются автоматически по включению питания, обеспечивая тем самым оптимальную работу устройства. Ядро АЦП содержит внутренние регистры калибровок Смещения и Усиления, причем, обеспечено, чтобы программная процедура калибровки пользователя подавляла заводские установки, давая тем самым минимум ошибок в конечной системе. Если необходимо, то через АЦП можно так же преобразовать сигнал внутреннего температурного сенсора.
ADuC812 поставляется с заводскими калибровочными коэффициентами, которые автоматически при включении питания загружаются в соответствующие SFR, что происходит прозрачно для пользователя. В большинстве приложений использование заводских констант является достаточным.
Для управления АЦП имеется 3 основных SFR-регистра: ADCCON1, ADCCON2, ADCCON3.
Регистр ADCCON1 управляет преобразованием, временем переключения, режимами преобразования и потреблением устройства.
№ бита |
Мнемоника |
Описание |
|
0 |
EXС |
Бит разрешения внешнего запуска. Если установлен, то контакт 23 (CONVST/) будет использоваться как сигнал запуска (активный низкий должен быть не менее 100 нс). |
|
1 |
T2C |
Бит запуска преобразования от Таймера2. Если бит установлен, то сигнал переполнения Таймера2 используется для запуска АЦП. |
|
2 |
AQ0 |
Биты задержки переключения, выбирают время, необходимое для перезарядки УВХ при переключении мультиплексора:AQ1 AQ0 Число тактов задержки запуска АЦП0 0 10 1 21 0 31 1 4 |
|
3 |
AQ1 |
||
4 |
CK0 |
Биты деления тактовой частоты, выбирают коэффициент деления основной частоты микропроцессора для получения тактовой частоты АЦП. Цикл преобразования АЦП занимает 16 тактов, в дополнении к числу тактов переключения. Коэффициент выбирается из:CK1 CK0 Делитель для MCLK0 0 10 1 21 0 41 1 8 |
|
5 |
CK1 |
||
6 |
MD0 |
Биты режима выбирают режимы работы АЦП следующим образом:MD1 MD0 Режим АЦП0 0 Дежурный0 1 Нормальный1 0 Дежурный, если невыполняется цикл преобразования1 1 Холостой, если не выполняетсяцикл преобразования |
|
7 |
MD1 |
Регистр ADCCON2 управляет выбором номера канала и режимами преобразования
№ бита |
Мнемоника |
Описание |
|
0 |
CS0 |
Биты выбора входных каналов. Позволяют осуществлять выбор номера канала АЦП под управлением программы. Преобразование будет выполняться для канала, номер которого указан данными битами. В режиме ПДП выбор номера канала осуществляется из ID канала, записанного во внешней памяти.CS3 CS2 CS1 CS0 CH#0 n2 n1 n0 Номер входного канала(n2n1n0)1 0 0 0 Температурный сенсор1 x x x Другие комбинации1 1 1 1 Останов ПДП |
|
1 |
CS1 |
||
2 |
CS2 |
||
3 |
CS3 |
||
4 |
SCONV |
Бит запуска однократного преобразования. Устанавливается пользователем для однократного запуска АЦП. Бит сбрасывается автоматически по завершению преобразования. |
|
5 |
CCONV |
Бит циклического преобразования. Устанавливается пользователем для установки АЦП в режим непрерывного циклического преобразования. В этом режиме АЦП выполняет преобразование в соответствии с типом синхронизации и конфигурацией каналов, выбранными в других SFR. |
|
6 |
DMA |
Бит разрешения режима ПДП. Устанавливается пользователем для начала операции ПДП со стороны АЦП. |
|
7 |
ADCI |
Бит прерывания АЦП устанавливается аппаратно по окончанию однократного цикла преобразования АЦП или по окончанию передачи блока в режиме ПДП. ADCI очищает аппаратно при переходе по вектору на процедуру обслуживания прерывания. |
Регистр ADCCON3 Дает индикацию занятости АЦП для прикладных программ.
Как только АЦП сконфигурирован с помощьюADCCON1- 3, он начнет преобразовывать аналоговые входные сигналы и давать12- разрядные выходные коды в регистрах ADCDATAH(L). В четырех разрядах ADCDATAH хранится номер канала. Формат слова результата показан на Рис.1:
2. Таймеры/ Счетчики.
Таймеры/ Счетчики могут работать в 3-х основных режимах:
- Оставлен для совместимости с 48-й серией, на таймер поступает OSC/32, разрядность 13 бит.
- Работает как 16-ти разрядный счетчик. При переполнении состояние изменяется с FFFFh на 0000h. При необходимости изменения коэффициента деления после переполнения в каждом такте необходимо записывать заданную константу.
- Счетчик работает как 8-ми разрядный, причем используется младшая часть - TL. В старшей части (TH) находится делитель, который по переполнению TL автоматически перегружается из TH в TL.
Режимы работы таймеров Таймер0 и Таймер1 задают два регистра специальных функций (SFR - Special Function Register): регистр режима - TMOD, расположенный по адресу 89h в регистровой памяти и регистр управления таймерами и внешними прерываниями - TCON (88h). Для управления работой таймера Таймер2 служит регистр T2CON.
Регистр TMOD условно разбит на две половины: первая его часть отвечает за Таймер0, а вторая - за Таймер1.
Распределение битов регистра TMOD следующее:
0бит (М0) - Младший байт поля управления режимом;
1бит (М1) - Старший байт поля управления режимом;
2бит (С/Т0) - Выбор функции таймера или счетчика для Таймера0: 0-таймер ,1-счетчик;
3бит (GATE0) - Флаг управления входом:
· 0 - работа канала разрешается (INT0=1, TR=1).
· 1 - работа счетчика зависит только от TR0.
Распределение битов регистра TCON следующее:
0бит (IT0) - Управление типом входа INT0:
· 0 - вход прогнозируется как динамически по заданному фронту импульса.
· 1 - статическое состояние входа.
1бит (IE0) - Флаг запроса прерывания INT0 при динамическом входе. Сбрасывается, когда происходит режим подтверждения прерывания.;
2 и 3 биты (IT1/IE1) - Тоже, что и предыдущие биты, но для Таймера0;
4бит (TR0) - Флаг программного запуска Таймера0;
5бит (TF0) - Флаг переполнения Таймера0, который вызывает запрос прерывания. При подтверждении прерывания флаг сбрасывается;
6 и 7биты (TR1,TF1) - Для Таймера1;
Для работы с таймером используется механизм прерываний, работой которого можно управлять через регистр маски прерываний IE (Interrupt Enable). Назначение битов регистра IE следующее:
0бит (EX0) - бит разрешения внешнего прерывания INT0.
1бит (ET0) - бит разрешения прерывания по переполнению Таймера0.
2бит (EX1) - бит разрешения внешнего прерывания INT1.
3бит (ET1) - бит разрешения прерывания по переполнению Таймера1.
4бит (ES) - бит разрешения прерывания от последовательного порта UART.
5бит (ET2) - бит разрешения прерывания по переполнению Таймера2.
6бит (EADC) - бит разрешения прерывания АЦП.
7бит (EA) - бит разрешения глобального прерывания. Если EA=0, то все прерывания запрещены.
4. Структурная схема
Блоки структурной схемы:
1) Микроконтроллер.
Состоит из следующих элементов:
а) С1, С2, ZQ1-схема тактового генератора. Осуществляет выработку внешнего сигнала тактирования микроконтроллера частотой 24МГц.
б)С3,R5-схема первоначального сброса микроконтроллера. Обеспечивает корректный запуск.
в) DD1-микроконтроллер.
2) Клавиатура.
Переключает температурные режимы холодильника. Состоит из трех клавиш: “+” - положительнoe, “-” - отрицательнoe приращение, “P” - выбор устанавливаемого режима (изменение температуры морозилки, 2и камеры, быстрая заморозка, разморозка).
3) Внешний светодиодный семисегментные индикаторы(АЛС) и дешифратор DD2.
При подаче кода цифры на младшие четыре бита порта P2(P2.0-P2.3) он дешифруется и выводиться на семисегментный светодиодный индикатор при этом отображение четырех разных цифр выполняется путем быстрого сканирования (поочередного отображения каждой цифры с большой частотой так, что глаз не успевает замечать мерцания) для дополнительного отображения минусовой температуры в морозильной камере используется дополнительный светодиод. Коммутация активного элемента индикатора выполняется с помощью транзисторных ключей подключенных к старшей части порта Р2.
4) Блоки управления Компрессорами.
Компрессоры управляются через маломощные реле коммутируемые двумя транзисторами применение сильноточных реле не обосновано так как электроника холодильника имеет их в своем составе в виде встроенных элементов.
5. Выбор элементной базы
При разработке устройства были использованы следующие электронные компоненты:
1. Микроконтроллер ADuC 812. Был рассмотрен в курсе лабораторных работ и имеет подходящие характеристики для применения на практике.
2. Микросхема КР514ИД2 которая является дешифратором 10-7сегм.
3. Транзисторы серии КТ315 для коммутации индицирования индикатора.
4. Светодиод HL1 AL307B для отображение “-”.
5. Стабилизатор DA1 K145КРЕН5 для получения 5В питания.
6. Семисегментный индикатор HG1 АЛС333Г зеленого свечения.
6. Описание программы
Программа состоит из следующих основных блоков или подпрограмм.
1) Инициализация устанавливает 1 режим 0-го Таймера, настраивается режим AЦП, порты на ввод и вывод а также устанавливаются значения используемых переменных и флагов (например температура морозилки -6 второй камеры +6).
2) Обработка прерывания 0-го Таймера в ней выполняются следующие функции :
а) сканирование клавиатуры и выполнение функций изменения установленных параметров.
б) сканирование семисегментного индикатора для поочередного отображения цифр температуры.
в) подсчет времени для выполнения операции быстрой заморозки и отсчет 3-х суток для операции авторазморозки. (при t = +1).
3) Основная программа(бесконечный цикл).
В начале вызывает блок инициализации далее в неё вынесены такие медленная процедура как, оцифровка температур и управление компрессорами, а также реакция на нажатие клавиш в виде изменения параметров (температур) или включения соответствующего режима.
6.1 Описание алгоритма работы устройства
При включении питания начинает выполнение основной программы. В начале нее вызывается процедура инициализации контроллера. Установка битов управления и направления передачи данных в портах ввода-вывода, инициализация АЦП и включение семисегментных индикаторов.
Для представления работы программы которая начинается с исполнительного блока, в котором происходит проверка на нажатие клавиши с помощью управляющих переменных, и в соответствии с этими переменными вызываются функции: процедура установления температурного режима, процедура разморозки холодильной камеры через трое суток, процедура быстрой заморозки, процедуры вывода номинальной и установленной температуры на семисегментные индикаторы.
Работа с прерываниями таймера заключается в установке сканируемого столбца семисегментного индикатора. Определение нажатых клавиш и реакции по ним: увеличение установленной температуры, уменьшение установленной температуры, переключение режимов по кругу. Также проверка на отпускание клавиш. Включение периодической разморозки, ежеминутное обновление показаний температуры, увеличиваем счетчик переполнений, сброс флага переполнения. За счет ежеминутного обновления при коррекции температуры на индикаторе некоторое время отображается установленное значение затем по окончании минуты выводиться измеренное в камере холодильника.
Зажигается знак минус на индикаторе температуры морозилки по сигналу на 0-й бит порта P3.
В процедуре инициализации устанавливается 1-й режим работы таймера обнуляются счетчики и pазpешается pабота 0-го Таймеpa. Разpешаются все прерывания и пpеpывания Таймера=0.
В инициализации блока АЦП выполняется настройка режима АЦП. Обнуление значения переменных и флагов определяющих положение клавиш и температурных режимов. Выставление установленных температур при допустимом изменении от -6 до +6. Линии 4-6 на ввод и включаются компрессоры на холод.
В основной части программы реализуется бесконечный цикл. В цикле измеряется температура , по реакциям нажатия клавиши изменяется и проверяется диапазон температур в которых должны находиться компрессоры. Подаются сигналы управляющие компрессорами через транзисторные ключи маломощными реле включения компрессоров. Управляя компрессорами можно устанавливать температуры для морозилки от 0 до -22 для второй камеры от +1 до +10. Выполняются четыре основных режима устанавливаемых клавиатурой: “-”, “+”, быстрая заморозка, разморозка. Переход между режимами осуществляется по кругу.
6.2 Листинг программы
/*программа управления холодильником */
start: do;
$include(reg812.dcl)
declare
/* объявление основных переменных и флагов */
(t_1,t_2) word, /*температура в камерах установленная*/
(tr_1,tr_2) word, /* измеряемая температура */
ind(4) byte,
(i,j,nreg) byte, /* переменные для работы */
(flag, fl_razm,fl_moroz) byte, /*флаги определения режима работы */
ok byte, /*номера нажатой и пред клавиш */
adc_H,adc_L byte,
tim_p word,
nind byte, /*номер отображаемого индикатора*/
per_t0 word; /*число циклов переполнения таймера0*/
adc:procedure interrupt 6; /*считываем данные с АЦП*/
adccon2=0;
adc_h=adcdatah;
adc_l=adcdatal;
flag=1;eadc=1;
end adc;
/*____Обработчик прерывания таймера____*/
timer_int: procedure interrupt 1; /* прерывание t0 */
/*установка сканируемого столбца*/
if nind=0 then P2=00010000b or ind(nind);
if nind=1 then P2=00100000b or ind(nind);
if nind=2 then P2=01000000b or ind(nind);
if nind=3 then P2=10000000b or ind(nind);
Nind=nind+1; if nind=4 then nind=0;
/*определение нажатых клавиш и реакции по ним*/
if (p3.4=0b) and (ok<>1) then /*приращение установленной температуры*/
do;ok=1;
if nreg=0 then do;
t_1=t_1-1;if t_10<0 then t_1=0;
ind(0)=t_1/10;ind(1)=t_1 mod 10;
end;
if nreg=1 then do;
t_2=t_2+1;if t_2>10 then t_2=10;
ind(2)=t_2/10;ind(3)=t_2 mod 10;
end;
end;
if (p3.5=0b) and (ok<>2) then /*уменьшение установленной температуры*/
do;ok=2;
if nreg=0 then do;
t_1=t_1+1;if t_1>22 then t_1=22;
ind(0)=t_1/10;ind(1)=t_1 mod 10;
end;
if nreg=1 then do;
t_2=t_2-1;if t_2<3 then t_2=3;
ind(2)=t_2/10;ind(3)=t_2 mod 10;
end;
end;
if (p3.6=0b) and (ok<>3) then/*переключение режимов по кругу */
do; ok=3; nreg=nreg+1;if nreg>=4 then nreg=0;
end;
if (P3 and 01110000b)=70h then ok=0; /*проверка на отпускание клавиш */
if per_t0>960 then do; /*если прошла мин увеличен счетчик*/
per_t0=0;tim_ptim_p+1;
if nreg<2 then do;/*включение периодической разморозки*/
if (fl_razm=0)and(tim_p>4320) then do;fl_razm=1;tim_p=0;end; /*24ч*/
if (fl_razm=1)and(tim_p>180) then do;fl_razm=0; tim_p=0;end; /*2ч*/
end;
if nreg=2 then do;
if (fl_moroz=1)and(tim_p>240) then do;fl_moroz=0;tim_p=0;nreg=0;end; /*3ч*/
end;
do; /*ежеминутное обновление показаний температуры*/
ind(0)=tr_1/10;ind(1)=tr_1 mod 10;
ind(2)=tr_2/10;ind(3)=tr_2 mod 10;
if tr_1<>0 then P3.0=0;/*зажигаем минус на индикаторе температуры морозилки*/
end;
end;
per_t0=per_t0+1; /* увеличиваем счетчик переполнений */
tf0=0; /* сброс флага переполнения */
end timer_int;
init: procedure; /******пpоцедуpа инициализации******/
tmod=00000001b;/*пеpвый pежим для таймеpа */
it0=1;/*пpеpывание по фpонту сигнала пеpеполнения*/
th0,tl0=0;tr0=1; /*обнул счетчики и pазpешаем pаботу 0-го Таймеpa*/
er0=1;/*запускаем таймеp 0 */
et0=1; /*pазpешаем пpеpывания Таймера=0 */
ea=1;/*pазpешаем все пpеpывания*/
/*Инициализация АЦП*/
ADCCON1=60h;/*настраиваем режим AЦП*/
ADCCON2=0h;/*настраиваем канал 0*/
nreg=0;fl_moroz=0;fl_razm=0;ok=0;
/*устаналиваем значения по умолчанию*/
t_1=6;t_2=6;
p3=01111011;/*линии 4-6 на ввод и включаем компрессоры на холод*/
end init;
/*____основнaя программа _____*/
call init;
/******Исполнительный блок программы******/
do while 1; /*основной цикл работы холодильника*/
chan=0; sconv=1; flag=0;
do while flag=0; end;/*измеряем температуру t1*/
tr_1=22-(adc_h*255+adc_l)*50/4096;/* перевод результатов АЦП в температуру*/
chan=1; sconv=1; flag=0;
do while flag=0; end;/*измеряем температуру t2*/
tr_2=((adc_h and 0fh)*255+adc_l)*50/4096;/*перевод результатов АЦП в температуру*/
if nreg=2 then do; fl_moroz=1;time_p=0;end;
if (nreg<2)and(tr_1>t_1+1) THEN p3.1=1;
if (nreg<2)and(tr_2>t_2+1) THEN p3.3=1;
if (nreg<2)and(tr_1<t_1-2) THEN p3.1=0;
if (nreg<2)and(tr_2<t_2-2) THEN p3.3=0;
if (fl_razm=1)and(tr_1>-1) then p3.1=0;
if nreg=3 then do p3.1=0;p3.3=0;end;/*полная разморозка*/
if (nreg=2)and(tr_1<22) THEN p3.1=1;/*быстрая заморозка*/
if (nreg=2)and(tr_1=22) THEN p3.1=0;/*
end;
end start;
Заключение
В данной курсовой работе был изучен микроконтроллер ADuC 812 при разработке холодильной установки. Были получены навыки программирования микропроцессорных систем и построения на их основе устройств управления и сбора информации.
Приложение (Спецификация)
Приложение (Схема устройства)
Размещено на Allbest.ru
Подобные документы
Разработка структурной, функциональной и принципиальной схемы контроллера, управляющего работой инкубатора. Аналогово-цифровой преобразователь, потребляемая мощность и быстродействие системы. Алгоритмическое и программное обеспечение, листинг программы.
курсовая работа [900,8 K], добавлен 28.12.2012Функциональная спецификация, описание объекта, структура системы и ресурсов микроконтроллера. Ассемблирование, программирование микроконтроллера и разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы.
курсовая работа [2,2 M], добавлен 02.01.2010Проектирование микроконтроллера системы управления холодильника, разработка принципиальной электрической и общей функциональной схемы устройства. Описание работы специальной прикладной программы. Программа устройства на Ассемблере. Блок-схема программы.
курсовая работа [47,6 K], добавлен 14.07.2009Разработка принципиальной схемы и описание работы контроллера клавиатуры/дисплея КР580ВД79. Схема сопряжения микроконтроллера с фотоимпульсным датчиком. Расчет потребляемого тока от источника питания. Блок-схема программы вывода информации на индикацию.
курсовая работа [736,9 K], добавлен 18.02.2011Разработка контроллера управления цифровой частью системы, перечень выполняемых команд. Описание алгоритма работы устройства, его структурная организация. Синтез принципиальной электрической схемы, особенности аппаратных затрат и потребляемой мощности.
курсовая работа [318,8 K], добавлен 14.06.2011Описание Автоматического Определителя Номера (АОНа). Характеристики микроконтроллера Z86E0812PSC, ЖК индикатора PANAPHONE. Ассемблирование и разработка алгоритма работы устройства. Управление АОН и описание функциональных узлов МПС, принципиальная схема.
курсовая работа [913,0 K], добавлен 26.12.2009Описание объекта и функциональная спецификация. Описание ресурсов МК: расположение выводов; исполнение микроконтроллера; особенности микроконтроллеров. Разработка алгоритмов устройства. Описание функциональных узлов МПС и алгоритма их взаимодействия.
курсовая работа [5,2 M], добавлен 27.12.2009Описание языка программирования GPSS. Моделирование системы обработки информации содержащей мультиплексный канал. Словесное описание системы и схема модели. Текст программы, имитирующей работу модели на GPSS World. Проверка стабильности работы системы.
курсовая работа [280,0 K], добавлен 15.06.2014Описание алгоритма работы и разработка структурной схемы микропроцессорной системы управления. Разработка принципиальной схемы. Подключение микроконтроллера, ввод цифровых и аналоговых сигналов. Разработка блок-схемы алгоритма главной программы.
курсовая работа [3,3 M], добавлен 26.06.2016Структурная схема микропроцессорного устройства для определения частоты сигнала. Выбор микроконтроллера, описание алгоритма нахождения частоты. Алгоритм работы программы управления микропроцессорным устройством. Программа работы микропроцессора.
курсовая работа [605,7 K], добавлен 24.11.2014