Лекция: Использование ЭВМ в физическом эксперименте
В работе рассматривается программирование устройства по поддержанию постоянной температуры и ее изменению по заданному закону (Рис. 19). Оно состоит из электроплитки, которая включается в сеть через контакты реле, и управляется выходным портом 378h. В стакан с термостатируемой жидкостью помещен терморезистор, подключенный к входному порту 201h, сопротивление которого программно контролируется.
Рис.19
Сопротивление терморезистора определяется по количеству циклов программы, затраченных для зарядки эталонного конденсатора через терморезистор. В строке 70 определено условие включения и выключения нагревателя для обеспечения температурной стабилизации.
10 out &h201,0 разрядка конденсатора
20 for a=0 to 500 начало зарядки конденсатора
30 b=inp (&h201)
40 if b=253 then goto 60 если зарядился конденсатор (d1)
50 next a
60 print a
70 if a<250 then out&h378,1 else out&h378,0
75 sleep 1
80 goto 10
Использование ЭВМ в физическом эксперименте
Для проведения физического эксперимента удобно использовать порт LPT1 c адресами 378h, 379h и 37ah.
Разъем порта со стороны распайки показан на Рис.1.
В этом разъеме 3 адреса: 378h – выходной, 379h – входной, 37Аh – выходной.
Выводы разъема с 18 по 25 соединены с общим проводом ( земля – GND).
Рис.1
Выходной порт с адресом 378h, соответствующие биты и номера контактов разъема показаны на Рис.2. Под номерами выводов показан вес каждого бита от 1 для D0 до 128 для D7. Здесь же показана схема присоединения вольтметра к выходному порту при проведении его проверки.
Рис.2
Для подачи на выходы всех бит порта 378h логических единиц необходимо написать команду:
out&h378, 255,
для подачи логических нулей:
out&h378, 0.
Для формирования на выходе бита D0 периодически следующих прямоугольных импульсов программа имеет вид:
10 out &h378,1 установка на D0 напряжения U=5В
20 sleep 1 в течение секунды вольтметр показывает лог.1
30 out &h378,0 установка на D0 напряжения U=0В
40 sleep 1 в течение секунды вольтметр показывает лог.0)
50 goto 10 возвращение к строке 10
Выходной порт с адресом 37А, соответствующие биты и номера контактов разъема показаны на Рис.3. Под номерами выводов показан вес каждого бита от 1 для D0 до 8 для D3. Здесь же показана схема присоединения вольтметра к выходному порту при проведении его проверки. В отличие от порта 378h, в выходном порту 37А доступны четыре младших бита.
Рис.3
Для формирования на выходе бита D0 порта 37А периодически следующего прямоугольного импульса программа имеет вид:
10 out &h37А,1 установка на D0 напряжения U=5В
20 out &h37А,0 установка на D0 напряжения U=0В
30 goto 10 вернуться к строке 10
Порт LPT1 имеет входной адрес 379h. Его входные биты с D3 до D7. Первые три бита D0, D1, D2 не выведены на разъем, а бит D7 является инверсным (Рис.4)
Входной порт является ТТЛ совместимым по уровню входных сигналов. Если к входному порту не подключены устройства, то на его всех входных битах будут лог.1.
Рис.4
Для проверки входного порта необходимо запустить программу:
а= inp(&h 379)
print a (печать)
В переменную А запишется число 127.
Если к D3 подключена кнопка и нажата, то в переменную А запишется число 119, так как 127–8=119