Министерство общего ипрофессионального образования
Российской Федерации.
Государственныйуниверситет систем управления
ирадиоэлектроники.
Кафедрапромышленной электроники (ПрЭ)
КУРСОВОЙПРОЕКТ
Измерениетемпературы.Студентгр. 3
.
Руководительпроекта
.
Государственныйуниверситет систем управления
ирадиоэлектроники.
Кафедрапромышленной электроники (ПрЭ)ЗАДАНИЕ
На курсовоепроектирование по дисциплине
“Эксплуатацияи развитие компьютереных сетей”
Студенту .
Группа факультет Электроннойтехники .
Тема проекта : Устройство дляизмерения температуры в индустриальных системах и разработка программы длявывода на ЭВМ .
Руководитель курсового проекта:.
Содержание.1. 1. Общее описание 4
2. 2. Функциональное описание 5
3. 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 Bit0 15 I -ERROR
3 I/O Data Bit1 16 O -INIT
4 I/O Data Bit2 17 O -SLCT IN
5 I/O Data Bit3 18 na Ground
6 I/O Data Bit4 19 na Ground
7 I/O Data Bit5 20 na Ground
8 I/O Data Bit6 21 na Ground
9 I/O Data Bit7 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
if t2>200 then writeln(' Выключитьвторой обогреватель ');
if t2
if t3>200 then writeln(' Выключитьтретий обогреватель ');
if t3
if t4>200 then writeln(' Выключитьчетвертый обогреватель ');
if t4
for j:=1 to 100000 do;
end;
end.