Устройство для измерения температуры в индустриальных системах и разработка программы для вывода

Рефераты по информатике » Устройство для измерения температуры в индустриальных системах и разработка программы для вывода

Министерство общего и профессионального образования

Российской Федерации.


Государственный университет систем управления

и радиоэлектроники.


Кафедра промышленной электроники (ПрЭ)


КУРСОВОЙ ПРОЕКТ


Измерение температуры.


Студент гр. 3

.

Руководитель проекта

.


Государственный университет систем управления

и радиоэлектроники.


Кафедра промышленной электроники (ПрЭ)


ЗАДАНИЕ

На курсовое проектирование по дисциплине

“Эксплуатация и развитие компьютереных сетей”


Студенту .

Группа факультет Электронной техники .


Тема проекта : Устройство для измерения температуры в индустриальных системах и разработка программы для вывода на ЭВМ .


Руководитель курсового проекта:.


Содержание.


1. Общее описание 4
2. Функциональное описание 5
3. Разработка программы 6
4. Программирование 7

5. Заключение.

6. Приложение А. Листинг программы


8

9


1. Общее описание.


Устройство представляет из себя цифровой термометр и обеспечивает

получение 8-битных температурных отсчетов отражающих температуру устройства. Прибор можно использовать в качестве термостата при определенных пользователем значениях температуры верхнего и нижнего уровней. Если текущая температура становится больше верхнего уровня или равна температуре верхнего уровня высвечивается сообщение отключается нагревательный прибор или включается холодильник; если текущая температура становится меньше нижнего уровня или равна температуре нижнего уровня высвечивается сообщение включается нагревательный прибор или отключается холодильник.


Особенности:

* Измеряет температуру от 0 до 250 градусов с шагом в 1 градус.

* Значение температуры считывается в виде 8-битного кода.

* Преобразовывает температуру за 1 секунду.

* Параметры режима термостата задаются пользователем.

* Данные читаются и записываются на паралельный порт LPT1.

* Применяется для термостатического контроля в индустриальных любых чувтвительных системах.


Максимальные значения параметров и режимов:

Напряжение на любом выводе относительно земли . . . . . . . . 0.5...+7.0В

Рабочая температура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 0 ...+200 С

Температура хранения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..0 ...+200 С

Температура пайки . . . . . . . . . . . . . . . . . . . . . . . . ..250 С в течении 10 с

2. Функциональное описание


Считывание температурных значений:

Устройство измеряет температуру с помощью схемы измерения температуры. Значение температуры представлены в 8-битном формате. Данные передаются последовательно на паралельный порт LPT1 начиная с младшего байта. Устройство может измерять температуру в диапазоне от 0 до +200 С с шагом в 1 градус. Так как данные передаются последовательно начиная с младшего байта температурные данные могут быть считаны в виде передачи двух 8-битных слов старшие 4 бита которых либо игнорируются либо установлены в нуль. После передачи старшего байта считываются данные со следующего датчика по аналогичной схеме.

Когда температура измеренная прибором становится равна или поднимается выше сохраненного значения высокого порога температуры высвечивается сообщение и остается до пор пока температура не станет ниже сохраненного значения высокого порога температуры. А когда температура измеренная прибором становится равна или опускается ниже сохраненного значения низкого порога температуры высвечивается сообщение и остается до пор пока температура не станет выше сохраненного значения низкого порога температуры.


3. Разработка программы


Для того чтобы нам реализовать программу необходимо компьютером считывать сигналы. Считывать сигналы будем с помощью параллельного порта LPT1.

Pin In/Out Signal Name Pin In/Out Signal Name

––––––––––––––––––––––––––––––––––––––––––

1 I/O -STROBE 14 O -AUTO FEED XT

2 I/O Data Bit 0 15 I -ERROR

3 I/O Data Bit 1 16 O -INIT

4 I/O Data Bit 2 17 O -SLCT IN

5 I/O Data Bit 3 18 na Ground

6 I/O Data Bit 4 19 na Ground

7 I/O Data Bit 5 20 na Ground

8 I/O Data Bit 6 21 na Ground

9 I/O Data Bit 7 22 na Ground

10 I -ACK 23 na Ground

11 I BUSY 24 na Ground

12 I PE 25 na Ground

13 I SLCT


Подсоединим выходы к 10 11 12 13-му соединению (Pin) кабеля LPT т.е. сигналы закодированой температуры будут приходить на 10 11 12 13 Pin порта принтера LPT1. Затем последовательно считываем два 8-битных слова старшие 4 бита которых либо игнорируются либо установлены в нуль. После передачи старшего байта считываются данные со следующего датчика по аналогичной схеме в течении полминуты. И выводим значение температуры на экран монитора.

4. Программирование.


Программа написанная на языке Pascal 7.0 со встроенным Ассемблером является главной программой. Ее листинг приведен в приложении А.

Программа “Измерение температуры” работает следующим образом:

Запускается скомпилированная программа Kp_rks.exe .

При поступлении импульсов на порт LPT1 мы считываем эти импульсы прерыванием 17h функции 02h в регистр Аh. В этом регистре находится число размером в 8 бит. Каждый бит является результатом состояния устройства подключенного к параллельному порту.

7 6 5 4 3 2 1 0

x . . . . . . . Printer not busy (0=busy)

. x . . . . . . Acknowledgement from printer

. . x . . . . . нет бумаги (12 Pin)

. . . x . . . . Printer selected

. . . . x . . . I/O error

. . . . . 0 . . не используется

. . . . . . 0 . не используется

. . . . . . . x Time-out error

Т.е. в регистре Ah старшие 4-бита являют собой первую половину в коде температуры сдвигаем их на 4 вправо и записываем в Bh принимаем следующий 8-битный код сдвигаем мх вправо на 4 затем сдвигаем влево на 4 и складываем с Bh получаем результат измеренной температуры в Ah первого датчика. Затем последовательно считываем остальные 3 датчика аналогичным образом. Далее сравниваем эти значения температур с min и max допустимым значением температуры если значение текущей температуры выходит за пределы допустимой температуры высвечивается сообщение о нарушении режима работы измеряемого объекта.

5. Заключение


В данном курсовом проекте спроектировано устройство контроля температуры в холодильных установках. В ходе выполнения курсового проекта закрепили знания полученные при теоретическом изучении данного курса и приобрели навыки проектирования сложных систем.

Спроектировали схему содержащую минимум функциональных звеньев простую и дешевую обеспечили требуемую точность разработали программное обеспечение для простоты обслуживания данной системы.

Приложение

Листинг программы Kp_rks


program Kurs;


uses crt;

var t1 t2 t3 t4:byte;

i j:longint;

begin;

for i:=1 to 1000 do

begin

clrscr;

asm

{1 датчик}

xor bx bx

mov ah 02h

mov dx 00h

int 17h

shr ah 4

mov bh ah


mov ah 02h

mov dx 00h

int 17h

shr ah 4

shl ah 4

add ah bh

mov t1 ah


{2 датчик }

xor bx bx

mov ah 02h

mov dx 00h

int 17h

shr ah 4

mov bh ah


mov ah 02h

mov dx 00h

int 17h

shr ah 4

shl ah 4

add ah bh

mov t2 ah


{3 датчик }

xor bx bx

mov ah 02h

mov dx 00h

int 17h

shr ah 4

mov bh ah


mov ah 02h

mov dx 00h

int 17h

shr ah 4

shl ah 4

add ah bh

mov t3 ah


{4 датчик }

xor bx bx

mov ah 02h

mov dx 00h

int 17h

shr ah 4

mov bh ah


mov ah 02h

mov dx 00h

int 17h

shr ah 4

shl ah 4

add ah bh

mov t4 ah


end;

writeln (' ’Температура первого датчика ' t1 ' градусов по С ‘');

writeln('');

writeln (' ’Температура второго датчика ' t2 ' градусов по С ‘');

writeln('');

writeln (' ’Температура третьего датчика ' t3 ' градусов по С ‘');

writeln('');

writeln (' ’Температура четвертого датчика ' t4 ' градусов по С ‘');

writeln('');

if t1>200 then writeln(' Выключить первый обогреватель ');

if t1<55 then writeln(' Включить первый обогреватель ');


if t2>200 then writeln(' Выключить второй обогреватель ');

if t2<55 then writeln(' Включить второй обогреватель ');


if t3>200 then writeln(' Выключить третий обогреватель ');

if t3<55 then writeln(' Включить третий обогреватель ');


if t4>200 then writeln(' Выключить четвертый обогреватель ');

if t4<55 then writeln(' Включить четвертый обогреватель ');


for j:=1 to 100000 do;


end;

end.