Определение времени замкнутого состояния кнопки
Вопросы к экзамену Использование ЭВМ в физическом эксперименте
LPT-порт, адреса доступные для программирования.
Для проведения физического эксперимента удобно использовать порт 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
Определение времени замкнутого состояния кнопки.
Кнопка подключена к контактам 15 (D3) и 25 (GND) Рис.4 . При разомкнутой кнопке в переменную А запишется число 127, при замкнутой – 119. Оператор timer фиксирует время с точностью до 0,05 сек.
10 а= inp(&h 379)
20 if a=127 then goto 10 ожидание замыкания кнопки
30 t1=timer в t1 записывается время начала замыкания кнопки
40 for b=0 to 20000
50 c= inp(&h 379)
60 if c=127 then goto 80 размыкание кнопки
70 next b
80 t2=timer в t2 записывается время размыкания кнопки
90 t=t2–t1 время замкнутого состояния
100 print t