Автор работы: Пользователь скрыл имя, 06 Декабря 2013 в 21:22, курсовая работа
Не для кого не секрет, що в наш час техніка набрала шаленої швидкості розвитку і є підстави стверджувати, що ця швидкість і далі буде зростати. Технологія нашої цивілізаціїї досягла грандіозного рівня. Зараз людство може керувати астрономічними за величиною енергіями, починаючи від потужності ядерної енергетики, закінчуючи можливістю впливати на проходження процесів в середині власної планети і навіть інших космічних тіл.
Вступ 3
1 Аналітичний огляд існуючих рішень термостабілізаторів 5
2 Аналіз вихідних даних та розробка структурної схеми термостабілізатора 13
3 Розробка функціональної схеми термостабілізатора 15
4 Вибір елементної бази термостабілізатора 17
5 Розробка, розрахунок та опис принципової схеми термостабілізатора 21
6 Розробка програмного забезпечення термостабілізатора 27
7 Розрахунок потужності споживання термостабілізатора 32
8 Розрахунок надійності термостабілізатора 34
9 Інструкція з експлуатації термостабілізатора 37
Висновки 38
Література
MOVLW 0x0A
MOVWF F0
INCF FSR
DECFSZ I
GOTO L54
RETURN
;Процедура розрахунку
;Вхідні параметри: TEMP_READH, TEMP_READL, результат поміщається в буфер індикації
CONV_T
MOVF TEMP_READL, 0
MOVWF NumL
MOVF TEMP_READH, 0
MOVWF NumH
BTFSC TEMP_READH, 7 ;Обчислення цілої частини
GOTO L30 ;Температура нижче нуля
MOVLW .4 ;Виділяємо цілу частину значення температури
MOVWF A
L61 BCF STATUS, C
RRF NumH, 1
RRF NumL, 1
DECFSZ A, 1
GOTO L61
MOVF NumL, 0
MOVWF TH
MOVF TEMP_READL, 0 ;Обчислюємо десяткову частину
ANDLW B'00001111'
GOTO L50
L30 MOVLW .4
;Виділяємо цілу частину
MOVWF A
L62 BCF STATUS, C
RRF NumH, 1
RRF NumL, 1
DECFSZ A, 1
GOTO L62
MOVLW 0xFF
MOVWF TH
MOVF NumL, 0
SUBWF TH, 1
movlw 0xFF
movwf NumH
MOVF TEMP_READL, 0 ;Обчислюємо десяткову частину
ANDLW B'00001111'
SUBWF NumH, 0
ANDLW B'00001111'
L50 MOVWF NumL
CLRF NumH
MOVLW .6
MOVWF A
L63 MOVF NumL, 0
ADDWF NumH, 1
DECFSZ A, 1
GOTO L63
MOVF NumH, 0
MOVWF NumL
CLRF NumH
CALL Convert
MOVLW 0x0A
SUBWF Tens, 0
BTFSC STATUS, Z
CLRF Tens
MOVLW .5 ;Округлення
SUBWF Ones, 0
BTFSC STATUS, C
INCF Tens, 1
MOVF Tens, 0
MOVWF TL
;Порівняння температур
BTFSC T_ALARM, 7 ;Перевіряємю установку
GOTO L72 ;Установка нижче нуля, значить перехід
MOVF T_ALARM, 0 ;Установка вище нуля
MOVWF NumL ;Додамо до NumL значення установки і
MOVLW .54 ;додамо 54, щоби полегшити порівняння
ADDWF NumL, 1 ;додатньої установки і відємної темперетури (або навпаки)
GOTO L73 ;Перехід
L72 MOVLW 0xFF ;Зявляємось тут при умові відємної уставноки
MOVWF NumL
MOVF T_ALARM, 0
SUBWF NumL, 1
L73 BTFSC TEMP_READH, 7 ;Перевіряємо зчитаний код з датчика температури
GOTO L74 ;Температура нижче нуля
MOVF TH, 0 ;Температура вище нуля і знов додамо 54,але
MOVWF NumH ;не до зчитаних з датчика даних,
MOVLW .54 ;а до цілої частини вирахованої температури
ADDWF NumH, 1
GOTO L76 ;Перехід
L74 MOVF TH ,0 ;Зявляємось тут при умові
MOVWF NumH
BTFSC PA, 3 ;Перевірим, чи включений нагрівач!
CALL L2E ;включений, значить стрибнемо, додамо
MOVF NumH, 0 ;Не включений – зничить порівнюєм,
DECF NumL, 1
SUBWF NumL, 0 ;віднімаючи з установки температуру
BTFSC STATUS, C
GOTO L2A ;Перехід
L2B BSF PA, 3 ;якщо виміряна температура нижче –
MOVF PA, 0
MOVWF PORTA
GOTO L31 ;Вихід з підпрограми
L2A BTFSC T_ALARM, 7 ;Перевіряємо ще раз установку, на випадок
GOTO L2C ;відємної установки, щоб не було проблем
GOTO L2B ;відповідно вмикаємо або вимикаємо нагрівач
L2C BCF PA, 3 ;якщо виміряная температура више –
MOVF PA, 0
MOVWF PORTA
GOTO L31 ;Вихід з подпрограми
L76 BTFSC PA, 3 ;Зявляємось тут при умові
CALL L2D ;Перевірим, чи включений нагрівач?
MOVF NumH, 0 ;ні - порівнюємо,
DECF NumL, 1
SUBWF NumL, 0
BTFSC STATUS, C ;віднімаючи з установки температуру
GOTO L88
BCF PA,
3
MOVF PA, 0
MOVWF PORTA
GOTO L31
L2D MOVF DT_ALARM, 0 ;Додамо 2 град. гістерезиса, щоб
ADDWF NumL, 1 ;на 2 град. вище
RETURN
L2E MOVF DT_ALARM, 0 ;Віднімаємо 2 град. гістерезиса, щоб
SUBWF NumL, 1 ;на 2 град. вище, при відємній температурі.
RETURN
L88 BSF PA, 3
MOVF PA, 0
MOVWF PORTA
;Запис отриманого значення
L31 BTFSS TEMP_READH, 7
GOTO L36
;Температура вище нуля
MOVF TH, 0
SUBLW .19
BTFSC STATUS, C
GOTO L36
;Температура вище мінус 19 градусів
;при температурі меньше -19.9
MOVF TH, 0 ;Занесення значення температури в буфер індикатора
MOVWF NumL
CLRF NumH
CALL Convert
MOVF Ones, 0
CALL DS7SEG
MOVWF RAZR0
;Температура вище плюс 99 градусів
MOVF TH, 0 ;Занесення значення температури в буфер індикатора
MOVWF NumL
CLRF NumH
CALL Convert
MOVF Ones, 0
CALL DS7SEG
MOVWF RAZR0
MOVF Tens, 0
CALL DS7SEG
MOVWF RAZR1
MOVF Hund, 0
CALL DS7SEG
MOVWF RAZR2
BCF FLAGS, 6 ;Відключити виведення десяткової крапки
RETURN
;при температурі від -19.9 до 99.9
L37 MOVF TL, 0 ;Занесення значення температури в буфер індикатора
MOVWF NumL
CLRF NumH
CALL Convert
MOVF Ones, 0
CALL DS7SEG
MOVWF RAZR0
MOVF TH, 0 ;Занесення значення температури в буфер індикатора
MOVWF NumL
CLRF NumH
CALL Convert
MOVF Ones, 0
CALL DS7SEG
MOVWF RAZR1
MOVF Tens, 0
CALL DS7SEG
MOVWF RAZR2
BTFSC TEMP_READH, 7 ;Ввімкнення знаку мінус при відємній температурі
BCF RAZR2, 6
BSF FLAGS, 6 ;Відключити виведення десяткової крапки
RETURN
;*****************************
Информация о работе Розробка мікроконтролерного термостабілізатора