Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Контрольные работы » Розробка термометра-термостата на інтегральному датчику температур DS18B20 і мікроконтролері PIC16F84

Реферат Розробка термометра-термостата на інтегральному датчику температур DS18B20 і мікроконтролері PIC16F84





ify"> MOVF TH, 0; Занесення значення температури в екранний буфер

MOVWF NumLNumHConvertOnes, 0DS7SEGRAZR1Tens, 0DS7SEGRAZR2

BTFSC TEMP_READH, 7; Включення знака мінус при негативній температуреRAZR2, 6FLAGS, 6; Включити висновок десяткового дробу

; Процедура зчитує дані про виміряної температурі з DS18В20

READ_T CALL INIT0xCC; Skip ROMO_BYTEOUT_BYTE0xBE; Read ScratchpadO_BYTEOUT_BYTE

; Прийом даннихIN_BYTETEMP_READL; 0IN_BYTETEMP_READH; 1IN_BYTE; 2IN_BYTE; 3IN_BYTE; 4IN_BYTE; 5IN_BYTE; 6IN_BYTE; 7IN_BYTE; 8

; Підрахунок і порівняння контрольної суми пропущено0xFF

; Процедура видає команду на старт вимірювання температури для датчика DS18В20

START_DSINIT0xCC; Skip ROMO_BYTEOUT_BYTE0x44; Convert TO_BYTEOUT_BYTE0xFF

; The following are common 1-Wire routines used in all applications: CALL PIN_HIPIN_LO.50; 500 us delayDELAY_10USECPIN_HI.50; 500 usec delayDELAY_10USEC_BYTE:; returns byte in W.8_NI_BYTE_BYTE_1: PIN_LO; momentary low on DATA_PINPIN_HIPORTB, W; 7 usecs later, fetch from DATA_PINTEMPTEMP, DATA_PINSTATUS, C; its a zeroTEMP, DATA_PINSTATUS, C; its a oneI_BYTE, F.6; now delay 60 usecsDELAY_10USEC_N, FIN_BYTE_1I_BYTE, 0; return the result in W_BYTE: .8 _N_BYTE_1: O_BYTE, FSTATUS, COUT_0OUT_1_BYTE_2: _N, FOUT_BYTE_1_0: CALL PIN_LO; bring DATA_PIN low.6; for 60 usecsDELAY_10USECPIN_HIOUT_BYTE_2_1: CALL PIN_LO; momentary lowPIN_HI.6DELAY_10USECOUT_BYTE_2_HI: BCF INTCON, GIESTATUS, RP0TRISB, DATA_PIN; high impedanceSTATUS, RP0INTCON, GIE_LO: BCF INTCON, GIEPORTB, DATA_PINSTATUS, RP0TRISB, DATA_PIN; low impedance zeroSTATUS, RP0INTCON, GIE_LONG.250; 250 msec delayLOOP1_N_MS: MOVLW.110; close to 1.0 msec delay when set to.110LOOP2NOPLOOP2, F; decrement and leave result in LOOP2INNER; skip next statement if zeroLOOP1, FOUTTER_10USEC:; provides a delay equal to W * 10 usecsLOOP1_100USEC_1: LOOP1, F

GOTO DELAY_100USEC_1

; ***************************************** **************

; Процедура зберігає значення змінної T_ALARM

; в незалежній пам'яті даннихMOVLW.50

MOVWF EEADRT_ALARM, 0L21MOVWF EEDATA; Підпрограма записи EEROM

BCF INTCON, GIE; Заборона всіх прериванійSTATUS, RP0; Встановлюємо сторінку пам'яті 1EECON1, WREN; Дозволяємо запис в EEROM0x55; Даємо набір команд для запису

MOVWF EECON20xAAEECON2

BSF EECON1, WRNOP; Очікуємо завершення запісіEECON1, WRL20EECON1, WREN; Забороняємо запис в EEROMSTATUS, RP0; Встановлюємо сторінку пам'яті 0INTCON, GIE; Дозвіл всіх прериванійEEADR, 1

; Процедура завантажує значення змінної T_ALARM

; з незалежної пам'яті даннихMOVLW.50


Назад | сторінка 9 з 10 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка фірмового стилю і створення фільму-презентації музичного колективу ...
  • Реферат на тему: CASE-технології в моделюванні даних інформаційної системи Call-центру
  • Реферат на тему: Маркетингова діяльність Call-центру Окі-Токі ТОВ "Масском"
  • Реферат на тему: Протокол управління кріптоключа SKIP
  • Реферат на тему: Процедура банкрутства