Расчет производственного освещения

Автор работы: Пользователь скрыл имя, 20 Ноября 2013 в 19:08, курсовая работа

Краткое описание

Задание. Разработать схему стабилизации температуры в заданном диапазоне: верхний предел не превышает 256, а нижний равен 0. Датчик температуры аналоговый. При превышении допусковой величины включается двигатель с вращением по часовой стрелке, а при уменьшении температуры против часовой. При равенстве с допуском на экране LCD высвечивается “NORMAL”, при превышении “HIGHER” и при уменьшении “LOWER”. Процесс непрерывный.

Вложенные файлы: 1 файл

Kompyuternye_Seti_I_Sistemy.docx

— 467.36 Кб (Скачать файл)

MOVWF R0L

CALL A001                             ; п/п работы АЦП

BSF STATUS,RP0

MOVF ADRESL,W

BCF STATUS,RP0

MOVWF R5L

MOVF ADRESH,W

MOVWF R5H                        ; в  R5H:R5L= результат АЦП

; clear LCD

MOVLW 0x01

CALL LC02

;Lcdout "TEMPERATURA: ", #an0 'formatted text for line 1

MOVLW 0x80            ;DDRAM

CALL LC02

MOVLW 'T'                   

CALL LC01

MOVLW 'e'                   

CALL LC01

MOVLW 'm'                    

CALL LC01

MOVLW 'p'                    

CALL LC01

MOVLW 'e'                     

CALL LC01

MOVLW 'r'                     

CALL LC01

MOVLW 'a'                     

CALL LC01

MOVLW 't'                     

CALL LC01

MOVLW 'u'                     

CALL LC01

MOVLW 'r'                     

CALL LC01

MOVLW 'a'                     

CALL LC01

MOVF R5L,W

MOVWF R2L

MOVF R5H,W

MOVWF R2H                  ; R2H:R2L=результат АЦП

CALL LC01

CALL LC21

GOTO SRAV

ASR:

MOVLW 0x20

CALL LC01

MOVLW 'C'

CALL LC01

; переход на 2 строку LCD

MOVLW 0xC0

CALL LC02

;Lcdout "NORMA, HOLODNO, JARKO", text for line 2

BTFSC TEMPERATURA,4

GOTO BLCD

BTFSC TEMPERATURA,2

GOTO MLCD

GOTO VLCD

BLCD:

MOVLW 'J'

CALL LC01

MOVLW 'A'

CALL LC01

MOVLW 'R'

CALL LC01

MOVLW 'K'

CALL LC01

MOVLW 'O'

CALL LC01

GOTO WAIT

MLCD:

MOVLW 'H'

CALL LC01

MOVLW 'O'

CALL LC01

MOVLW 'L'

CALL LC01

MOVLW 'O'

CALL LC01

MOVLW 'D'

CALL LC01

MOVLW 'N'

CALL LC01

MOVLW 'O'

CALL LC01

GOTO WAIT

VLCD:

MOVLW 'N'

CALL LC01

MOVLW 'O'

CALL LC01

MOVLW 'R'

CALL LC01

MOVLW 'M'

CALL LC01

MOVLW 'A'

CALL LC01

GOTO WAIT

; 29: WaitMs 1 'larger value should be used in real device

WAIT: 

MOVLW 0x01

MOVWF R0L

CLRF R0H

CALL W001

; 30: Goto loop 'loop forever

GOTO L0001                     ; End of program

SRAV:

MOVLW 0x00         ; СРАВНИВАЕМ c DOP=26 0C

MOVWF DOPUSKH

MOVLW 0x68

MOVWF DOPUSKL          ; DOP=01А=(26)

MOVF R5H,W  ;SEND R5H (H) IN W

SUBWF DOPUSKH,1

BTFSC STATUS, Z

GOTO RAVNO         ;если = старшие байты  , то сравниваем младшие

BTFSC STATUS,C

GOTO MENSHE

GOTO BOLSHE

;сравниваем младшие байты

RAVNO 

MOVF R5L,W            ;SEND 0x2C (L) IN W

SUBWF DOPUSKL,1

BTFSC STATUS,Z

GOTO VIKL

BTFSC STATUS,C

GOTO MENSHE

GOTO BOLSHE

;выключаем  двигатель - диоды не горят

VIKL:    

MOVLW 0x00

MOVWF PORTC

MOVLW .0

MOVWF TEMPERATURA

MOVLW .0

CALL W001 

MOVLW .0

MOVWF DVP

CALL PAUSE

DECFSZ SEC,F

GOTO SRAV

BOLSHE:

MOVLW 0x0F

MOVWF PORTC

MOVLW 0xFF

MOVWF TEMPERATURA

MOVLW 0x00  ;СРАВНЕНИЕ С 30

MOVWF SRH

MOVLW 0x78

MOVWF SRL

MOVF R5H, W  ;SEND 0x2D (H) IN W

SUBWF SRH, 1

BTFSC STATUS, Z    

GOTO OB_4

MENSHE:

MOVLW 0xF0

MOVWF PORTC

MOVLW 0x0F

MOVWF TEMPERATURA

MOVLW 0x00  ; СРАВНЕНИЕ С 10

MOVWF SRH

MOVLW 0x28

MOVWF SRL

MOVF R5H, W  ;SEND 0x2D (H) IN W

SUBWF SRH, 1

BTFSC STATUS,Z   

GOTO OB4

; вращение  по часовой стрелке и против часовой

OB4: 

MOVLW 0x0A

MOVWF SEC

GOTO PAUSE_1

OB_4: 

MOVLW 0x0A

MOVWF SEC

GOTO PAUSE_2

PAUSE_1: 

DECFSZ SEC, F

GOTO CW

CROG_1

GOTO ASR

PAUSE_2:

DECFSZ SEC, F

GOTO CCW

CRUG_2

GOTO ASR

CW: 

BCF STATUS, RP0

MOVLW .1

MOVWF DVP

CALL PAUSE

MOVLW 0x20

MOVWF PORTD

CALL PAUSE

MOVLW 0x60

MOVWF PORTD

CALL PAUSE

MOVLW 0x40

MOVWF PORTD

CALL PAUSE

MOVLW 0xC0

MOVWF PORTD

CALL PAUSE

MOVLW 0x80

MOVWF PORTD

CALL PAUSE

MOVLW 0x90

MOVWF PORTD

CALL PAUSE

MOVLW 0x10

MOVWF PORTD

CALL PAUSE

MOVLW 0x30

MOVWF PORTD

CALL PAUSE

GOTO CRUG_1

CCW: 

BCF STATUS, RP0

MOVLW .1

MOVWF DVP

CALL PAUSE

MOVLW 0x10

MOVWF PORTD

CALL PAUSE

MOVLW 0x90

MOVWF PORTD

CALL PAUSE

MOVLW 0x80

MOVWF PORTD

CALL PAUSE

MOVLW 0xC0

MOVWF PORTD

CALL PAUSE

MOVLW 0x40

MOVWF PORTD

CALL PAUSE

MOVLW 0x60

MOVWF PORTD

CALL PAUSE

MOVLW 0x20

MOVWF PORTD

CALL PAUSE

MOVLW 0x30

MOVWF PORTD

CALL PAUSE

GOTO CRUG_2

PAUSE:  

DECFSZ DVP,F

GOTO PAUSE

RETURN

; Division Routine

D001: 

MOVLW 0x10

MOVWF R3L

CLRF R2H

CLRF R2L

D002: 

RLF R0H,F

RLF R2L,F

RLF R2H,F

MOVF R1L,W

SUBWF R2L,F

MOVF R1H,W

BTFSS STATUS,C

INCFSZ R1H,W

SUBWF R2H,F

BTFSC STATUS,C

GOTO D003

MOVF R1L,W

ADDWF R2L,F

MOVF R1H,W

BTFSC STATUS,C

INCFSZ R1H,W

ADDWF R2H,F

BCF STATUS,C

D003: 

           RLF R0L,F

RLF R0H,F

DECFSZ R3L,F

GOTO D002

MOVF R0L,W

RETURN

; Waitms Routine

W001: 

MOVF R0L,W   

BTFSC STATUS,Z

GOTO W002

CALL W003

DECF R0L,F

NOP

NOP

NOP

NOP

NOP

GOTO W001

W002: 

MOVF R0H,W

BTFSC STATUS,Z

RETURN

CALL W003

DECF R0H,F

DECF R0L,F

GOTO W001

W003: 

MOVLW 0x0C

MOVWF R2H

W004: 

DECFSZ R2H,F

GOTO W004

NOP

NOP

MOVLW 0x12

MOVWF R1L

W005: 

DECFSZ R1L,F

GOTO W006

CALL W007

CALL W007

NOP

NOP

RETURN

W006: 

CALL W007

GOTO W005

W007: 

MOVLW 0x0D

MOVWF R2L

W008: 

DECFSZ R2L,F

GOTO W008

NOP

RETURN

; Waitus Routine - Byte Argument

X001: 

MOVLW 0x0A 

SUBWF R4L,F

BTFSS STATUS,C

RETURN

GOTO X002

X002: 

MOVLW 0x06

SUBWF R4L,F

BTFSS STATUS,C

RETURN

GOTO X002

; Waitus Routine - Word Argument

Y001: 

MOVLW 0x10

SUBWF R4L,F

CLRW

BTFSS STATUS,C 

ADDLW 0x01

SUBWF R4H,F

BTFSS STATUS,C

RETURN

GOTO Y002

Y002: 

MOVLW 0x0A 

SUBWF R4L,F

CLRW

BTFSS STATUS,C

ADDLW 0x01

SUBWF R4H,F

BTFSS STATUS,C

RETURN

GOTO Y002

; Adc in Routine

A001: 

RLF R0L,F

RLF R0L,F

RLF R0L,F

MOVLW 0x38

ANDWF R0L,F

MOVLW 0xC1

IORWF R0L,W

MOVWF ADCON0

MOVLW 0x0A 

MOVWF R4L

CALL X001

BSF ADCON0,GO

A002: 

BTFSC ADCON0,GO

GOTO A002

BCF PIR1,ADIF

BCF ADCON0,ADON

RETURN

; п/п посылки данных

LC01: 

BSF PORTD,1             ; RS=1 - регистр данных

BCF PORTD,2            ; R/W=0 - запись

MOVWF PORTB

CALL LCX1

MOVLW 0x32

MOVWF R4L

CALL X001

RETURN

LCX1: 

BSF PORTD,3             ; разрешение Е записи

NOP

BCF PORTD,3

NOP

RETURN

; п/п посылки команд

LC02: 

BCF PORTD,1               ; RS=0 - регистр команд

BCF PORTD,2               ; R/W=0 - запись

MOVWF PORTB           ;PORTB

CALL LCX1        ; строб-разрешение

MOVLW 0xD0   

MOVWF R4L

MOVLW 0x07   

MOVWF R4H                                ; R4H:R4L=07D0

CALL Y001

RETURN

; формирование  адреса числа и сброс на LCD

LC21: 

BSF R3H,7                            

MOVLW 0x00

MOVWF R1H                   ; R1H=68=(104)

MOVLW 0x68                  ; W = 68=(104)

CALL LC22

CLRF R1H                               ; R1H=00

MOVLW 0x0A                         ; W=А=(10)    R1H:R1L=0А=(10)

CALL LC22

MOVF R2L,W                        ; W=R2L=мл байт результата АЦП

GOTO LC23

LC22: 

MOVWF R1L

MOVF R2H,W

MOVWF R0H

MOVF R2L,W

MOVWF R0L

CALL D001

MOVF R0L,W

BTFSS STATUS,Z

BCF R3H,7

BTFSC R3H,7

RETURN

LC23: 

ADDLW 0x30                         ; прибавление адреса числа 0

CALL LC01

RETURN

END

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

 

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

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

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список литературы

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

Информация о работе Расчет производственного освещения