Мегаобучалка Главная | О нас | Обратная связь


Программа управления термодатчиком и двигателем



2019-12-29 266 Обсуждений (0)
Программа управления термодатчиком и двигателем 0.00 из 5.00 0 оценок




 

Согласно заданным условиям эксплуатации проектируемой системы температура в теплице должна поддерживаться пределах 20 - 30 градусов. Алгоритм программы управляющего микроконтроллера, реализующий контроль температуры в заданных пределах путем естественной вентиляции и нагрева: открытие окон происходит при превышении температуры и закрытие при понижении температуры, показан на рисунке 3.3.

Рисунок 3.3 – Блок-схема алгоритма работы управляющего контроллера

Блок-схема алгоритма управления термодатчиком DS 1820, описанного в параграфе 2.3. имеет вид, показанный на рисунке 3.4.

Рисунок 3.4 – Блок-схема управления DS 1820

Программа для управляющего контроллера PIC 16 F877.

#INCLUDE PIС 16F877.IN

OPTIONR EQU 81H                           ; OPTION {RP0=l).

PC      EQU 02H                           ; счетчик команд

PORTA        EQU          05H          ; порт А

PORTB        EQU          06H    ; порт В

TRISA               EQU          85H ; направления порта А

TRISB                     EQU           8 6H    ; направления порта В

INTCON      EQU          0BH   ; флагов прерываний

         ; Регистры общего назначения

TEMP            EQU           21H  ; временный

ZAN             EQU           22H   ; счетчик паузы

COUN            EQU                23H   ; счетчик битов

LSB             EQU                     24Н  ; мл. регистр приема от DS

LSBH             EQU                25H  ; ст. регистр приема от DS

               ; Регистры измеренных температур

EDI            EQU           2 6H    ; единицы.

DES            EQU           27H  ; десятки.

LSBZ EQU      2 АН                 ; двоичное

 ; =======================================

; Инициализация DS

; =======================================

INIDS

     CALL HYL               ; посылка импульса обнуления

MOVLW   OxCC        ; пропуск номера

CALL POSIL                   ; посылка

MOVLW   0x4E      ; разрешение измерения до градуса

CALL POSIL                 ; посылка

MOVLW 0x7D        ; верхней предел +125.

CALL POSIL                ; посылка

MOVLW   0x77        ; нижний предел -55

CALL POSIL                ; посылка

MOVLW 0x7F               ; конфигурация 11 до градуса

CALL POSIL                ; посылка

CALL HYL                   ; посылка импульса обнуления

MOVLW OxCC                  ; пропуск посылки номера DS

CALL POSIL                  ; посылка

MOVLW   0x4 4         ; разрешение преобразования

CALL P.OS IL                     ; посылка

BTFSC FLAG,0              ; если > 30,

BSF      PORTС,0     ; то включим двигатель

MOVLW   .3               ; пауза 750 мс

MOVWF       COUN   ; счетчик паузы
SPLU

MOVLW   .255

MOVWF   ZAN
РLUS

MOVLW                           .255

NOP

NOP

NOP

NOP

NOP

NOP

ADDLW   -1

BTFSS                         STATUS,2

GOTO                                $-2

     DECFSZ ZAN, 1

GOTO   PLUS

DECFSZ COUN,1                                                     

GOTO   SPLU

BTFSC  FLAG,0              ;если больше 30,

BCF PORTС, 0                     ; включение кондиционера

GOTO   PRIEM               ; на прием температуры.
HUL

CALL WUX                    ; выход нуля,

MOVLV   .125             ; нулевой импульс

ADDLW               -1     ; =500мкс

BTFSS                      STATUS,2

 GOTO S-2                                  

 CALL WXO                                 ; выход единицы

MOVLW .125                        ; импульс =

ADDLW     -1                            ; 500мкс

BTFSS                      STATUS,2

GOTO    $-2
RETURN      

; ===============================

;   Изменение входа на прием/передачу

; ===============================

WUX

BCF PORTA,DS    ; Импульс запроса

BSF  STATUS,5 ; переход в банк 1

BCF TRISA,DS ; на выход

BCF ' STATUSES    ; переход в банк 0

RETURN

WXO

BSF  STATUS,5 ; переход в банк 1

BSF  TRISA,DS ; на вход

BCF STATUS,5 ; переход в банк 0

RETURN       

; ========================================

; Прием 16 бит из DS

; ========================================

PRIEM

CALL HYL           ; посылка импульса обнуления

MOVLW   0хСС ; пропуск номера

CALL POSIL        ; посылка

MOVLW   0xBE    ; чтение температуры из блокнота

CALL POSIL        ; посылка

CALL PRIE                ; на прием

MOVFW   LSBH    ; переписать в ст. байт

CALL PRIE                ; на прием

MOVWF   LSB       ; в мл. регистр

GOTO CXET          ; на пересчет
 PRIE

MOVLW .8

MOVWF COUN   ; счетчик = 8 бит

CLRF LSBH              ; обнуление регистра приема

PRI

CALL WUX         ; короткий ноль и ждать отклика

CALL WXO                ; на прием

MOVLW .2      ; задержка

CALL X4                ; 8 мкс.

MOVFW PORTA ; скопировать

MOVWF TEMP   ; во временный регистр

BTFSS    TEMP,DS

BCF STATUS,0       ; установка бита приема в ноль

BTFSC    TEMP,DS      ;

BSF STATUS,0              ; или 1

RRF- LSBH,1              ; запись в регистр

MOVLW .12               ; пауза 60 мкс

CALL X4

DECFSZ COUN,1    ; уменьшение счетчика

GOTO  PRI              ; повтор приема

RETURN    

; ==================================

; Посылка команды в DS

             ; ==================================

POSIL

MOVWF  TEMP            ; переписать во временный

MOVLW   .8               ; запишем число бит

MOVWF    COUN

POSI

RRF TEMP,1                          ; выталкивание мл. бита

BTFSS STATUS,0         ; если он нулевой

GOTO W0                    ; посылка импульса 0

GOTO W1                     ; или 1
POS

DECFSZ    С0UN,1          ; уменьшение счетчика

GOTO POSI                    ; на след. бит   

RETURN  
W0

CALL WUX            ; установка выхода в ноль

MOVLW   .15 ; задержка 60 мкс

CALL Х4

CALL WXO             ; на вход = 1 на выходе

GOTO POS              ; повтор
W1

CALL WUX              ; короткий нулевой импульс

CALL WXO               ; на вход = 1 на выходе

MOVLW   .15     ; удерживаем 60 мкс

CALL X4

GOTO POS               ; повтор

; ==========================

; СЧЕТ

; ==========================

СХЕТ

BTFSC  КОР,4   ; если знак минус

GOTO   $ + 6        ; идти на минус

MOVFW КОР I . ; если плюс

ADDWF LSB,1    ; прибавить 1

BTFSC  STATUS, 0      ; если есть перенос

INCF LSBH,1         ; увеличить старший байт

GOTO   $+6 ;

BCF КОР,4            ; сброс бита знака

MOVFW КОР          ; вычитание из младшего

SUBWF LSB,1    ; байта

BTFSS  STATUS,0 '   ; если нет переноса

DECF    LSBH,1      ; уменьшить старший байт

CALL    DESATI       ; кодировка с округлением

MOVLW .4                 ; сдвигом вправо на 4 разряда

MOVWF COUN

BCF STATUS,0                 ; выделение целой части

RRF LSBH,1

RRF LSB,1

DECFSZ COUN,1

GOTO   $-4

; ===============================

; Сравнение с допуском = 25 градусов  

; ===============================

СОМР1

MOVLW  .25                  ; если температура

SUBWF LSB,0                  ; больше 25о

BTFSC  STATUS,0         ; то

GOTO   ОТК                   ; включение кондиционера

BSF PORTA, 4

GOTO COMP2

OTK

   BSF PORTC, 0 ; включение двигателя на открытие

   GOTO PRIEM

; ======================================

; Сравнение с допуском = 20 градусов

; ======================================

COMP2

  MOVW .20 ; если температура меньше

  SUBWF LSB, 0 ; 20 градусов

  GOTO IND    ; идти на ЖКИ

ZAK

BSF PORTC, 1 ; включение на закрытие окон

GOTO PRIEM

; =====================================

; Задержка мкс, умноженная на 4

; =====================================

X4

  ADDLW -1

  BTFSS STATUS, 2

  GOTO $-2

RETURN

 

 

ЗАКЛЮЧЕНИЕ

        

В процессе разработки курсовой работы получены следующие результаты:

- разработана структурная схема системы климат-контроля;

- осуществлен выбор микроконтроллерного термодатчика DS на основе заданных технических условиях эксплуатации;

- разработана оригинальная схема питания системы без использования понижающего трансформатора;

- разработана принципиальная электрическая схема управления системы климат-контроля;

- разработана схема управления LGD;

- разработаны программы управления термодатчиком, кондиционером и LCD на языке Ассемблер;

- рассмотрены вопросы по охране труда обслуживающего персонала;

Таким образом, спроектированная система климат-контроля полностью отвечает заданным требованиям и условиям технической эксплуатации, обладая при этом относительной дешевизной и простотой реализации.

 

 

СПИСОК ЛИТЕРАТУРЫ

1. Брей Б. Микропроцессоры INTEL. – СПб.: БХВ – Петербург, 2005. – 1028 с.

2. Вальпа О. Полезные схемы с применением микроконтроллеров и ПЛИС(+СД).- М.: Изд.дом «Додэка-ХХ1», 2006. – 416 с.

3. Казначеев В. Микросхемы для управления электродвигателями. – М.:Додэка, 1999. – 288 с.

4. Костров Б.В. Микропроцессорные системы и микроконтроллеры. – М.: «ТехБук», 2007. – 320 с.

5. Тавернье К. PIC-микроконтроллеры. – М.: ДМК Пресс, 2003. – 272 с.

6. Терехов В.М. Системы управления электроприводов. – М.: Изд. центр «Академия», 2006. – 304 с.

7. Угрюмов Е. Цифровая схемотехника. – СПб.: БХВ – Петербург, 2002. – 528 с.

8. Юров В.И. Assembler.- СПб.: Питер, 2007. – 637 с.

9. MPASM: Руководство пользователя // электронная версия на сайте http://www.microchip.ru

10. MPLAB IDE: Интегрированная среда разработки для микроконтроллеров PICmicro компании Technology Incorporated // электронная версия на сайте http://www.microchip.ru

11.Однокристальные 8-разрядные FLASH CMOS микроконтроллеры //

электронная версия на сайте http://microchip.ru.

 



2019-12-29 266 Обсуждений (0)
Программа управления термодатчиком и двигателем 0.00 из 5.00 0 оценок









Обсуждение в статье: Программа управления термодатчиком и двигателем

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (266)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)