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


Полнотекстовый поиск по базе:

Главная >> Курсовая работа >> Информатика, программирование


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




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

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

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

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

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

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

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

Студент гр. 3

.

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

.

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

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

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

ЗАДАНИЕ

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

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

Студенту .

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

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

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

Содержание.

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

4

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

5

  1. 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.

Похожие работы: