Устройство для измерения температуры в индустриальных системах и разработка программы для вывода на ЭВМ                          
		Устройство для измерения температуры в индустриальных системах и разработка программы для вывода на ЭВМ                          
 Министерство общего и профессионального образования 
Российской Федерации. 
Государственный университет систем управления 
и радиоэлектроники. 
Кафедра промышленной электроники (ПрЭ) 
КУРСОВОЙ ПРОЕКТ 
Измерение температуры. 
Студент гр. 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. 
	
	
					
							 |