Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_Isp_EVM_7_3_10_2.doc
Скачиваний:
11
Добавлен:
27.08.2019
Размер:
3.25 Mб
Скачать

Введение

В пособии рассмотрено применение компьютера при проведении физического эксперимента, как измерительного прибора. Основной смысл заключается в использовании учебных компьютеров без внутренных переделок. При этом используются компьютеры с операционной системой на базе DOS, и не выше Windows 98. Эти условия определяются очень большим количеством компьютеров уже не используемых в компьютерных классах, и самое главное возможностью использования простых языков программирования (Qbasic, Pascal ) для работы с портами. Для проведения экспериментов используются LPT, игровой и COM порты. Пособие состоит из двух частей: основной описательной и архитектуры портов и лабораторного практикума.

В данном пособии используется язык программирования Qbasic фирмы Майкрософт. Использование этого языка связано с его простотой: отсутствие требования в определении типов переменных, работы с графикой без предварительных подготовительных операций, большая компактность написания программ. Проведено описание портов, уровня электрических сигналов по напряжению и мощности.

Лабораторный практикум состоит из 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

Определение времени замкнутого состояния кнопки

Кнопка подключена к контактам 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]