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

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

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



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

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



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











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







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











Студент гр. 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.