Разработка системы управления кондиционером
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. В.В.Коляда. Кондиционеры – М.: СОЛОН-Пресс, 2002 – с. 233.
2. А.В.Белов. Конструирование устройств на микроконтроллерах – СПб.: Наука и техника, 2005 – с. 255.
3. www.inrost.ru - научно-техническая библиотека сайта фирмы ИНРОСТ.
4. А.В.Логинов. Программирование микро-ЭВМ семейства МК51: Учеб. Пособие – СПб.: Балт. го
с. тех. ун-т, 1996 – 72с.
5. www.atmel.ru - официальный сайт корпорации Atmel.
ПРИЛОЖЕНИЕ
Приложение 1 ;основная программа
bank0 EQU 00000000B ;коды банков памяти
bank1 EQU 00001000B
bank1 EQU 00010000B
bank2 EQU 00110000B
DSEG
ORG 30H
LoopCnt: DS 1 ;счетчик задержки
bufLAN: DS 8 ;буфер для приема данных из MicroLAN
bufLAN2: DS 8 ;буфер для Туст
bufLAN3: DS 1 ;счетчик рабочих циклов кондиционера
ORG 60H ;начало стека
stack: DS 20H ;глубина стека
main: mov bufLAN2, #18H ;начальное значение Туст=24 градуса Цельсия
call inkl
jz in3 ;если клавиши не нажаты переход
in1: cjne a, #11B, in2 ;если обе клавиши нажаты переход
inc bufLAN ;Туст увеличить на 1
jmp in3
in2: dec bufLAN2
in3: call eclr1 ;вывод Туст
mov a, #2
call ecur1
call prtmu ;Туст на ЖКИ №1
call eclr2
mov a, #2
call ecur2
call sttmp ;запуск преобразования Тпм
call rdtmp ;чтение Тпм
call prtmp ;вывод Тпм на ЖКИ №2
mov a, bufLAN+1 ;записьТпм в аккумулятор
swap a
anl a, #0F0H
mov R5, a
mov a, bufLAN
swap a
anl a, #0FH
add a, R5 ;в аккумуляторе байт Тпм
mov a, #LE(a, bufLAN2) ;сравнение Тпм<=Туст
mov bufLAN3, #0 ;обнуление счетчика циклов работы кондиционера
cjne a, #0FFFFH, in5 ;обработкаусловия Тпм<=Туст
in4: call reob
jmp in6
in5: call reoh
in6: mov b, a
mov a, EQ(b, #1)
cjne a, #0FFFFH, in7
jmp in1
in7: mov a, EQ(b, #4)
cjne a, #0FFFFH, in5
jmp in4
;Подпрограмма ввода с клавиатуры (0 бит аккумулятора – за S2, 1 бит – за S1)
inkl: setb P0.0 ;установка 1 на линиях клавиатуры
setb P0.1
mov a, P0 ;считывание порта p0
anl a, #00000011B ;обнуление лишних разрядов
xrl a, #00000011B ;инвертирование
ret
;подпрограмма сброса ЖКИ №1
eres1: mov P2, #0FH ;засылаем адрес регистра блокировки
setb P2.4
clr P2.4
mov P2, #01000001B ;записываем код снятия блокировки
setb P2.4
clr P2.4
mov P2, #0 ;устанавливаем адрес на первый разряд
setb P2.4
clr P2.4
ret
; подпрограмма сброса ЖКИ №2
eres2: mov P3, #0FH
setb P3.4
clr P3.4
mov p3, #01000001B
setb P3.4
clr P3.4
mov P3, #0
setb P3.4
clr P3.4
ret
;подпрограмма очистки ЖКИ №1
eclr1: call eres1 ;сброс экрана
mov P2, #01000000B ;установка управляющего кода
mov R0, #20 ;инициализация счетчика разрядов
c11: set P2.4 ;импульс записи
clr P2.4
djnz R0, c11 ;оператор цикла
ret
; подпрограмма очистки ЖКИ №2
eclr2: call eres2
mov P3, #01000000B
mov R0, #20
c21: set P3.4
clr P3.4
djnz R0, c21
ret
;подпрограмма установки курсора для ЖКИ №1 по аккумулятору
ecur1: anl a, #0FH ;отделяем биты адреса
mov P2, a ;устанавливаем адрес на первый разряд
setb P2.4
clr P2.4
ret
; подпрограмма установки курсора для ЖКИ №2 по аккумулятору
ecur2: anl a, #0FH
mov P3,a
setb P3.4
clr P3.4
ret
;таблица символов
ORG 0600H
ts: DB 0EEH ;0
DB 060H ;1
DB 02FH ;2
DB 06DH ;3
DB 0E1H ;4
DB 0CDH ;5
DB 0CFH ;6
DB 068H ;7
DB 0EFH ;8
DB 0EDH ;9
DB 0EBH ;A
DB 0C7H ;b
DB 08EH ;C
DB 067H ;d
DB 08FH ;E
DB 08BH ;F
DB 000H ;
DB 0A9H ;°
DB 001H ;-
DB 003H ;r
DB 047H ;o
;подпрограмма вывода символа на ЖКИ №1 через аккумулятор
prch1: push DPL ;сохранение регистров в стеке
push DPH
push b
mov DPTR, #ts ;начало таблицы символов
mov c, acc.7 ;сохраняем значение точки
clr acc.7 ;сбрасываем значение бита
movc a, @a+DPTR ;получаем выводимый код
mov acc.4, c ;восстанавливаем значение точки
mov b, a ;сохраняем его в b
anl a, #0FH ;отделяем младший полубайт
mov P2, a ;выводим его на индикатор
setb P2.6 ;вкл. Режим вывода данных
setb P2.4 ;импульс записи
clr P2.4
mov a, b ;восстанавливаем выводимый код
swap a
anl a, #0FH ;отделяем старший полубайт
mov p2, a ;выводим его на индикатор
setb p2.6 ;вкл. Режим вывода данных
setb P2.4 ;импульс записи
clr P2.4
pop b
pop DPH ;восстановление регистров
pop DPL
ret
;подпрограмма вывода символа на ЖКИ №2 через аккумулятор
prch2: push DPL ;сохранение регистров в стеке
push DPH
push b
mov DPTR, #ts ;начало таблицы символов
mov c, acc.7 ;сохраняем значение точки
clr acc.7 ;сбрасываем значение бита
movc a, @a+DPTR ;получаем выводимый код
mov acc.4, c ;восстанавливаем значение точки
mov b, a ;сохраняем его в b
anl a, #0FH ;отделяем младший полубайт
mov P3, a ;выводим его на индикатор
setb P3.6 ;вкл. Режим вывода данных
setb P3.4 ;импульс записи
clr P3.4
mov a, b ;восстанавливаем выводимый код
swap a
anl a, #0FH ;отделяем старший полубайт
mov P3, a ;выводим его на индикатор
setb P3.6 ;вкл. Режим вывода данных
setb P3.4 ;импульс записи
clr P3.4
pop b
pop DPH ;восстановление регистров
pop DPL
ret
;подпрограмма вывода сообщения на ЖКИ №2
prstr2: push psw ;сохранение регистра psw
mov psw, #bank3 ;включаем банк 3
ps1: mov a, #0
movc a, @a+DPTR ;получение очередного символа
cjne a, #0, ps2 ;если это не последний выводим
pop psw ;завершение подпрограммы
ret
ps2: call prch2 ;вывод символа на экран
inc DPTR ;увеличиваем значение указателя
jmp ps1
;подпрограмма вывода сообщения об ошибке
prErr: push acc
call eclr2 ;очистка экрана
mov a, #2 ;курсор в позицию 2
call ecur2
mov DPTR, #serr ;вывести надпись «Error»
call prst2
pop acc
call prch2 ;вывод номера ошибки
ret
;сообщение «Error»
ORG 0680H
Serr: DB 14, 19, 19, 20, 19, 0 ;сообщение «Error», 0 в конце – признак окончания слова
;подпрограмма вывода Туст на ЖКИ №1
prtmu: mov a, #16
call prch1
mov a, bufLAN2
mov b, #10
div ab
call prch1
mov a, b
call prch1
mov a, #17
call prch
mov a, #0CH
call prch1
ret
;подпрограмма с длительностью выполнения примерно 3 мин. опроса клавиатуры и вывода Тпм
zader: mov R2, #7
za1: mov R1, #255
za2: mov R0, #56;
za3: mov LoopCnt, #255
za4: call Delay
djnz LoopCnt, za4
djnz R0, za3
call inkl ;опрос клавиатуры
jnz za5 ;переход при нажатии
call eclr2 ;вывод Тпм
mov a, #2
call ecur2
call sttmp
call rdtmp
call prtmp
djnz R1, za2
Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:
- Устройство радиоприемных устройств
- Исследование характеристик одиночных и связанных колебательных контуров
- Радиоэлектронные средства навигации и связи
- Разработка конструкции и технологии микроэлектронного варианта формирователя опорной частоты 10 МГц
- Анализ задачи общего воздействия динамическим магнитным полем на человека и формирование требований на технические средства комплексной магнитотерапии
Поиск рефератов
Последние рефераты раздела
- Микроконтроллер системы управления
- Разработка алгоритмического и программного обеспечения стандарта IEEE 1500 для тестирования гибкой автоматизированной системы в пакете кристаллов
- Разработка базы данных для информатизации деятельности предприятия малого бизнеса Delphi 7.0
- Разработка детектора высокочастотного излучения
- Разработка микропроцессорного устройства для проверки и диагностики двигателя внутреннего сгорания автомобиля
- Разработка микшерного пульта
- Математические основы теории систем