Рефераты. Система управления микроволновой печью

Рис. 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

1

Номинальное напряжение питания

5 В 5 %

2

Выходное напряжение низкого уровня

не более 0,4 В

3

Выходное напряжение высокого уровня

1,4...2,2 В

4

Входной ток низкого уровня

не более -1,6 мА

5

Входной ток высокого уровня

не более 0,04 мА

6

Напряжение на антизвонном диоде

не менее -1,5 В

7

Ток потребления

не более 70 мА

8

Входной пробивной ток

не более 1 мА

9

Ток утечки на выходе

не более -0,3 мА

10

Потребляемая статическая мощность

не более 367,5 мВт


6.3 Индикаторы


Трехсигментный индикатор E1-3040APR3. [4]

10.16 мм, 3 разряда. Характеристики в таблице 7.


Таблица 7

Цвет свечения

Кристалл

Vf(V)

Сила света Iv (ucd)

Материал

Длина волны (nm)

Раб.

Макс.

Мин.

Раб.

Красный

GaP

700

5.0

5.2

360

600


Четырехсигментный индикатор E3-4040APR2. [4]

10.16 мм, 4разряда. Характеристики в таблице 8.


Таблица 8

Цвет свечения

Кристалл

Vf(V)

Сила света Iv (ucd)

Материал

Длина волны (nm)

Раб.

Макс.

Мин.

Раб.

Красный

GaP

700

5.0

5.2

360

600


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 Microwave

PROGSEGMENTCODE

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

; инициализация данных

mov R3, #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.


Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.