LPT-port: xususiyatlari va ishlash tamoyillari. Printer LPT orqali chop etmaydi. Printerni sozlash bo'yicha tavsiyalar lpt porti orqali qurilmalarni boshqarish

Assalomu alaykum, do'stlar! Men bugungi maqolani LPT kabeli yordamida ulangan eski printerlarga bag'ishlamoqchiman. Aniqroq qilib aytganda, LPT ulanishi orqali ulangan printer nima uchun chop etilmasligi va printer normal ishlay boshlashi uchun nima qilish kerakligi haqidagi mavzuni batafsil yoritmoqchiman.

Albatta, bugungi kunda 21-asr bo'lib, unda bunday printerlar ishlab chiqarilmaydi, shuningdek, yangi modellarning anakartlarida LPT porti ham yo'qoldi. Bu, albatta, to'g'ri, lekin bizning davrimizda ham ko'pchilik shunga o'xshash printerlarga ega va ulardan foydalanadi va ular to'liq ish holatida, mukammal bosib chiqarish sifati bilan.

To'g'ri, yangi operatsion tizimlarning chiqarilishi bilan ba'zi ishlab chiqaruvchilar bunday printerlar uchun dasturiy ta'minot ishlab chiqarishni to'xtatdilar, chunki bu modellar eskirganligi va endi hech kim tomonidan foydalanilmayotganligi, bu esa printerni ulashda juda ko'p muammolarni keltirib chiqardi.

Shuning uchun, endi men qurilmangizni sozlashda yordam beradigan eng asosiy muammolarni, tavsiyalar va maslahatlarni ko'rib chiqaman va nima uchun printer LPT kabeli orqali chop etilmasligini tushunaman.

LPT orqali ulangan printer chop etilmasligining eng mashhur sabablari ro'yxati

  • Ushbu ro'yxatdagi birinchi raqam kabelni tekshirishdir. Ha, bu ahamiyatsiz, ammo baribir, siz qanday qarasangiz ham, avvalo LPT kabelimizning yaxlitligini tekshiramiz. Ya'ni, unda har xil jismoniy shikastlanishlar bo'lmasligi uchun, shuningdek, printer va kompyuterga ulanadigan ulagichlarning o'ziga to'g'ridan-to'g'ri e'tibor bering, ular ham yaxshi holatda, singan qismlar yoki mahkamlagichlarsiz bo'lishi kerak.
  • LPT orqali ulangan printer chop etilmasligining keyingi sababi kabelning tizim blokining orqa devoridagi LPT portiga mahkam ulanmaganligidir. Ulagichning har ikki tomonida 2 ta vint bor, ularni ulash kerak, LPT ni ulagandan so'ng, uni tornavida bilan mahkamlang.Ikki bo'shashgan vint printerning ishlashiga qanday ta'sir qilishi mumkin? Masalan, siz ulagan kabel birozdan keyin uzilib qoldi. Natijada, qurilmalar o'rtasidagi aloqa endi to'liq emas. Natijada, printeringiz holatini ko'rsatadi " Ulangan” lekin, aslida, chop etish ishlamaydi.

    Men bu variantni amalda bir necha marta sinab ko'rdim, shuning uchun bu juda tez-tez sodir bo'ladi, men sizga bu maslahatni engil qabul qilmaslikni maslahat beraman, lekin uni hisobga olishni unutmang.
  • Shunday ekan, davom etaylik. LPT orqali ulangan printer chop etmasligining uchinchi sababi drayverdir. Boshida men ko'pgina printerlar endi ishlab chiqaruvchilar tomonidan dasturiy ta'minot ko'rinishida qo'llab-quvvatlanmasligini eslatib o'tdim, bu hali ham bunday qurilmalardan foydalanadigan iste'molchilar uchun juda noqulay.

    Shunday qilib, agar sizda Windows 7,8 yoki 10 bo'lsa, men ishlab chiqaruvchining veb-saytiga o'tishni va u erdan Windows Vista uchun drayverlarni yuklab olishni maslahat beraman. Ushbu operatsion tizimlar har xil bo'lsa-da, ular bir xil arxitekturaga ega, shuning uchun Vista bilan birga kelgan barcha drayverlar boshqa yangi tizimlar uchun mos keladi.Men ham bu opsiyani har doim qo'llayman va bu meni hech qachon muvaffaqiyatsiz tugatmagan, orqali chop etmagan printerlar. LPT, hech narsa bo'lmagandek ishlay boshladi.
  • Agar siz hali ham qurilmangiz uchun kerakli drayverni topmagan bo'lsangiz ( Masalan: HP LaserJet 5L yoki 4L) va operatsion tizimda oldindan o'rnatilgan dasturiy ta'minot sizga mos kelmaydi, men yuklab olishni tavsiya qilaman " Universal bosma haydovchi».

    Qoida tariqasida, shunga o'xshash drayverlar printerlar va MFPlarning barcha ishlab chiqaruvchilarida mavjud. Men shunday narsani payqadimki, haydovchilar bilan bog'liq muammo bo'yicha texnik yordamga murojaat qilganda ( Masalan, kerakli drayverni topa olmaysiz), texnologiya. xizmat darhol sinab ko'rishni va natijani tekshirishni tavsiya qiladi.Men o'zim aytaman, ba'zida bu yordam beradi, lekin shunday holatlar mavjudki, bu drayverni o'rnatgandan so'ng printerda hech narsa bo'lmaydi va u avvalgidek jim bo'lib qoladi. u siz uchun chop etmaydi printer LPT orqali ulangan va siz kerakli dasturni topa olmasangiz, printer ishlab chiqaruvchisi sizga taklif qiladigan universal drayverni yuklab olib, sinab ko'ring. Ehtimol, siz omadli bo'lasiz va u sizga yordam beradi, lekin buning aksi ham bo'lishi mumkin, shuning uchun xafa bo'lmang.
  • Boshqa LPT kabelini ulab ko'ring. Albatta, agar siz birinchi xatboshida aytib o'tgan asosiy kabelda hech qanday shikast topmagan bo'lsangiz, unda hamma narsa yaxshi. Ammo baribir, agar sizda butunlay boshqa LPTni olish va uni ulash imkoniyati bo'lsa, qurilmaning noto'g'ri ishlashi uchun ushbu imkoniyatni butunlay yo'q qilish uchun buni bajaring.
  • Ba'zan, LPT tomchisi orqali ulangan printer chop etilmasligining sababi, printer birinchi ulanganda to'g'ri sozlanmaganligidir. Ya'ni, siz ishga tushirgan vaqtni nazarda tutyapman, sizdan qurilma ulangan portni tanlashingiz so'raladi, siz aniq LPT1 ni tanlashingiz kerak ( Odatda anakartda faqat bitta LPT porti mavjud).

    Ko'p odamlar tasodifan LPT2 yoki LPT 3 ni tanlaydilar, bu noto'g'ri va natijada ular printerni chop etmasligiga nima sabab bo'lgan xatolik va uni qanday tuzatish kerakligini aniqlashga ko'p vaqt sarflashadi. Shuning uchun portni tanlashda ehtiyot bo'ling va LPT 1 ni tanlaganingizga ishonch hosil qiling, shunda siz uchun hamma narsa yaxshi ishlaydi.
  • Xo'sh, oxirgi xatboshida men sizga printer kompyuterga ulangan Parallel port kabi narsa haqida gapirib beraman. Ushbu port yoqilgan, o'chirilgan va BIOS-da to'liq sozlangan; Aytgancha, aynan shu sozlamalar tufayli LPT orqali ulangan printer ba'zan chop etmaydi.Gap shundaki, ba'zi anakartlarda Parallel port sukut bo'yicha o'chirilgan va printer faqat yoqilgandan keyin chop etishni boshlaydi. Biroq, ko'pincha bu barcha sozlamalar, umuman port sozlamalari kabi zavod sozlamalariga qaytarilgan hollarda sodir bo'ladi.

    Natijada, printerni keyingi safar yoqsangiz, u kutilganidek chop etilmaydi. kerakli port bo'ladi BIOS menyusida oddiygina o'chirilgan. Shuning uchun, biz kerakli Parallel port o'chirilganligini tekshiramiz, agar u "O'chirish" bo'lsa, biz uni yoqamiz va printerning ishlashidan zavqlanamiz.

Shuni ta'kidlashni istardimki, ushbu maqola bosqichma-bosqich ko'rsatma emas, balki qurilmangizni sozlashda foydalanishingiz mumkin bo'lgan oddiy maslahatlardir. Ehtimol, ushbu maslahatlar LPT orqali ulangan printeringiz nima uchun chop etilmasligini aniqlashga yordam beradi.

Habré-da chiroqni Internet orqali boshqarish haqida, uyda yorug'likni kompyuterdan boshqarish g'oyasi paydo bo'ldi va men allaqachon kompyuterni uyali telefondan boshqarish uchun sozlanganim uchun, bu yorug'likni kompyuterdan boshqarish mumkinligini anglatadi. bir xil telefon. Maqolani ishdagi hamkasblarimdan biriga ko'rsatgandan so'ng, u aynan shu narsa kerakligini aytdi. Chunki u tez-tez kompyuterda film tomosha qilayotganda uxlab qoladi. Film tugaganidan keyin biroz vaqt o'tgach, kompyuter ham uxlab qoladi va monitorni o'chiradi, lekin xonadagi yorug'lik yonib turadi. Bular. bu narsa foydali deb qaror qilindi va men bu mo''jiza uchun ma'lumot va tafsilotlarni to'plashni boshladim.
Qolgan ma'lumotlar habracut ostida (ehtiyot bo'ling, rasmlar juda ko'p - tirbandlik).

Qurilma diagrammasi

Asl sxema Internetda topilgan sxemalardan biridan olingan va u quyidagicha ko'rinadi:

Ammo faqat kichik o'zgarish bilan: 4N25 optokuplning 1-pin va 2-LPT pin o'rtasida 390 Ohm rezistor qo'shildi va yoqilganligini bildiruvchi LED ham qo'shildi. Sxema sinov rejimida yig'ilgan, ya'ni. oddiygina kerak bo'lganda simlar bilan bog'langan va sinovdan o'tgan. Ushbu versiyada u shunchaki eski sovet chiroqini yoqdi va o'chirdi.
Agar biz nazorat qilishimiz kerak bo'lsa, unda bitta qurilma uchun emas, balki kamida 4 ta qurilma uchun (asosida: stol ustidagi bitta chiroq, ikkita kalitli qandil, zaxira rozetka) qaror qilindi. Ushbu bosqichda qurilmaning to'liq elektron sxemasini qurish zarurati tug'ildi va turli dasturlarni tanlash boshlandi.
Oʻrnatilgan:

  1. KiCAD
  2. Burgut
Ularning barchasini ko'rib chiqib, men Eagle-ga joylashdim, chunki uning kutubxonasida "o'xshash" qismlar bor edi. Unda nima sodir bo'ldi:

Diagramma DB9 portidan foydalanadi, ya'ni. oddiy MAQOMOTI porti, bu platada ham, ulagichlarning o'zida ham bo'sh joyni tejash maqsadida qilingan (menda COM bor edi) va biz faqat 5 ta o'tkazgichdan foydalanamiz, bu bizga zaxira bilan kifoya qiladi. shuningdek, DB25 (LPT) dan DB9 (COM) ga adapter yarating, mening holimda u quyidagicha amalga oshiriladi:
LPT 2-9 pin = COM 1-8 pinli ma'lumotlarni boshqarish pinlari;
LPT 18-25 pin (ko'pincha ular bir-biriga ulanadi) = COM 9 pin - bu bizning zaminimiz.
Sxema, shuningdek, o'rni quvvatlantirish uchun qo'shimcha 12V quvvat manbaidan foydalanadi; rejaga ko'ra, bu oddiy Xitoy zaryadlovchisi yoki ehtimol 9V Krona bo'ladi (bitta o'rni yaxshi ishlaydi, siz bir vaqtning o'zida 4 tani tekshirishingiz kerak). Kompyuter portini mustahkamlash uchun alohida quvvat manbai va optokupl yordamida galvanik izolyatsiyadan foydalaniladi. Agar xohlasangiz, siz, albatta, uni 12V kompyuter quvvat manbaidan quvvatlantirishingiz mumkin, lekin har kim buni o'zi va o'z xavfi va xavf ostida qiladi.

Qurilmani yaratish uchun kerakli qismlar
  1. COM port - 1 dona
  2. quvvat ulagichi - 1 dona.
  3. yashil LED - 4 dona
  4. optokupl 4n25 - 4 dona
  5. optokupl uchun o'rindiq (menda faqat 8 oyog'im bor edi) - 4 dona.
  6. qarshilik 390 Ohm - 4 dona.
  7. qarshilik 4,7 kOhm - 4 dona.
  8. tranzistor KT815G - 4 dona.
  9. o'rni HJR-3FF-S-Z - 4 dona.
  10. 3 ta kontakt uchun qisqichlar - 4 dona.
  11. folga PCB

PCB sxemasini tayyorlash

PCB tayyorlash uchun Eagle-dan foydalanishga harakat qilib, men bu biroz murakkab bo'lishini tushunib etdim va osonroq variantni topishga qaror qildim. Ushbu parametr sprint layout 5 dasturi edi, hatto u Windows uchun qilingan bo'lsa ham, lekin u Linux ostida sharobda muammosiz ishlaydi. Dasturning interfeysi intuitiv, rus tilida va dasturda juda aniq yordam (yordam) mavjud. Shu sababli, bosilgan elektron platani ishlab chiqish bo'yicha barcha keyingi harakatlar 5-sprint sxemasida (bundan buyon matnda SL5 deb yuritiladi) amalga oshirildi.
Garchi ko'p odamlar ushbu dasturdan o'z qurilmalari uchun platalarni ishlab chiqishda foydalansalar ham, unda men kerak bo'lgan qismlar yo'q edi (hatto yuklab olingan makro to'plamlar to'plamida ham). Shuning uchun biz birinchi navbatda etishmayotgan qismlarni yaratishimiz kerak edi:
  1. COM porti (o'rnatish teshiklariga ko'ra, menikiga o'xshamaydigan port)
  2. elektr rozetkasi
  3. uch tirgakli qisqich
  4. HJR-3FF-S-Z o'rni
Ushbu qismlarning turlari:

Kerakli qismlarni qo'shgandan so'ng, bosilgan elektron plataning haqiqiy dizayni boshlandi. Bir nechta urinishlar kerak bo'ldi, ulardan beshtasi bor edi. Doskaning har bir versiyasi kartonga bosilgan, teshiklari teshilgan va ularga qismlar kiritilgan. Aslida, mening COM portim SL5-dagi portga mos kelmasligi aniqlandi. O'rni pallasida ham kichik xatolik yuzaga keldi - aslida o'rni tanasi 2-3 mm ga siljigan. Tabiiyki, barcha xatolar tuzatildi.
Birinchi bosilgan versiyada tranzistor noto'g'ri ulanganligi ma'lum bo'ldi, ikkita kontakt aralashib ketgan.
Barcha tuzatishlar va tuzatishlardan so'ng, natijada paydo bo'lgan kengash quyidagicha ko'rinish oldi:

SL5 doskani ko'rish uchun Fotosuratlarni ko'rish funksiyasiga ega, unda u quyidagicha ko'rinadi:

Kengashning so'nggi versiyasi treklarga yana bir oz o'zgartirishlar kiritadi, ammo aks holda u bir xil ko'rinadi.

SL5 shuningdek, taxtani chop etish uchun qulay variantga ega, siz keraksiz qatlamlarni yashirishingiz va har bir qatlamning bosma rangini tanlashingiz mumkin, bu juda foydali.

PCB ni tayyorlash

LUT usuli (lazer-temir texnologiyasi) yordamida taxta yasashga qaror qilindi. Keyinchalik, butun jarayon fotosuratda.

Kerakli o'lchamdagi PCB qismini kesib oling.

Biz eng yaxshi zımpara qog'ozini olamiz va mis sirtini ehtiyotkorlik bilan tozalaymiz.

Sirtni tozalashdan keyin uni yuvish va yog'dan tozalash kerak. Siz uni suv bilan yuvishingiz va aseton bilan yog'sizlantirishingiz mumkin (mening holimda u 646 erituvchi edi).
Keyinchalik, biz o'z taxtaimizni lazerli printerda qoplangan qog'ozga bosib chiqaramiz, printerni eng qalin nashrga (tonerni tejamasdan) o'rnatishni unutmaymiz. Bu variant biroz muvaffaqiyatsiz bo'lib chiqdi, chunki toner bulg'angan, ammo yana bir urinish to'g'ri edi.

Endi siz rasmni qog'ozdan tekstolitga o'tkazishingiz kerak. Buning uchun biz dizaynni kesib, uni tekstolitga qo'llaymiz, kerak bo'lganda uni tekislashga harakat qilamiz va keyin uni temir bilan isitamiz. Toner eritib, mis yuzasiga yopishib qolishi uchun butun sirtni yaxshilab isitish kerak. Keyin biz taxtani bir oz sovushini kutib turamiz va uni suv ostida namlash uchun boramiz. Qog'oz etarlicha nam bo'lganda, uni taxtadan ajratish kerak. Doskada faqat yopishtirilgan toner qoladi. Bu shunday ko'rinadi:

Keyinchalik, etching uchun eritma tayyorlashingiz kerak. Buning uchun men temir xloriddan foydalandim. Temir xloridli kavanozda eritma 1 dan 3 gacha bo'lishi kerakligi yozilgan. Men bundan biroz chetga chiqdim va 240 g suv uchun 60 g temir xlorid qildim, ya'ni. 1 dan 4 gacha bo'lib chiqdi, shunga qaramay, taxtaning ishqalanishi odatdagidek sodir bo'ldi, faqat biroz sekinroq. E'tibor bering, quruq temir xloridni suvda eritish jarayoni issiqlik hosil qiladi, shuning uchun uni kichik qismlarga suvga quyib, aralashtirish kerak. Tabiiyki, chizish uchun metall bo'lmagan idishlardan foydalanish kerak, mening holimda bu plastik idish (seld balig'i kabi). Men bu yechimni oldim:

Taxtani eritma ichiga tushirishdan oldin, men taxtani olib tashlash va aylantirishni osonlashtirish uchun baliq ovlash chizig'ini orqa tomoniga yopishtirish uchun lenta ishlatdim. Agar eritma qo'lingizga tushsa, uni tezda sovun bilan yuvishingiz kerak (sovun uni zararsizlantiradi), ammo dog'lar hali ham qolishi mumkin, barchasi muayyan sharoitlarga bog'liq. Kiyimdagi dog'lar umuman olib tashlanmaydi, lekin men buni o'zim sinab ko'rmaganim baxtiga muyassar bo'ldim. Kengash eritmaga mis tomoni pastga va hamma tekis emas, balki burchak ostida bo'lishi kerak. Vaqti-vaqti bilan taxtani qazib olishdan tozalash tavsiya etiladi, chunki u keyingi ishlov berishga xalaqit beradi. Buni paxta chig'anoqlari yordamida amalga oshirish mumkin.

Butun qirqish jarayoni menga 45 daqiqa vaqt oldi, 40 daqiqa yetarli bo'lardi, lekin men yana bir narsa bilan band edim.
Chizishdan keyin biz taxtani sovun bilan yuvamiz, lentani baliq ovlash liniyasi bilan yirtib tashlaymiz va olamiz:

Diqqat! Temir xlorid eritmasini lavaboga (kanalizatsiya) quymang - bu lavabonun metall qismlariga zarar etkazishi mumkin va umuman eritma hali ham foydali bo'lishi mumkin.
Keyinchalik, biz tonerni yuvishimiz kerak, bu yog'sizlantirish uchun ishlatilgan bir xil erituvchi 646 bilan muvaffaqiyatli amalga oshiriladi (erituvchining teri bilan uzoq vaqt aloqa qilish unga zarar etkazishi mumkin).

Keyingi qadam teshiklarni burg'ulashdir. Menda dastlab taxtada 1 mm va 1,5 mm teshiklari bor edi, chunki men ingichka matkaplarni topa olmadim. Shuningdek, bizning shahrimizda elektr motoriga ulash uchun kollet chuck topib bo'lmadi, shuning uchun hamma narsa katta matkap bilan amalga oshirildi.

Birinchi qurilma keldi

Birinchi marta men faqat ikkita matkap oldim va bunday matkapdan foydalanganda bu etarli emas edi. Bir matkap singan, ikkinchisi esa egilgan. Men birinchi kuni burg'ulashga muvaffaq bo'ldim:

Ertasi kuni men beshta matkap sotib oldim. Va ularning soni etarli edi, chunki agar ular buzilmasa (aytmoqchi, beshtasidan faqat bittasi singan), ular xiralashadi va zerikarlilari bilan burg'ulashda izlar yomonlashadi va mis tozalana boshlaydi. Taxtani to'liq burg'ulashdan so'ng biz quyidagilarni olamiz:

Burg'ulashdan so'ng, taxtani kalaylash kerak. Buning uchun men eski usuldan foydalandim - lehimli temir, TAGS oqimi va qalay. Men buni Rose qotishmasidan foydalanib sinab ko'rmoqchi edim, lekin uni bizning shaharda topib bo'lmaydi.

Kalaylashdan keyin biz quyidagi natijaga erishamiz:

Keyinchalik, oqim qoldiqlarini olib tashlash uchun taxtani yuvishingiz kerak, chunki TAGS suv bilan tozalanadi, bu suv yoki spirtli ichimlik bilan amalga oshirilishi mumkin. Orasida nimadir qildim – eski aroq bilan yuvib, paxta bilan artdim. Ushbu qadamlarning barchasidan so'ng, bizning taxtamiz tayyor.

Ehtiyot qismlarni o'rnatish

Kengashning to'g'riligini tekshirish uchun men dastlab faqat bitta (to'rttadan) qator qismlarni yig'aman, siz hech qachon xatolik qayerda paydo bo'lganini bilmaysiz.

Qismlarni o'rnatgandan so'ng, biz boramiz va qurilmani LPT orqali kompyuterga ulaymiz, buning uchun DB25 (LPT) dan DB9 (COM) ga adapter quyidagi shaklda lehimlanadi:

  • 2 pinli DB25 dan 1 pinli DB9
  • 3 pinli DB25 dan 2 pinli DB9
  • 4 pinli DB25 dan 3 pinli DB9
  • 5 pinli DB25 dan 4 pinli DB9
  • 6 pinli DB25 dan 5 pinli DB9
  • 7 pinli DB25 dan 6 pinli DB9
  • 8 pinli DB25 dan 7 pinli DB9
  • 21 pinli DB25 (18 dan 25 gacha bo'lishi mumkin) 9 pinli DB9
Oddiy o'ralgan juftlik sim sifatida ishlatilganligi sababli, bitta sim yo'q edi, ammo bu qurilma uchun faqat beshta sim etarli, shuning uchun bu variant mos keladi. Bizning o'zgartirilgan yukimiz oddiy sovet chiroqidir. Xo'sh, quvvat manbai sifatida - universal xitoylik quvvat manbai (4 ulagich va quvvat manbai 3 dan 12 V gacha). Mana hamma narsa yig'ilgan:

Ammo qurilma allaqachon ishlamoqda:

Bu yana bir oqshom tugadi va qolgan qismlarni o'rnatish keyingi kunga qoldirildi.

Va bu erda to'liq yig'ilgan qurilma:

Xo'sh, u qanday ishlashi haqida qisqa video (sifat unchalik yaxshi emas, uni to'g'ri suratga olishning iloji yo'q edi)

Hammasi shu, faqat qurilma uchun oddiy g'ilofni topish va foydalanishga topshirish qoladi.

Dasturiy ta'minot qismi

Tabiiyki, LPT portini boshqarish uchun sizga qandaydir dasturiy ta'minot kerak bo'ladi, lekin menda uyda Linux bo'lgani uchun oddiy dasturni o'zim yozishga qaror qildim, keyin uni qo'shib, kerak bo'lganda moslashtirdim. U shunday ko'rinardi:
#o'z ichiga oladi
#o'z ichiga oladi
#o'z ichiga oladi
#o'z ichiga oladi
#define BASE 0x378
#VAQTNI 100000 ni aniqlang
int main()
{
int x = 0x0F;
int y = 0x00;
agar (ioperm(BASE, 1, 1))
{
perror("ioperm()");
chiqish(77);
}
outb(x,BASE);
qaytish 0;
}

Ushbu dastur 0x0F = 00001111 ni LPT portiga yuboradi, ya'ni. 1-dan 2-5-gachasi pinlarni (Data0-Data3) ta'minlaydi va bu 2-5-pinlar va tuproq (18-25-pinlar) orasidagi nazorat kuchlanishimizdir, shuning uchun barcha to'rtta o'rni yoqiladi. O'chirish uchun portga 0x00 yuborish dasturi xuddi shu tarzda ishlaydi, u faqat x - outb (y, BASE) o'rniga y ni yuboradi. Shuningdek, siz port holatini o'qishingiz mumkin:
#define BASEPORT 0x378 /* lp1 */
...
printf("holat: %d\n", inb(BASEPORT));
...

Ushbu dasturning yagona ogohlantirishi shundaki, u root sifatida bajarilishi kerak, chunki ioperm funktsiyasi oddiy foydalanuvchilar uchun mavjud emas. Menimcha, biz sizga bunday muammoni qanday hal qilishni aytishimiz shart emas, har kim o'ziga mos keladigan variantni tanlaydi.

Keyinchalik, dastur shunday o'zgartirildiki, unga buyruq qatori parametrlarini o'tkazish orqali qaysi qurilma va nima qilish kerakligini belgilash mumkin edi.
"sw --help" ning chiqishi:
LPT porti orqali o'rni boshqarish uchun dastur.
Dastur bir yoki ikkita parametrga ega bo'lishi mumkin.
Parametr formati: sw [qurilma raqami] [harakat]
qurilma raqami - 1 dan 8 gacha
harakat - "yoqilgan", "o'chirilgan", "st" - yoqilgan, o'chirilgan, holat
Misol: ikkinchi qurilmani yoqish uchun "sw 2 on" yoki yordamni ko'rsatish uchun "sw --help"

PS, agar kimgadir kerak bo'lsa, men sl5-dagi taxtali diagramma faylini va boshqaruv dasturining manba kodini biron joyga joylashtirishim mumkin.

Do'stlarimdan biri http://habrahabr.ru/blogs/DIY/92655/ maqolasini ko'rib, LPT porti orqali yukni boshqarish uchun qurilmani xohladi. Ammo u faqat bitta qurilmani emas, balki 8 tani boshqarishni xohladi!
Ushbu apparat qismi maqoladagi qurilmaning tasviri va o'xshashligida, kichik farqlar bilan qilingan: birinchidan, men LPT portining har bir chiqishiga (8 dona) o'rni uladim, ikkinchidan, men insonning bosma sxemasini yaratdim. taxta. Birinchi birinchi narsalar.
Ta'riflangan qurilma lpt porti orqali kompyuterdan har qanday qurilmalarni, masalan, yoritish lampalari, fan va boshqalarni boshqarishga imkon beradi, ularning quvvati 220V tarmoqdan quvvatlansa, 1 kVt dan oshmasligi kerak. Agar siz tegishli dasturiy ta'minotni yozsangiz va Internetga ulangan bo'lsangiz, qurilmalaringizni dunyoning istalgan nuqtasidan boshqarishingiz mumkin.

LPT porti orqali yukni boshqarish uchun qurilmaning sxemasi eng oddiy.


Kompyuterdan olingan dastur LPT portining D0..D7 chiqishlarida mantiqiy darajalarni boshqarishi mumkin. LPT portidagi mantiqiy birlik darajasi 5V ni tashkil qiladi, bu aktuatorlarning keyingi ishlashi uchun juda qulaydir. LPT chiqishidan oqim o'rni boshqarish uchun etarli emasligi sababli, biz VT1 tranzistorida kuchaytirgichdan foydalanamiz. Rezistor R1 tranzistorning asosiy pallasida oqimni cheklaydi. Tranzistor quvvatni o'rni bobiniga o'tkazadi va u siz nazorat qilmoqchi bo'lgan kuchli yukni, masalan, lampochkani, dvigatelni va boshqalarni yoqadi. Kengash HJR-3FF-S-Z o'rni (12V o'rash, 230V AC kuchlanishida 5A kontaktli kommutatsiya oqimi) uchun simli. VD1 diodi o'rni o'chirilganida tranzistor VT1ni teskari kuchlanishdan himoya qiladi. Diagrammada D0 LPT port liniyasi uchun bitta tugun ko'rsatilgan, ammo boshqa chiziqlar uchun boshqaruv bir xil.
Bu eng oddiy qurilma, uni har kim, hatto yangi radio havaskor ham yig'ishi mumkin. Ammo agar siz uni 220V nominal kuchlanishli qurilmalarni boshqarish uchun ishlatmoqchi bo'lsangiz, uni yoqishdan oldin, o'rnatishga, ayniqsa 220V zanjirlarini o'rnatishga alohida e'tibor bering, shunda bu kontaktlarning zanglashiga olib kelishi va pastligi o'rtasida hech qanday aloqa bo'lmasligi kerak. -kuchlanish davrlari, masalan, snot yoki o't etishmasligi tufayli. Keraksiz ulanishlarni aniqlash uchun uni yoqishdan oldin Ohmmetr bilan hamma narsani diqqat bilan sinab ko'rishingizni tavsiya qilaman. O'rnatish muvaffaqiyatsiz bo'lsa, siz nafaqat kompyuteringizni buzish, balki hayotingizni xavf ostiga qo'yish xavfini tug'dirasiz!
Men Sprint Layout dasturida ushbu qurilma uchun bir tomonlama bosilgan elektron platani ishlab chiqdim.

Doska lazerli printer va dazmol yordamida tayyorlangan. Men taxtani eritmada bir oz vaqt ushlab turdim va himoya namunasi unchalik yuqori sifatga ega bo'lmadi, temir xlorid eritmasi ba'zi joylarda himoya qoplamasi orqali izlarni yutib yuborganligi aniq. Ha, bu juda yaxshi taxta emas, lekin izlar keng bo'lgani uchun va men ularni qalayladim, hammasi yaxshi bo'ldi. Barcha ulanishlar joyida

Deyarli yig'ilgan qurilma quyidagi fotosuratda ko'rsatilgan. Ko'rinib turibdiki, men diodlarni taxtaga yo'llarning yonidan to'g'ridan-to'g'ri o'rashga o'tadigan o'rni terminallariga lehimladim.

Asl manba maqolasida (maqolaning boshidagi havola) LPT portini boshqarish dasturlari va ularning tavsifi mavjud.

Eng oddiy AVR dasturchilaridan biri LPT port dasturchisidir. Buning sababi, LPT portining signal darajalari ATSni dasturlash uchun zarur bo'lgan signal darajalariga mos keladi. Shuning uchun LPT portidan signallar to'g'ridan-to'g'ri mikrokontrollerga berilishi mumkin (rezistorlar faqat portni tasodifiy qisqa tutashuvlardan himoya qilish uchun kerak). Bunday dasturchini 5 daqiqada hurda materiallardan yig'ish mumkin!


Ko'rib turganingizdek, AVR uchun LPT dasturchi sxemasi juda oddiy:

LPT dasturchisini yaratish uchun bizga kerak bo'ladi:


Siz 100 dan 150 Ohm gacha bo'lgan rezistorlardan foydalanishingiz mumkin. Siz dasturchini umuman rezistorlarsiz yig'ishingiz mumkin, ammo keyin portni yoqish osonroq bo'ladi. Kabel sifatida IDE kabelidan foydalanishingiz mumkin. Pastadirni ulashda dasturchining yanada barqaror ishlashi uchun har bir "signal" sim "tuproq" simi bilan almashtirilishi kerak. Bu chiziqlardagi shovqin darajasini pasaytiradi va shu bilan dasturlash simining uzunligini oshiradi. Kabelning uzunligi 50 sm ichida bo'lishi kerak.Shuningdek, dasturlashtiriladigan qurilmaga ulanish uchun ulagich kerak.
O'chirishda dasturlash uchun Atmel quyidagi standart ulagichlarni tavsiya qiladi:


Agar siz mikrokontrollerlar bilan jiddiy shug'ullanishni rejalashtirmoqchi bo'lsangiz, ulagichlarni standart qiling. Qurilmani bir martalik dasturlash uchun men dasturchidan foydalanishni tavsiya qilaman (bunday ulagichlar kompyuter korpusining tugmalari va LEDlarini anakartga ulaydi) va platadagi PLS erkak pinlari. Bu qurilma platasining tartibini iloji boricha soddalashtirishga imkon beradi, chunki dasturchi uchun pinlar mikrokontroller oyoqlariga yaqin joyda o'rnatiladi. AVR mikrokontrollerlarining MOSI, MISO, SCK oyoqlari har doim birga joylashgan, shuning uchun ular uchun uchta ulagichdan foydalanish mumkin. Biz "tuproq" uchun alohida ulanishlarni amalga oshiramiz - GND va "qayta tiklash" - Qayta tiklash.


5 bosqichda LPT dasturchini yig'ish:


2-12 va 3-11 ulagichlar orasidagi o'tish moslamalari bizning dasturchimiz STK200/300 dasturchisi kabi dasturlarga ko'rinadigan bo'lishi uchun kerak (STK200/300 o'ziga xos standartdir va shuning uchun dasturchimiz ko'plab dasturlarga ko'rinadi).

LPT dasturchimiz ishlashi uchun kerak, biz mikrokontroller uchun dasturchini ulaymiz.

Umumiy tavsiyalar:
— LPT porti juda nozik - uni "otish" juda oson, shuning uchun port bilan ishlashda ehtiyot bo'ling.
— Men barcha dasturchilarda yerga alohida ulanishni tavsiya qilaman. Bu birinchi navbatda tuproqni ulash va dasturlashtiriladigan qurilma va kompyuterning tuproq potentsiallarini tenglashtirishi uchun kerak. (Bilmaganlar uchun, agar sizning kompyuteringiz oddiy rozetkaga tuproqli kontaktsiz ulangan bo'lsa, u holda kompyuter quvvat manbai filtrining o'ziga xos xususiyatlaridan kelib chiqqan holda, kompyuter korpusida har doim 110V potentsial mavjud. Agar dasturchi "muvaffaqiyatli" ulangan bo'lsa, bu mikrokontroller yoki kompyuterning LPT portini yoqish uchun etarli.

Xulosa:
-Agar siz birinchi dasturchingizni yig'ishga qaror qilgan bo'lsangiz va kompyuteringizda LPT porti bo'lsa, unda "5 simli" dasturchi eng yaxshi variantdir! Bu juda oddiy va takrorlash qiyin bo'lmaydi. Bundan tashqari, dasturchi klassik STK200/300 dasturchilariga mos keladi, ya'ni u ko'plab AVR dasturlash dasturlari tomonidan qo'llab-quvvatlanadi.
- Agar siz tez-tez dasturlashni rejalashtirmoqchi bo'lsangiz, LPT portini himoya qilish uchun men LPT dasturchisini bufer elementlari bilan yig'ishni maslahat beraman (siz LPT dasturchisining yaxshi versiyasini izielektronikaga qarashingiz mumkin) yoki bir xil darajada oddiy (COM) yig'ishni maslahat beraman. port ancha bardoshli va yoqish qiyinroq).

(66 789 marta tashrif buyurilgan, bugun 19 tashrif)

So'nggi yillarda rasmlarda mazali retseptlar, ma'lumot beruvchi. Bo'lim har kuni yangilanadi. Har doim asosiy dasturlar bo'limida kundalik foydalanish uchun eng yaxshi bepul dasturlarning so'nggi versiyalari. Kundalik ish uchun kerak bo'lgan deyarli hamma narsa mavjud. Pirat versiyalardan asta-sekin voz kechib, qulayroq va funktsional bepul analoglar foydasiga boshlang. Agar siz hali ham bizning chatimizdan foydalanmasangiz, u bilan tanishishingizni tavsiya qilamiz. U erda siz ko'plab yangi do'stlar topasiz. Bundan tashqari, bu loyiha ma'murlari bilan bog'lanishning eng tez va samarali usuli. Antivirus yangilanishlari bo'limi ishlashda davom etmoqda - Dr Web va NOD uchun har doim eng so'nggi bepul yangilanishlar. Biror narsani o'qishga vaqtingiz yo'qmi? Tikerning toʻliq mazmuni bilan ushbu havolada tanishish mumkin.

Grafik LCD indikator - LPT port orqali ulanish

Grafik LCD indikator 128x64 piksel Fordata FDCG12864B (KS0108B) - LPT porti orqali kompyuterga ulanish. Biz uni bog'ladik.

- LCD panelni qanday ulash mumkin?
- Rozetkaga ulang!
- Siz tushunmayapsiz, men LCD monitorni nazarda tutyapman!
- Rozetkaga va kompyuterga!


Kompyuterdagi suyuq kristall displey zamonaviy va zamonaviy ko'rinadi, ammo u media-markazda eng foydali ko'rinadi. Ayniqsa, u grafik bo'lsa. Axborot ergonomikasi va monoxrom piksellar san'ati bilan shug'ullanish uchun joy mavjud. O'qiymizmi?
Biz bir ovozdan qaror qildik: "Ha, qilamiz!"
Biz nima sotib oldik: bir juft 128x64 pikselli LCD ko'rsatkichlari Fordata FDCG12864B (KS0108B) va qolganlari bizda edi.
Va bu nima edi: Centronics LPT kabellari, 10 KOhm kesish rezistorlari, oddiy 10 Ohm rezistorlar (0,25 Vt), Molex erkak konnektorlari.
Mantiqiy savol: Nima uchun ikkita LCD ko'rsatkich?
Javob: Ko'rsatkichlar soni hammualliflar soniga teng.



Ko'rsatkichni sotib olganimizdan so'ng, biz qaror qilgan birinchi narsa bu qanday hayvon ekanligini aniqlash edi? Ma'lum bo'lishicha, u naslli "xitoylik", uning "otalari" fordata.cn saytida yashaydi, u erdan biz uning .pdf formatidagi 1 sahifasining oddiy tavsifini chiqarib oldik.
Biroq, yaratuvchilarning "otalari" bir sahifada juda ko'p foydali ma'lumotlarni joylashtirishga muvaffaq bo'lishdi: qurilma o'lchamlari, blok diagrammasi, xususiyatlari, pinout, mexanik xususiyatlar, quvvat diapazonlari va elektron xarakteristikalar.
LPT portiga ega bo'lgan LCD indikatorining ulanish diagrammasi juda oddiy, ammo u g'amxo'rlik, qat'iyat va, albatta, lehimlash qobiliyatini (kontaktlarga simlar) talab qiladi.
Shuni ta'kidlash kerakki, LPT ulagichidagi kontaktlar raqamlangan, siz shunchaki diqqat bilan qarashingiz kerak va ular sezilarli bo'ladi, xuddi shu narsa LCD indikatoriga ham tegishli, ekranning qarama-qarshi tomonida siz bo'limda ko'rsatilganlarga o'xshash belgilarni ko'rishingiz mumkin. diagramma:


LCD indikatorining LPT portiga ulanish diagrammasi.

LPT porti

LCD indikator

GND 1 (Vcc) Umumiy terminal
+5V 2 (Vdd) Ta'minot kuchlanishi
kontrast 3 (V0) Kontrast
17 4 (RS) tanlang: buyruq/maʼlumotlar
GND 5 (R/W) Tanlash: o‘qish/yozish
1 6 (E) Ma'lumotlarni o'tkazish
2 7 (DB0) ma'lumotlar shinasi
3 8 (DB1) ma'lumotlar shinasi
4 9 (DB2) ma'lumotlar shinasi
5 10 (DB3) ma'lumotlar shinasi
6 11 (DB4) ma'lumotlar shinasi
7 12 (DB5) ma'lumotlar shinasi
8 13 (DB6) ma'lumotlar shinasi
9 14 (DB7) ma'lumotlar shinasi
14 15 (CS1) Kristal tanlash 1
16 16 (CS2) Kristal tanlash 2
+5V 17 (RST) Dastlabki sozlash
kontrast 18 (Vee) DC-DC konvertor chiqishi
+5V+10Ohm 19 (A) + orqa yorug'lik quvvati
GND 20 (K) - orqa yorug'lik quvvat manbai

Keling, orqa yorug'lik moslamasida qarshilik mavjudligini tushuntiramiz. Qurilmaning elektron xususiyatlariga ko'ra (ya'ni LCD ko'rsatkichi), uning nominal yorug'lik manbai kuchlanishi 4,2V, maksimal - 4,5V va xuddi shu rezistor bilan biz "quvvat manbalarining haroratini" biroz tinchlantiramiz. Ko'rsatkichning orqa tomonidagi fotosuratda siz Albert tomonidan ehtiyotkorlik bilan lehimlangan CD-ROMdagi kontakt prokladkalarini ko'rishingiz mumkin.



Ko'rsatkichning old tomoni.


Ko'rsatkichning orqa tomoni.

Lehimlanganmi? Ulanishdan oldin, biz yana bir bor lehimli ulanish va sxemaning mustahkamligini tekshiramiz. Agar hamma narsa to'g'ri bo'lsa, biz sabr qilamiz! Biz ulanmaymiz! Siz allaqachon ulangan deb taxmin qilamiz, lekin orqa yorug'likdan boshqa hech narsa ko'rinmaydi. :-).
Indikatorda har qanday ma'lumotni ko'rsatish uchun indikatorga xizmat ko'rsatadigan dastur kerak, shuning uchun..

Ikkinchi qism - dasturiy ta'minot.

Birinchidan, LCD ko'rsatkichlari bilan o'zaro ta'sir qiluvchi dasturlarga LPT porti bilan bevosita ishlashga ruxsat berishingiz kerak. Buni amalga oshirish uchun portlarga to'g'ridan-to'g'ri kirish uchun drayverni o'rnatishingiz kerak bo'ladi (Port I/O Driver), bu erda joylashgan - port95nt. Keyin kompyuteringizni qayta ishga tushirishingiz kerak bo'ladi.
Shundan so'ng siz LCD indikatorimizga xizmat ko'rsatadigan dasturni o'rnatishingiz mumkin. Ularning ko'pi bor edi, lekin eng qat'iylari saqlanib qoldi. Ulardan biri skriptga yo'naltirilgan (ko'p sonli ko'rsatkichlarni qo'llab-quvvatlaydi), ikkinchisi sichqonchani bosishga asoslangan (qaysidir ma'noda OOP muhitlarining interfeyslarini eslatadi). Birinchisining nomi LCDHype, ikkinchisi esa LCDStudio (tizimda .NET komponentlarini talab qiladi). Har kim o'ziga eng yoqqanini tanlaydi.
Quyida LCDStudio dasturi bilan stendda indikatorni ishga tushirish natijalari keltirilgan. Ekranlar mualliflar tomonidan ushbu dasturni o'zlashtirish jarayonida yaratilgan:



Soat va sana.


Ba'zi tizim ma'lumotlari.


Logotip.


Boshqa logotip.

Xulosa: Ko'rib turganimizdek, Fordata LCD ko'rsatkichlari kompyuterning LPT portiga mukammal tarzda ulanadi. Qulay dasturiy ta'minotni tanlab, siz ushbu ko'rsatkich bo'yicha har qanday narsani chizishingiz va hatto ba'zi foydali ma'lumotlarni ko'rsatishingiz mumkin.

Kuzatishlar: Ta'kidlanishicha, ularning LCDHype-dagi tasviri mahalliy MELT kompaniyasining ba'zi ko'rsatkichlari kabi 1-ish vaqtidan boshlab "buzilmaydi", biz mahalliy dilerlarda topa olmadik. Bu fakt hech qanday tarzda ko'rsatkichlarning kamchiligi hisoblanmaydi va shuni ta'kidlash kerakki, MELT veb-saytidagi hujjatlarni qo'llab-quvvatlash va ma'lumot mazmuni yozish paytida juda yuqori darajada.

Agar to'satdan uskuna bilan manipulyatsiya natijasida siz haydovchidan shunday xabar olasiz: dlportio.sys qurilma drayveri yuklanmagan. Port I/U hech qanday ta'sir qilmaydi. Vahima kerak emas! Ushbu muammoni quyidagicha hal qilish mumkin: regedit-ni ishga tushiring. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ ro'yxatga olish kitobi bo'limiga o'ting. Dlportio jildida Start parametrining qiymatini 1 ga o'zgartiring. Kompyuterni qayta ishga tushiring.

LCD ko'rsatkichlarini ulashda muvaffaqiyatlar tilaymiz!