Курсовая работа: Система управления микроволновой печью
Название: Система управления микроволновой печью Раздел: Рефераты по коммуникации и связи Тип: курсовая работа | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержание Введение 1. Постановка задачи 2. Описание системы 3. Выбор микроконтроллера 4. Описание структуры системы 5. Спецификация элементов 6. Характеристики элементов 6.1 Стабилизатор на КР142ЕН5 6.2 Дешифратор К155ИД13 6.3 Индикаторы 7. Программа 7.1 Структура 7.2 Текст Заключение Введение Появление микропроцессоров сыграло важную роль в развитии электронных вычислительных средств, являющихся основой автоматизации в различных сферах человеческой деятельности. Современный микропроцессор – довольно сложное устройство, работу которого нельзя описать в деталях вне связи с системой, в составе которой он функционирует (в отличие от других более простых электронных приборов). Поэтому в данном курсовом проекте описывается система, обеспечивающая работу микроволновой печи, как пример простейшей микропроцессорной системы. Контроллер для микроволновой печи представляет собой устройство, которое: · обрабатывает сигналы, поступающие с панели управления; · обеспечивает заданный режим работы в течение заданного времени; · обеспечивает индикацию оставшегося времени работы печи и мощность. Это достигается с помощью простых схемотехнических решений и программных средств. 1. Постановка задачиЗадачей данного проекта является создание системы управления микроволновой печью. Мощность печи составляет 600 Вт. Пользователь задает один из 5-ти режимов работы (600 Вт, 480 Вт, 360 Вт, 240 и 120 Вт), затем выставляет необходимое время работы печи (от 10 с до 40 мин) с шагом по 10 с. После он должен нажать кнопку «Старт». Во время работы печи включается подсветка, вращается подставка, для лучшего распределения энергии и включается вентиляция печи. В случае необходимости пользователь может менять мощность по ходу работы печи, также временно приостановить работу (с последующей возможностью увеличения времени работы печи) или остановить ее совсем. По окончании времени работы печь автоматически отключается. На лицевой панели печи отображается установленная мощность и время, оставшееся до конца работы печи. 2. Описание системы Структурная схема системы представлена на рисунке 1. Рис. 1. 1 – установка времени работы и мощности, а также пуск/останов. 2 – отображение установленной мощности и времени, оставшегося до конца работы. 3 – основной прибор комплекса, обрабатывающий поступающую информацию и управляющий внешними устройствами. 4 – микроволновый излучатель. 5 – служит для вентиляции печи во время приготовления пищи. 6 – двигатель вращает подставку, на которую ставиться приготавливаемая пища, для лучшего распределения энергии. 7 – подсветка позволяет следить за процессом приготовления пищи. Вид клавиатуры. Кнопки «+ мощность» и «- мощность» для изменения мощности работы печи. «+ 10 с.» увеличивает время работы на 10 с. «Старт» - включение печи. «Стоп/Сброс» выключение печи, а если она выключена, то сброс времени При подаче питания устанавливается режим работы ожидания, т.е. время сброшено, печь выключена, начальная мощность 360 Вт. С клавиатуры можно ввести время работы, изменить мощность, включить и выключить печь. Таким образом, можно регулировать режимы приготовления/разогрева пищи. На дисплее, в зависимости от установленного времени и мощности будут отображаться соответствующие параметры. 3. Выбор микроконтроллераЦентральное место в схеме занимает микроконтроллер, который выполняет арифметические и логические операции, осуществляет программное управление процессом обработки информации, организует взаимодействие всех устройств, входящих в систему. Работа МК происходит под воздействием сигналов схемы синхронизации и начальной установки. Я остановил свой выбор на микроконтроллере семейства АТ89 фирмы Atmel. Фирма Atmel Corporation - один из крупнейших мировых производителей микросхем энергонезависимой памяти. Фирма поставляет микросхемы энергонезависимой памяти практически всех видов: EEPROM с параллельным интерфейсом объемом до 4-х Мбит и несколькими типами последовательных интерфейсов объемом до 1-го Мбит, Flash EEPROM одноблочного и многоблочного типа с 8-ми и 16-ти разрядным параллельным интерфейсом объемом до 16-ми Мбит, многоблочные Flash EEPROM с последовательным интерфейсом объемом до 32-ти Мбит, 8-ми и 16-ти разрядные однократно программируемые EPROM cерии 27ххх до 8 Мбит, EEPROM для загрузки микросхем FPGA. Богатый опыт производства электрически перепрограммируемой памяти позволил фирме Atmel выйти на рынок с недорогими микроконтроллерами семейства MCS-51 (AT89Cxx), оснащенными Flash EEPROM для хранения программ. Будучи 100% совместимыми как программно, так и аппаратно со стандартными микросхемами семейства MCS-51 и обладающими очень выгодной ценой, микроконтроллеры серии AT89Cxx становятся отличным выбором в условиях снижения или прекращения их производства такими традиционными производителями, как Intel. Кроме того, эти микроконтроллеры значительно более удобны и экономически выгодны на этапе разработки устройства, так как не требуют специальных отладочных вариантов микроконтроллеров и исключают процесс стирания с помощью источника ультрафиолетового излучения. Микроконтроллеры изготавливаются по КМОП (CMOS) технологии и имеют полностью статическую структуру. Микроконтроллер разработан с применением статической логики, которая не требует непрерывной синхронизации. Поэтому частота тактового генератора может быть уменьшена или же он может быть остановлен в ожидании события, требующего обработки. Это также способствует снижению потребления по питанию. В состав семейства входят микроконтроллеры 15-ти типов (май 1998). [2] Основными элементами базовой архитектуры семейства (архитектуры микроконтроллера 8051) являются: - 8-разрядное АЛУ; - 4 банка регистров, по 8 в каждом; - внутренняя (резидентная) память программ 4 Кбайт, имеющая тип ROM или EPROM (8751); - внутренняя (резидентная) память данных 128 байт; - 21 регистр специальных функций; - булевый процессор; - два 16-разрядных таймера/счетчика; - контроллер последовательного порта (UART); - контроллер обработки прерываний с двумя уровнями приоритетов; - четыре 8-разрядных порта ввода/вывода, два из которых используются в качестве шины адреса/данных для доступа к внешней памяти программ и данных; - встроенный тактовый генератор. [1] Кроме стандартных микроконтроллеров из семейства MCS-51 (80C51, 80C52) фирма Atmel создала также несколько собственных модификаций. Прежде всего, это сокращенные микроконтроллеры, выполненные в 20-ти выводных корпусах, AT89C1051, AT89C2051 и AT89C4051, обладающие различным объемом памяти и имеющие меньшее число линий ввода/вывода, чем их 40-ка выводные собратья, тем не менее являющиеся полностью программно и аппаратно с ними совместимыми в рамках доступных ресурсов. Мы используем в своем проекте микроконтроллер AT89C1051 из-за малого объема памяти используемой в данной работе. Базовая структура микроконтроллеров совпадает с базовой структурой микроконтроллеров семейства MCS-51 и отечественных микроконтроллеров серий 1816/51 и 1830/51, однако микроконтроллеры многих типов содержат новые запоминающие и периферийные устройства, а некоторые устройства базовой структуры имеют иные характеристики Микроконтроллеры семейства AT89 выпускаются для работы при разных значениях напряжения питания и тактовой частоты, определяемой частотой подключенного к микроконтроллеру кварцевого резонатора. Диапазоны значений напряжения питания (Vcc) и тактовой частоты (Fosc) у микроконтроллера указаны в Таблице 1. Ток потребления зависит от величины напряжения питания и тактовой частоты. В Таблице 1 приведены значения тока потребления в рабочем режиме (Icc) при максимальном значении напряжения питания и Fosc=12 МГц. Таблица 1
Кроме рабочего режима в микроконтроллере может быть переведен в энергосберегающие режимы работы - режим холостого хода (Idle Mode) и режим пониженного энергопотребления (Power Down Mode). В режиме холостого хода процессор остановлен, периферийные устройства продолжают работать, коды в IRAM сохраняются. Ток потребления уменьшается в 4-5 раз. Перевод в режим холостого хода выполняется по команде в программе, выход из режима - по сигналу сброса или при поступлении любого разрешенного запроса прерывания. Микроконтроллеры выпускаются в корпусах разных типов с разным числом выводов, при этом число выводов, используемых для подключения микроконтроллера к схеме устройства, может отличаться от числа выводов корпуса. В Таблице 1 указано число выводов (N), используемых для подключения микроконтроллера к схеме устройства. Микроконтроллеры, имеющие N=20, выпускаются в корпусах PDIP20 и SOIC20. Все микроконтроллеры семейства АТ89 программируются и перепрограммируются пользователем. [2] Стандартно микроконтроллеры имеют 5 источников прерываний: 2 внешних прерывания, 2 прерывания по таймеру и прерывание от последовательного порта. Прерывание по каждому источнику может быть индивидуально разрешено или запрещено путем установки или сброса в соответствующих битов в регистре разрешения прерываний IE, расположенном в пространстве SFR. Для каждого из источников прерываний может быть запрограммирован один из двух уровней приоритета путем установки или сброса соответствующего бита в регистре приоритетов прерываний IP. [3] 4. Описание структуры системы Принципиальная электрическая схема приведена на рисунке 2. Центральное место в схеме занимает выбранный выше микроконтроллер. К нему подключаются периферийные устройства. В нашем случае, периферийными устройствами будут служить: клавиатура, семисегментные индикаторы, излучатель, двигатель, вентилятор и лампочка. Рис.2 При реализации клавиатуры и индикации были применены дешифраторы К155ИД13 и два индикатора: трехсегментный E1-3040APR3 и четырехсегментный E3-4040APR2. При питании схемы использовался стабилизатор напряжения КР142ЕН5А. Все характеристики этих элементов приведены ниже. Логическая блок-схема приведена на рисунках 3, 4, 5, 6. Рис.3 Прерывание по таймеру 0 Рис. 4 Прерывание по таймеру 1 Рис.5 5. Спецификация элементов системы Спецификация элементов используемых в системе приведена в таблице 3. Таблица 3
6. Характеристики элементов 6.1 Стабилизатор фиксированного напряжения 5 вольт КР142ЕН5АМикросхема КР142ЕН5А трехвыводной стабилизатор с фиксированным выходным напряжением 5 вольт могут найти применение в широком спектре радиоэлектронных устройств в качестве источниках питания логических систем, измерительной технике, устройств высококачественного воспроизведения и других радиоэлектронных устройств. Внешние компоненты могут быть использованы для ускорения переходных процессов. Входной конденсатор необходим только в том случае, если регулятор находиться на расстоянии более 5 см от фильтрующего конденсатора источника питания. Существует четыре разновидности таких приборов - на это указывают буквы в конце маркировки: А, Б, В или Г. Чтобы обеспечить нормальную работу чипа, параллельно его входу подключают конденсатор не менее 1 мкФ, а параллельно выходу не менее 2,2 мкФ. Выходное стабилизированное напряжение для чипа с маркировкой А составляет 5±0,1 В, Б - 6±0,12 В, В - 5±0,18 В, Г - 6±0,21 В. Номинальное входное напряжение - 15 В, минимальное для КР142ЕН5(А, В) - 7,5 В, для КР142ЕН5(Б, Г) - 8,5 В. Максимальный выходной ток для чипов с индексами А и Б - 3 А, для В и Г - 2 А. Собственный потребляемый ток - 10 мА. Рассеиваемая теплоотводом мощность - 10 Вт. Температура окружающей среды, при которых чипы сохраняют работоспособность - от -45°С до +100°С. [4], [5].
Электрические характеристикиВсе параметры преведены в таблице 4 при Vin=10В, Iout=500mA, 0°C<Tj<125°C, Cin=0.33mF, Cout=0.1mF если не оговорено другое. Таблица 4
Типовая схема включенияРис. 7 Чертёж корпусаРис. 8Таблица 5 6.2 Дешифратор К155ИД13Микросхема представляет собой дешифратор на 3 входа и 8 выходов для управления шкалой со сдвигом двух точек. Содержит 119 интегральных элементов. Корпус К155ИД13 типа 238.16-1, КМ155ИД13 типа 201.16-5. [4], [5]. Корпус ИМС К155ИД13 Рис. 9 Условное графическое обозначение ИМС К155ИД13 Рис. 10 1 - выход 7;2 - выход 6;3 - выход 5;4 - выход 4;5 - выход 3;6 - выход 2; 7 - выход 1;8 - общий;9 - выход 0;10 - "перенос";11 - вход 1;12 - вход 2; 13 - вход 3;14 - вход "запрет";15 - вход "перенос";16 - напряжение питания; Электрические параметрыПараметры представлены в таблице 6. Таблица 6
6.3 Индикаторы Трехсигментный индикатор E1-3040APR3. [4] 10.16 мм, 3 разряда. Характеристики в таблице 7. Таблица 7
Четырехсигментный индикатор E3-4040APR2. [4] 10.16 мм, 4разряда. Характеристики в таблице 8. Таблица 8
7. Программа 7.1 Структура программы Написание и отладка программы производились в программе ProView фирмы Franklin Software Inc. ProView фирмы Franklin Software Inc. – интегрированная среда разработки программного обеспечения для однокристальных микроконтроллеров семейства Intel 8051 и его клонов. Она включает в себя всё, что нужно для создания, редактирования, компиляции, трансляции, компоновки, загрузки и отладки программ: - стандартный интерфейс Windows, - полнофункциональный редактор исходных текстов с выделением синтаксических элементов цветом, - организатор проекта, - транслятор с языка C, - ассемблер, - отладчик, - встроенную справочную систему. Среда разработки подобна Visual C++ Microsoft и Borland C++ для Windows. ProView объединяет все этапы разработки прикладной программы в единый рекурсивный процесс, когда в любой момент времени возможен быстрый возврат к любому предыдущему этапу. Программу можно поделить на 4 блока: 1. Инициализация данных. 2. Основной бесконечный цикл. 3. Обработка прерывания по таймеру Т/С 0. 4. Обработка прерывания по таймеру Т/С 1. В 1-м блоке инициализируются данные и запускается таймер Т/С 0, отвечающий за обновление индикаторов и опрос клавиатуры. Основной бесконечный цикл отвечает за обновление 3-х байтов, в которых содержится визуальное значение мощности. Главная же часть программы содержится в 3-м блоке. Прерывание вызывается с частотой 700 Гц, чтобы обеспечить своевременное обновление значений на 7-ми индикаторах (3 индикатора отвечают за мощность, остальные отображают время), не заметное для человеческого глаза. Параллельно с обновлением значений производится опрос клавиатуры. Если клавиша была нажата, то определяется, какая и допустимо ли действие, которое должно быть вызвано нажатием данной кнопки (например, нельзя увеличить максимальную мощность). Если действие допустимо, то оно производится. Возможные действия: увеличение/уменьшение мощности, увеличение времени, включение микроволновой печи, выключение, сброс времени. В случае включения печи, происходит запуск таймера Т/С 1, который отвечает за обратный отсчет времени, в течение работы микроволновой печи. 4-й блок занимается непосредственно режимом работы. В нем происходит обратный отсчет, регулировка выходной мощности печи. А также изменение визуального значения времени. 7.2 Исходный текст программы При написании программы использовалась учебная литература. [6]. NAME MicrowavePROGSEGMENTCODE CONSTSEGMENTCODE VAR1SEGMENTDATA BITVARSEGMENTBIT STACKSEGMENTIDATA RSEG STACK DS 10H ; 16 Bytes Stack CSEG AT 0 USING0 ; Register-Bank 0 JMP START CSEG AT 03h reti CSEG AT 0Bh ljmpm_TF0 CSEG AT 13h reti CSEG AT 1Bh ljmpm_TF1 CSEG AT 23h reti RSEG PROG START:MOV SP,#STACK-1 ; инициализация данных movR3, #0h mov 21h, #00000111b ; задаем начальную мощность mov 22h, #00010000b ; задаем байт шага (изменяется сдвигом от 10000 до 00001) mov 30h, #3h ; задаем визуальные начальные значения мощности mov 31h, #6h mov 32h, #0h mov 33h, #0h ; задаем визуальные начальные значения времени mov 34h, #0h mov 35h, #0h mov 36h, #0h mov 40h, #00111111b ; задаем матрицу цифр, для вывода на индикатор mov 41h, #00000110b mov 42h, #01011011b mov 43h, #01001111b mov 44h, #01100110b mov 45h, #01101101b mov 46h, #01111101b mov 47h, #00000111b mov 48h, #01111111b mov 49h, #01101111b ; задали матрицу цифр, для вывода на индикатор ; 50h код кнопки mov 55h, #0h ; байт периодов по 10с mov 56h, #0h ; байт отсчета 10с mov 57h, #40 ; байт отсчета 2-х секунд (40*0,05) ; инициализация и пуск таймеров mov TMOD, #00010001b mov TL0, #LOW(NOT(1428)) mov TH0, #HIGH(NOT(1428)) setb PT0 setb PT1 setb EA setb ET0 setb ET1 setb TR0 mm: mov R7, 21h cjne R7, #1Fh, v_4 mov 30h, #6 mov 31h, #0 mov 32h, #0 sjmp mm v_4: mov R7, 21h cjne R7, #0Fh, v_3 mov 30h, #4 mov 31h, #8 mov 32h, #0 sjmp mm v_3: mov R7, 21h cjne R7, #7, v_2 mov 30h, #3 mov 31h, #6 mov 32h, #0 sjmp mm v_2: mov R7, 21h cjne R7, #3, v_1 mov 30h, #2 mov 31h, #4 mov 32h, #0 sjmp mm v_1: mov R7, 21h cjne R7, #1, mm mov 30h, #1 mov 31h, #2 mov 32h, #0 sjmp mm ; R3-номер текущего отображаемого индикатора m_TF0: ;обработка прерывания по 1-му таймеру mov TH0, #HIGH(NOT(1428)) mov TL0, #LOW(NOT(1428)) ;изменение визуальных значений мощности и времени mov23h, R3 movC, 18h movP3.3, C movC, 19h movP3.4, C movC, 1Ah movP3.5, C cjneR3, #0, m_1; если она не 0, то переходим на m_1 movA, 30h ;вывод цифры на соответствующий индикатор addA, #40h movR0, A movP1, @R0 sjmpm_end m_1:cjneR3, #1, m_2 movA, 31h addA, #40h movR0, A movP1, @R0 sjmpm_end m_2:cjneR3, #2, m_3 movA, 32h addA, #40h movR0, A movP1, @R0 sjmpm_end m_3:cjneR3, #3, m_4 movA, 33h addA, #40h movR0, A movP1, @R0 sjmpm_end m_4:cjneR3, #4, m_5 movA, 34h addA, #40h movR0, A movP1, @R0 sjmpm_end m_5:cjneR3, #5, m_6 movA, 35h addA, #40h movR0, A movP1, @R0 sjmpm_end m_6:movA, 36h addA, #40h movR0, A movP1, @R0 m_end: jbP3.2, key ; mov 50h, R3 ; Опрос клавиатуры sjmpm_13 ; в 50h - код полученной кнопки key: mov 50h, #80h m_13: movR6, 50h cjne R6, #80h, m_20 ljmp m_11 m_20: movR6, 50h cjneR6, #0h, m_21 ;обработка кнопки + время jbTR1, m_11 movR6, 55h cjneR6, #240, m_30 sjmpm_11 m_30: movR6, 56h cjneR6, #10, mw inc55h sjmpm_11 mw: mov56h, #10 sjmpm_11 m_21: movR6, 50h cjneR6, #1h, m_22 ;обработка кнопки + мощность movA, 21h; проверка тек. состояния мощности anlA, #00010000b; если максимальное, cjneA, #10000b, m_31 ; то игнорируем sjmpm_11 m_31:setbC movA, 21h RLCA mov21h, A sjmpm_11 m_22: movR6, 50h cjneR6, #2h, m_23 ; обработка кнопки - мощность movR6, 21h cjneR6, #1h, m_32 ; тек. мощность минимальна? sjmpm_11 m_32:clrC movA, 21h RRCA mov21h, A sjmpm_11 m_23: movR6, 50h cjneR6, #3h, m_24 ; обработка кнопки старт jbTR1, m_11 movR6, 55h cjneR6, #0, m_33 movR6, 56h cjneR6, #0, m_33 sjmpm_11 m_33: movTL1, #LOW(NOT(50000)) movTH1, #HIGH(NOT(50000)) setbTR1 clrP3.0 sjmpm_11 m_24: ; Обработка кнопки стоп jbTR1, m_34 mov55h, #0h mov56h, #0h mov57h, #40 mov22h, #00010000b sjmpm_11 m_34: clrTR1 setbP3.0 m_11:incR3 cjneR3, #7, m_12 movR3, #0 m_12:reti m_TF1: movTH1, #HIGH(NOT(50000)) movTL1, #LOW(NOT(50000)) movA, 21h anlA, 22h cjneA, #0, iz_0 setbP3.1 sjmpdc iz_0:clrP3.1 dc:dec57h;декремент байта осчета 2-х секунд movR5, 57h cjneR5, #20, t_1 ;если 20 то надо -1с dec56h sjmpt_end t_1: movR5, 57h cjneR5, #0, t_end ;если 0 то смена шага + проверка на окончание работы и пр. dec56h movR5, 22h cjneR5, #1, t_10 mov22h, #00010000b movR5, 55h cjneR5, #0, t_2 ; проверка на 0 интервалов по 10 с clrTR1 mov22h, #00010000b setbP3.0 setbP3.1 sjmpt_end t_2:dec55h mov56h, #10 sjmpt_11 t_10:movA, 22h ; RRA mov22h, A t_11:mov57h, #40 t_end: movA, 55h movR5, 56h cjneR5, #10, d__ incA mov36h, #0 sjmpd_1 d__:mov36h, 56h d_1:movB, #6 divAB mov35h, B movB, #6 divAB mov34h, B mov33h, A reti END Заключение В результате разработки была создана система управления микроволновой печью, удовлетворяющая поставленной задаче. В процессе разработки были использованы программы CorelDRAW и ProView фирмы Franklin Software Inc. |