Устройство для измерения температуры в индустриальных системах и разработка программы для вывода на ЭВМ
В данном курсовом проекте спроектировано устройство контроля температуры в холодильных установках. В ходе выполнения курсового проекта закрепили знания полученные при теоретическом изучении данного курса и приобрели навыки проектирования сложных систем. При поступлении импульсов на порт LPT1 мы считываем эти импульсы прерыванием 17h функции 02h в регистр Аh. В этом регистре находится число… Читать ещё >
Устройство для измерения температуры в индустриальных системах и разработка программы для вывода на ЭВМ (реферат, курсовая, диплом, контрольная)
Министерство общего и профессионального образования
Российской Федерации.
Государственный университет систем управления
и радиоэлектроники.
Кафедра промышленной электроники (ПрЭ)
КУРСОВОЙ ПРОЕКТ
Измерение температуры.
Студент гр. 3
.
Руководитель проекта
.
Государственный университет систем управления
и радиоэлектроники.
Кафедра промышленной электроники (ПрЭ)
ЗАДАНИЕ
На курсовое проектирование по дисциплине
«Эксплуатация и развитие компьютереных сетей»
Студенту .
Группа факультет Электронной техники .
Тема проекта: Устройство для измерения температуры в индустриальных системах и разработка программы для вывода на ЭВМ .
Руководитель курсового проекта:.
1. Общее описание | ||
2. Функциональное описание | ||
3. Разработка программы | ||
4. Программирование | ||
5. Заключение. 6. Приложение А. Листинг программы | ||
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/OSTROBE 14 OAUTO FEED XT
2 I/O Data Bit 0 15 IERROR
3 I/O Data Bit 1 16 OINIT
4 I/O Data Bit 2 17 OSLCT 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 IACK 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 100 000 do;
end;
end.