Курсовая работа: Розробка термореле
Принцип роботи мікропроцесорного пристрою для вимірювання температури можна описати наступними етапами:
1. Початок роботи.
2. Ввімкнення живлення. Схема пристрою живиться від батареї B1 +5В.
3. Встановлення початкових установок мікроконтролера. У них встановлюється покажчик стека на останню комірку ОЗП, початковий стан каналів зв'язку з датчиками температури, швидкість обміну по інтерфейсу, дозволяються переривання від таймера/лічильника, переписується кількість і індивідуальні адреси датчиків температури з EEPROM в ОЗП, в регістри записуються необхідні константи. Коли початкові установки завершені, починається частина програми, яка робить опитування датчика температури. Вона буде циклічно повторяться, поки підводиться живлення до мікроконтролера або доки не виникне запит на переривання. Опитування датчика температури починається з сигналу скидання на лінії.
4. Команда початку виміру температури дозволяє перетворення значень температури в цифровий вид для датчика.
5. Аналого-цифрове перетворення значень температури займає час від 750 мс до 800 мс. Тому, щоб набути правильного значення температури, необхідно почекати паузу 750 мс (для термодатчика DS18B20). Пауза витримується за допомогою таймера/лічильника. Під час паузи можна здійснювати інші дії (наприклад, зробити обмін даними з комп'ютером або вивести результати на РКІ).
6. Послідовно зчитуються виміряні значення температури; запис виміряних значень у відповідні комірки ОЗУ.
7. На цьому етапі робиться галуження програми : якщо виміряне значення температури не виходить за межі -10оС<Т<+85оС, то результат виводиться на екран ЖКИ (етап 8). Якщо ж виміряне значення температури виходить за межі діапазону, то відбувається сигнал попередження (етап 9).
8. Якщо необхідно продовжувати вимірювати температуру (етап 10), то переходять до пункту 4, якщо ні, то тоді відбувається завершення програми – етап 11.
Блок-схема даного алгоритму представлена на рис. 3.1
Рисунок 3.1 – Блок-схема алгоритму роботи програми
3.2 Лістинг програми
NAME LCD_TEMPER
DAT EQU P1
RW EQU P3.5
RS EQU P3.6
EN EQU P3.7
SER EQU P0.0
RCK EQU P1.2
OE EQU P1.6
PROGRAM SEGMENT CODE
MYDATA SEGMENT CODE
CSEG AT 0
USING 0
JMP start
RSEG PROGRAM
start: