Итак, приступим к обузданию порта LPT или параллельного порта принтера. Сначала надо определиться, чего мы хотим для начала? Не занаю, как Вы, а когда я первый раз задался этим вопросом (давно это было ...), то ответ был такой:
"Хочу чтоб к компьютеру подключалась лампочка. Запускаю программу. Делаю какое-то действие в этой программе, лампочка загорается, делаю другое - лампочка гаснет." |
Для начала, я думаю этого будет достаточно. Именно этим мы сейчас и займемся.
ВНИМАНИЕ! Представленный пример программы будет работать только в ОС Windows 9x (Windows 95, 98, Me). В ОС Windows NT (2000, XP) так по-простому залезть в порт не удасться, в следющих статьях я подробно расскажу как обойти эту проблему и управлять портом на любой ОС. |
Шаг 1. Надо на компьтере отыскать этот самый LPT порт.
Для этого берете системный блок вашего компьютера и смотрите ему внимательно в тыловую часть: среди кучи всяких разьемов вы должны заметить здоровенный разьем с 25-тью 'дырочками', да-да тот самый, который Вы наверняка ни разу не использовали. |
Шаг 2. "Лампочки"
Для наших целей брать лампочку от карманного фонарика не рекомендуется, гораздо лучше подойдет СВЕТОДИОД. Их можно извлечь из старой электроники, или купить новый в магазине радио-деталей. После того как, вы его раздобудите, надо этот светодиод протестировать: следует взять батарейку на 3-5 В (меньше может не загореться, больше может сгореть) и подключить к светодиоду. Горит - хорошо, не горит - поменяйте полярность подключения батареи. Если ни так, ни так не горт - значит ваш светодиод неисправен. Если светодиод исправен, запомните какой из выводов вы подключали к "+" батарии, какой к "-" - это очень важно.
Шаг 3. Подключение светодиода к порту.
Итак, ответственный момент: ножки светодиода надо вставить во 2-ой (тот вывод, который подключася к "+" батареи) и 25-ый (соответственно, тот который был на "-" батареи) разьемы порта, не перепутайте! Теперь где эти самые выводы расположены: на рисунке ниже показана розетка LPT-порта с полной нумерацией выводов, следуйте ей в поисках нужных контактов. На розетке порта системного блока, скорее всего указаны номера только крайних выводов (4 шт.: 1, 13, 14 и 25). Выводы расположены в 2 ряда: в первом ряду расположены выводы 1-13, во втором 14-25 соответственно.
Для того чтобы во время проведения опытов не сидеть под столом, наблюдая за светодиодом, лучше приобрести удлинитель LPT-порта. Тогда его можно вывести на рабочее место (стол) и устанавливать светодиод в него. Если покупать лень, то тогда хотя бы "прикрутите" два провода к светодиоду, достаточной длины, чтобы вывести их от порта LPT на стол.
После того как Вы подключили светодиод, он должен загореться. Если это так, то хорошо, иначе проверьте туда-ли вы его подключили и не "отвалися" ли где какой контакт (может быть удлинитель кто-то "качественно" сделал).
От автора |
Небольшая корректировка. Возможны ситуации, при которых на некоторых машинах при некоторых ОС светодиод по умолчанию будет потушен. |
Шаг 4. Программная часть
Итак, на этом мы закончили аппаратную часть. Займемся программной. Программу будем писать на языке С++ в среде Microsoft Visual C++ 6.0
Установите сей программный продукт, если его у Вас на компьютере нет. Далее ищите иконку как на рис. выше. Запускайте. Выбирайте: File -> New. Должно появиться такое окошко.
Выбираете там Win32 Console Application. Указывайте в поле Project name имя проекта, например port. В поле Location указан путь к файлам проекта. Нажимайте Ok. В следюущем окне выбирайте пункт An empery project и жмете Finish.
От автора |
Есть общая рекомендация не создавать проекты в директориях, путь к которым может содержать кирилические символы. VS "переваривает" их нормально, но иногда попадаются различные импортные программные продукты, которые, встретив кирилицу в пути к файлам, могут повести себя неадекватно. |
Теперь опять File -> New. Отображается закладка Files.
Выбирайте там C++ Source File. В поле File name укажите имя Port для этого файла. Нажимайте Ok. Все подготовительную работу выполнили, можно собственно писать программу. В левой части окна программы выберите закладку FileView. В папке Source Files выберите наш файл Port.cpp
Теперь копируем ниже следующий код в содержмое файла Port.cpp.
#include "iostream.h" #include "conio.h" #include "stdlib.h" void main() { int Address = 888; cout<<"Test LPT port."<<endl; cout<<"Press '1' to activate and '0' to disactivate lightdiod."<<endl; cout<<"To exit press 'e'."<<endl; cout<<" "<<endl; while(1) { switch(getch()) { case '0': cout<<"Disactivate...."<<endl; _outp(Address, 0); break; case '1': cout<<"Activate...."<<endl; _outp(Address, 1); break; case 'e': exit(1); } } getch(); }
После того как скопировали, выбирайте в меню программы Build ->Compile Port.cpp, потом Build ->Build Port.exe Если Вы правильно скопировали текст программы, и компилятор установлен правильно, то в самом низу должна появиться надпись:
--------------------Configuration: Port - Win32 Debug-------------------- Linking... Port.exe - 0 error(s), 0 warning(s)
Если все в порядке, смело "забираемся" в папку нашего рабочего проекта. Там должна появиться под-папка Debug. В ней "лежит" наша программа Port.exe. Запускайте ее.
Вот тут надо сделать серьезное замечание: эта программа сможет управлять светодиодом, только из операционной системы Windows 9x (Windows 95, 98, Me). В ОС Windows NT (2000, XP) так по-простому залезть в порт не удасться, в следющих статьях я подробно расскажу как обойти эту проблему и управлять портом на любой ОС. |
Но вернемся в ОС Windows 9x, запустим программу. Что теперь делать? Да там все написано: нажимаем на клавиатуре "0" - светодиод гаснет!, набираем "1" - загорается и т.д.
Итак, мы закончили самую первую программу для работы с LPT-портом. Наверняка у Вас уже появились идеи по ее использованию на практике. Смотрите следующие статьи - все только начинается.