Menu English Ukrainian Rosyjski Strona główna

Bezpłatna biblioteka techniczna dla hobbystów i profesjonalistów Bezpłatna biblioteka techniczna


ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ
Darmowa biblioteka / Schematy urządzeń radioelektronicznych i elektrycznych

Kolejne życie portu LPT. Część 2. Encyklopedia elektroniki radiowej i elektrotechniki

Bezpłatna biblioteka techniczna

Encyklopedia radioelektroniki i elektrotechniki / Komputery

Komentarze do artykułu Komentarze do artykułu

Aby rejestrować sygnały na porcie LPT, zalecam złożenie obwodu (ryc. 1) składającego się z ośmiu przełączników i ośmiu rezystorów o rezystancji 270 Ohm - 1 kOhm. Przy tej pozycji przełączników (przycisków) SW1-SW8 na wszystkich górnych stykach występuje logiczna „1”, gdy któryś z nich jest zamknięty, na odpowiednim styku pojawi się logiczne „0”. Piny można podłączyć bezpośrednio do magistrali D0-D7 (piny 2-9, adres &H378) lub do ERROR, SELECT, PAPER END, ACK i -BUSY (piny 15, 13, 12, 10 i 11, adres &H379) .

Kolejne życie portu LPT
Rys.. 1

Aby wyświetlić dane pochodzące z portu LPT, polecam poniższy schemat.

Kolejne życie portu LPT
Rys.. 2

Rezystory R1-R8 o wartości nominalnej 270 - 330 omów, dowolne diody LED, powiedzmy AL307B. Taki obwód nie wymaga zasilania, wszystko i tak będzie świecić. Przyniosłem sobie wszystkie sygnały, wszystko jest natychmiast widoczne. Ogólnie zdecydowanie polecam pobranie programu LPT 3D HARD Analyzer ze strony valery-us4leh.narod.ru/dlpt.html. Napisane przez Valery'ego Kovtuna. Z pomocą tego programu… ogólnie sam się przekonasz.

Złóżmy prostokątny generator impulsów na chipie K561LA7. Generator prądu + 5V. Faktem jest, że wygodniej jest montować wszystkie urządzenia, na przykład w serii 155, 555, aby sygnały miały poziom TTL. Logiczne „zero” 0-0,8 V i log „jeden” 2,4-4,2 V. Wygoda serii 561 polega na uniwersalności zasilania - równie dobrze działa od +3V do +12V. Dlatego wybór mikroukładów pozostaje do gustu, jedynym pytaniem jest uzyskanie prostokątnych impulsów o amplitudzie nie większej niż + 5 V. Schemat prostego generatora impulsów pokazano na rysunku 3.

Kolejne życie portu LPT
Rys.. 3

Sam generator jest montowany na elementach D1.1-D1.3, a ja po prostu użyłem elementu D1.4, aby uzyskać bardziej „piękne” fronty impulsów wyjściowych. R1, R2, C1 - elementy zadawania częstotliwości. Przy tych parametrach elementów częstotliwość generowania wynosi około 5-7 Hz. Dla jasności działanie generatora można przedstawić w postaci następującego wykresu:

Kolejne życie portu LPT
Rys.. 4

Wyjście falownika D1.4 jest podłączone do styku 2 złącza LPT (magistrala D0). Przed użyciem generatora należy wprowadzić magistralę D0-D7 w tryb odbioru danych. W tym celu wysyłamy 37 do &H43A.
Kod jest następny. Dla tych, którzy używają
input32.dll dlportio.dll DOS
Wyjście i H37A, 43 DlPortWritePortUchar &H37A, 43 WY i H37A, 43

Następnie rozpoczynamy odpytywanie portu &H378.
Kod jest następny. Dla tych, którzy używają
input32.dll dlportio.dll DOS
DimA jako IntegerA = Inp(&H378) Dim A jako IntegerDlPortReadPortUchar(&H378) OKREŚLONE A-ZA=INP(&H378)

Zmienna A przyjmie wartość 254 lub 255. Dlaczego?
D0 D1 D2 D3 D4 D5 D6 D7  
20 21 22 23 24 25 26 27  
1 2 4 8 16 32 64 128  
1 1 1 1 1 1 1 1 255
0 1 1 1 1 1 1 1 254

Faktem jest, że po przełączeniu magistrali D0-D7 w tryb odbioru danych są one ustawione na poziom jednostki logicznej (żółty rząd).

Gdy na szynie D0 pojawi się poziom D0 log "0" (niebieska linia) - pierwszy bit przyjmuje wartość zero, co oznacza 2 + XNUMX1+22+23+24+25+26+27 = 254.

Tym samym możemy śledzić zmianę sygnału na szynie D0, ale jeśli policzymy ilość zmian w ciągu 1 sekundy, otrzymamy… rację – cyfrowy licznik częstotliwości. Porozumiewawczy liczba przychodzące impulsy na sekundę można powiedzieć o częstotliwość w hercach.

A więc program licznika częstotliwości. Formularz powinien mieć 3 przyciski i Etykietę. Przycisk 1 uruchamia miernik częstotliwości, Przycisk 2 stop, Przycisk 3 - wyjście, Etykieta - wskazuje częstotliwość.

*******************************************

Dla osób korzystających z pliku inpout32.dll

Opcja Jawna

„deklaracja biblioteczna do pracy z adresami portów”

Prywatna deklaracja funkcji Inp Lib „inpout32.dll” Alias ​​„Inp32” (ByVal PortAddress As Integer) As Integer

Prywatna deklaracja Sub Out Lib „inpout32.dll” Alias ​​„Out32” (ByVal PortAddress jako liczba całkowita, wartość ByVal jako liczba całkowita)

'biblioteczna deklaracja do liczenia milisekund

Prywatna deklaracja funkcji GetTickCount Lib „kernel32” () Tak długo

Dim FTV As Long 'wartość początkowa czasu systemowego

Dim STV As Long 'wartość końcowa czasu systemowego

Dim FV As Integer 'FV jest stanem początkowym portu

Dim SV As Integer „Stan portu porównywalny z SV”

Dim cntr 'licznik impulsów

Dim J As Integer 'J=1 zliczanie dozwolone, J=0 zliczanie niedozwolone

Private Sub Command1_Click ()

Out &H37A, 43 'przestawiamy opony D0-D7 w tryb odczytu

FTV = GetTickCount 'zapamiętany czas systemowy w milisekundach

J = 1 'licz - zezwól

FV = Inp(&H378) 'odczyt stanu portu

SV = FV 'SV oznacza stan portu

cntr = 0 'licznik do zera

Rób póki J <> 0

DoEvents

STV = GetTickCount 'zapamiętaj aktualny czas systemowy

Jeśli STV > FTV + 1000 Następnie częstotliwość Pokaż „jeśli minęła sekunda, wyświetl wynik

FV = Inp(&H378) 'ciągłe odpytywanie adresu &H378

If FV <> SV Then „jeżeli zmienił się stan portu

SV = FV „SV równa się stanowi portu

cntr = cntr + 0.5 ' licznik + 0.5

End If

Jeśli J = 0, to Exit Do 'jeśli użytkownik nacisnął Stop'

Pętla

End Sub

Private Sub Command2_Click ()

„zatrzymaj pętlę”

'jeśli użytkownik nacisnął Stop

J=0

End Sub

Private Sub Command3_Click ()

J = 0 „liczba - stop”

Out &H37A, 0 'przywróć stan magistrali D0-D7

Wyładuj mnie „wyjdź z programu”

End Sub

'Procedura wyświetlania częstotliwości

Public SubFrequencyShow()

Label1.Caption = Int(cntr) & "Hz" 'wyświetl wynik

cntr = 0 'licznik do zera

Pauza (0.2) „opóźnienie. Potrzebne do pomiaru niskich częstotliwości

FTV = GetTickCount 'zapamiętany czas systemowy w milisekundach

End Sub

„Opóźnienie rutyny. Format połączenia: Pauza (liczba sekund)

Publiczna pauza podrzędna (wartość jako pojedyncza)

Przyciemnij początek, koniec

Start = Minutnik

Zrób, gdy timer < Start + Wartość

DoEvents

Pętla

Zakończ=Zegar

End Sub

*******************************************

Dla osób korzystających z dlportio.dll

Opcja Jawna

„deklaracja biblioteczna do pracy z adresami portów”

Prywatna deklaracja funkcji DlPortReadPortUchar Lib „dlportio.dll” (ByVal Port As Long) As Byte

Deklaracja prywatna Sub DlPortWritePortUchar Lib „dlportio.dll” (ByVal Port tak długo, ByVal wartość jako bajt)

'biblioteczna deklaracja do liczenia milisekund

Prywatna deklaracja funkcji GetTickCount Lib „kernel32” () Tak długo

Dim FTV As Long 'wartość początkowa czasu systemowego

Dim STV As Long 'wartość końcowa czasu systemowego

Dim FV As Integer 'FV jest stanem początkowym portu

Dim SV As Integer „Stan portu porównywalny z SV”

Dim cntr 'licznik impulsów

Dim J As Integer 'J=1 zliczanie dozwolone, J=0 zliczanie niedozwolone

Private Sub Command1_Click ()

DlPortWritePortUchar &H37A, 43 „ustaw magistrale D0-D7 w tryb odczytu”

FTV = GetTickCount 'zapamiętany czas systemowy w milisekundach

J = 1 'liczba - zezwól

FV = DlPortReadPortUchar (&H378) 'odczyt stanu portu

SV = FV „SV równa się stanowi portu

cntr = 0 'licznik do zera

Rób póki J <> 0

DoEvents

STV = GetTickCount 'zapamiętaj aktualny czas systemowy

Jeśli STV > FTV + 1000 Następnie częstotliwość Pokaż „jeśli minęła sekunda, wyświetl wynik

FV = DlPortReadPortUchar (&H378) 'ciągłe odpytywanie adresu &H378

If FV <> SV Then „jeżeli zmienił się stan portu

SV = FV „SV równa się stanowi portu

cntr = cntr + 0.5 ' licznik + 0.5

End If

Jeśli J = 0, to Exit Do 'jeśli użytkownik nacisnął Stop'

Pętla

End Sub

Private Sub Command2_Click ()

„zatrzymaj pętlę”

'jeśli użytkownik nacisnął Stop

J=0

End Sub

Private Sub Command3_Click ()

J = 0 „liczba - stop”

DlPortWritePortUchar &H37A, 0 'przywróć stan magistrali D0-D7

Wyładuj mnie „wyjdź z programu”

End Sub

'Procedura wyświetlania częstotliwości

Public SubFrequencyShow()

Label6.Caption = Int(cntr) & "Hz" 'wyświetl wynik

cntr = 0 'licznik do zera

Pauza (0.2) „opóźnienie. Potrzebne do pomiaru niskich częstotliwości

FTV = GetTickCount 'zapamiętany czas systemowy w milisekundach

End Sub

„Opóźnienie rutyny. Format połączenia: Pauza (liczba sekund)

Publiczna pauza podrzędna (wartość jako pojedyncza)

Przyciemnij początek, koniec

Start = Minutnik

Zrób, gdy timer < Start + Wartość

DoEvents

Pętla

Zakończ=Zegar

End Sub

*******************************************

I wszystkich? Ty pytasz. Tak, to wszystko. To cały program, który z jakiegoś powodu działa.

Ø Jak widać, kod jest prawie taki sam dla różnych bibliotek, dlatego w poniższych przykładach rozważymy kod tylko z biblioteką porcja.dll

Jeśli dokładnie przeanalizujesz kod programu licznika częstotliwości, zauważysz, że do licznika dodaje się 0.5,

ctr = ctr + 0.5,

a nie 1. Faktem jest, że ten kod programu uwzględnia zmianę stanu portu zarówno z 1 na 0, jak i odwrotnie z 0 na 1, dlatego aby policzyć częstotliwość, należy albo dodać 0.5, a następnie wyprowadzić

Label1.Caption = Int(cntr) & "hz"

Lub dodaj 1

ctr = ctr + 1,

A potem wyjście

Label1.Caption = Int(cntr/2) & "hz"

Oto matematyka.

Przy okazji, czy próbowałeś umieścić jakiś czujnik na obracającym się wale jakiegoś silnika. Prawdopodobnie za pomocą tego programu otrzymasz wspaniały obrotomierz J

Cóż, przejdźmy dalej.

Bierzemy ten sam generator impulsów i zamiast rezystora R2 lub R1 lutujemy termistor (autor artykułu poszedł do sklepu samochodowego i kupił czujnik temperatury z VAZ-30 za 2101 rubli). Ten czujnik temperatury zmienia swoją rezystancję w zależności od temperatury (3200 omów przy +140C i 143 Ohm w temperaturze +1000C.) Ponieważ zmieniamy rezystancję, zmienia się również częstotliwość generatora, co oznacza, że ​​\uXNUMXb\uXNUMXbdostajemy konwerter temperatura-częstotliwość, tj. termometr cyfrowy. Chcę zwrócić uwagę na fakt, że zmiana rezystancji w zależności od temperatury nie przebiega liniowo, co widać na poniższym wykresie,

Kolejne życie portu LPT
Rys.. 5

dlatego „wytłumaczenie” komputerowi, że 100 impulsów to 20 stopni, a 110 impulsów to 21 stopni, nie będzie łatwe, ale mimo wszystko możliwe. Pytanie dotyczy tylko rozmiaru kodu i algorytmu.

Jeśli zamiast rezystora włożymy czujnik paliwa ze zbiornika gazu, to otrzymamy wskaźnik poziomu cieczy. Bardziej wygodne jest zbudowanie takiego wskaźnika w następujący sposób:

1. Mierzymy częstotliwość tętna przy pustym zbiorniku

2. Dodajemy trochę objętości (w zależności od tego jaką gradację - dokładność chcemy uzyskać) i ponownie mierzymy częstotliwość

3. I tak dalej, aż do samej góry pojemnika.

I możesz zbudować wskaźnik poziomu cieczy zgodnie z inną zasadą, jeśli złożysz konstrukcję na poniższym rysunku.

Kolejne życie portu LPT
Rys.. 6

Jeśli zmienia się poziom cieczy, zmienia się również położenie pływaka z magnesem, więc odpowiednie kontaktrony zamykają się (otwierają). Najlepiej użyć cienkościennej plastikowej rurki. Schemat tego urządzenia jest następujący:

Kolejne życie portu LPT
Rys.. 7

Możesz przetwarzać informacje z takiego urządzenia zgodnie z następującym algorytmem.

  1. Ustaw autobusy pod adresem &H378 w trybie odczytu.
  2. Pusty zbiornik - 255
  3. Jedna dywizja od dołu - 254
  4. Dwie dywizje od dołu - 252
  5. Trzy dywizje - 248
  6. Cztery dywizje - 240
  7. Pięć dywizji - 224 itd.

Ø Niektórzy mogą mi sprzeciwić się, że nie jest konieczne wprowadzanie magistrali D0-D7 w tryb odczytu, a to zadziała. Na to mogę odpowiedzieć tylko co następuje - kto chce niech nie tłumaczy. Nie będę poruszał tego tematu. Jeżeli port &H378 nie jest w trybie odbioru danych, a używany pin (w naszym przypadku 2 - D0 ) ma logiczną „1”, to generator nie działa. Prąd wyjściowy magistrali D0-D7 w trybie przesyłania danych jest większy niż prąd wyjściowy układu CMOS (561LA7), więc nie będzie generacji. Oczywiście, jeśli pincetą zewrzesz styk z masą, to żaden prąd nie wystarczy. Ale wydaje mi się, że nie jest trudno wpisać dodatkową linijkę kodu i zrobić tak, jak radzą twórcy sprzętu komputerowego.

Rozważmy teraz proces odwrotny, tj. proces przesyłania danych z komputera do urządzenia. Weźmy na przykład ten sam generator impulsów, tylko zmień trochę jego obwód.

Kolejne życie portu LPT
Rys.. 8

Po podłączeniu zasilania do generatora nagle stwierdzamy, że generator nie działa. I zadziała tylko wtedy, gdy na wejściu 2 elementu D1.1 pojawi się poziom logiczny „1”.

DlPortWritePortUchar &H378, 1

I wszystko od razu zadziałało. Oto generator sterowany komputerowo. Cóż, generator jest mały, chociaż musimy oddać hołd temu urządzeniu - w tak wielu obwodach elektronicznych podstawą jest generator impulsów. Może podłączymy coś poważniejszego do komputera.

Oto taki schemat

Kolejne życie portu LPT
Rys.. 9

Podłączamy wejście tego urządzenia do dowolnego wyjścia, które nam się podoba, na przykład do D3, wejście GND podłączamy do wspólnego przewodu złącza, ale + 12 V trzeba będzie pobrać z osobnego źródła zasilania. Przekaźnik można zabrać samochodem. Ogólnie wszystkie parametry elementów mogą być zupełnie inne (wziąłem to co było pod ręką)

DlPortWritePortUchar &H378, 8

lub

DlPortWritePortUchar &H378, 9

lub

DlPortWritePortUchar &H378, 10

Najważniejsze, że na magistrali D3 powinien znajdować się dziennik „1”. Przekaźnik będzie działał, ale to, co do niego wybierzesz, to twoja sprawa. Ogólnie rzecz biorąc, podczas przełączania urządzeń wysokonapięciowych konieczne jest (na wszelki wypadek) zabezpieczenie się przed zwarciem, ogólnie przed awarią do obudowy. Aby w razie wypadku Twój wspaniały port LPT się nie przepalił. Dlatego do takich połączeń wygodnie jest zastosować izolację galwaniczną portu i urządzenia np. poprzez transoptor.

Kolejne życie portu LPT
Rys.. 10

Jeśli wszystko w twoim urządzeniu „wypali się”, to przez światło - niestety prąd nie przepłynie, jeszcze czegoś takiego nie wymyślili.

Tu kończy się druga część. Czy będzie trzecia część - myślę, że będzie, ale oto o czym będzie...

Autor: Aleksiej Klusznikow, Iwanowo; Publikacja: cxem.net

Zobacz inne artykuły Sekcja Komputery.

Czytaj i pisz przydatne komentarze do tego artykułu.

<< Wstecz

Najnowsze wiadomości o nauce i technologii, nowa elektronika:

Maszyna do przerzedzania kwiatów w ogrodach 02.05.2024

We współczesnym rolnictwie postęp technologiczny ma na celu zwiększenie efektywności procesów pielęgnacji roślin. We Włoszech zaprezentowano innowacyjną maszynę do przerzedzania kwiatów Florix, zaprojektowaną z myślą o optymalizacji etapu zbioru. Narzędzie to zostało wyposażone w ruchome ramiona, co pozwala na łatwe dostosowanie go do potrzeb ogrodu. Operator może regulować prędkość cienkich drutów, sterując nimi z kabiny ciągnika za pomocą joysticka. Takie podejście znacznie zwiększa efektywność procesu przerzedzania kwiatów, dając możliwość indywidualnego dostosowania do specyficznych warunków ogrodu, a także odmiany i rodzaju uprawianych w nim owoców. Po dwóch latach testowania maszyny Florix na różnych rodzajach owoców wyniki były bardzo zachęcające. Rolnicy, tacy jak Filiberto Montanari, który używa maszyny Florix od kilku lat, zgłosili znaczną redukcję czasu i pracy potrzebnej do przerzedzania kwiatów. ... >>

Zaawansowany mikroskop na podczerwień 02.05.2024

Mikroskopy odgrywają ważną rolę w badaniach naukowych, umożliwiając naukowcom zagłębianie się w struktury i procesy niewidoczne dla oka. Jednak różne metody mikroskopii mają swoje ograniczenia, a wśród nich było ograniczenie rozdzielczości przy korzystaniu z zakresu podczerwieni. Jednak najnowsze osiągnięcia japońskich badaczy z Uniwersytetu Tokijskiego otwierają nowe perspektywy badania mikroświata. Naukowcy z Uniwersytetu Tokijskiego zaprezentowali nowy mikroskop, który zrewolucjonizuje możliwości mikroskopii w podczerwieni. Ten zaawansowany instrument pozwala zobaczyć wewnętrzne struktury żywych bakterii z niesamowitą wyrazistością w skali nanometrowej. Zazwyczaj ograniczenia mikroskopów średniej podczerwieni wynikają z niskiej rozdzielczości, ale najnowsze odkrycia japońskich badaczy przezwyciężają te ograniczenia. Zdaniem naukowców opracowany mikroskop umożliwia tworzenie obrazów o rozdzielczości do 120 nanometrów, czyli 30 razy większej niż rozdzielczość tradycyjnych mikroskopów. ... >>

Pułapka powietrzna na owady 01.05.2024

Rolnictwo jest jednym z kluczowych sektorów gospodarki, a zwalczanie szkodników stanowi integralną część tego procesu. Zespół naukowców z Indyjskiej Rady Badań Rolniczych i Centralnego Instytutu Badań nad Ziemniakami (ICAR-CPRI) w Shimla wymyślił innowacyjne rozwiązanie tego problemu – napędzaną wiatrem pułapkę powietrzną na owady. Urządzenie to eliminuje niedociągnięcia tradycyjnych metod zwalczania szkodników, dostarczając dane dotyczące populacji owadów w czasie rzeczywistym. Pułapka zasilana jest w całości energią wiatru, co czyni ją rozwiązaniem przyjaznym dla środowiska i niewymagającym zasilania. Jego unikalna konstrukcja umożliwia monitorowanie zarówno szkodliwych, jak i pożytecznych owadów, zapewniając pełny przegląd populacji na każdym obszarze rolniczym. „Oceniając docelowe szkodniki we właściwym czasie, możemy podjąć niezbędne środki w celu zwalczania zarówno szkodników, jak i chorób” – mówi Kapil ... >>

Przypadkowe wiadomości z Archiwum

Tablet Eewrite Janus z ekranami E Ink i LCD 09.05.2019

Eewrite zapowiedział tablet Janus. Tablet został wyposażony w 9,7-calowy kolorowy wyświetlacz LCD o rozdzielczości 2408 x 1536 pikseli oraz wyświetlacz E Ink Carta o tej samej przekątnej i rozdzielczości 1200 x 825 pikseli. Deklarowana obsługa wejścia cyfrowego pióra Wacom (4096 poziomów czułości na nacisk).

Janus bazuje na sześciordzeniowym procesorze MediaTek MT8176 z 2 GB pamięci RAM, 32 GB pamięci flash i slotem na karty pamięci microSD do 128 GB.

Specyfikacje urządzenia obejmują Wi-Fi, Bluetooth, odbiornik GPS, aparat 8 MP, baterię 5000 mAh, port USB typu C, złącze HDMI i głośniki stereo. Grubość korpusu tabletu wynosi 9,8 mm. Zgłaszane jest również opcjonalne wsparcie dla 4G LTE.

Oprócz przycisków zasilania i głośności znajdujących się z jednej strony obudowy tabletu, z drugiej strony znajduje się specjalny przycisk do przełączania między wyświetlaczami kolorowymi i czarno-białymi.

Wkrótce nowość będzie dostępna w przedsprzedaży w cenie 399 dolarów.

Inne ciekawe wiadomości:

▪ Robaki przeciw starzeniu

▪ Poprawa jakości marsjańskiej gleby

▪ Telewizja uniemożliwia dzieciom naukę mówienia

▪ Wyraz twarzy kota

▪ Nanorurki odpychają wodę

Wiadomości o nauce i technologii, nowa elektronika

 

Ciekawe materiały z bezpłatnej biblioteki technicznej:

▪ część opisów stanowisk na stronie internetowej. Wybór artykułu

▪ artykuł Śmiech, naprawdę, nie jest grzeszny nad wszystkim, co wydaje się zabawne. Popularne wyrażenie

▪ Co wydarzyło się w USA w XIX wieku? Szczegółowa odpowiedź

▪ artykuł Na dyżurze centrali do odbioru sygnałów. Standardowe instrukcje dotyczące ochrony pracy

▪ artykuł Wskazówki technologiczne. Encyklopedia elektroniki radiowej i elektrotechniki

▪ artykuł Stabilizator napięcia do 35 woltów. Encyklopedia elektroniki radiowej i elektrotechniki

Zostaw swój komentarz do tego artykułu:

Imię i nazwisko:


Email opcjonalny):


komentarz:





Wszystkie języki tej strony

Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn

www.diagram.com.ua

www.diagram.com.ua
2000-2024