1 / 47

Urządzenia operatorskie

Urządzenia operatorskie. Urządzenia operatorskie 2 /46. Wejścia informacji Wyjścia informacji. Źródła informacji: klawiatury stykowe (klasyczne, słabej jakości); kontaktronowe (lepsze, wady łączenia);

thiery
Download Presentation

Urządzenia operatorskie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Urządzenia operatorskie

  2. Urządzenia operatorskie 2/46 Wejścia informacjiWyjścia informacji

  3. Źródła informacji: • klawiatury • stykowe (klasyczne, słabej jakości); • kontaktronowe (lepsze, wady łączenia); • hallotronowe (dobre ale drogie); • membranowe (popularne, estetyczne, praktyczne); • zadajniki (stabilne) • kołowe (kodowane lub nie); • dip-switche; • przełączniki, przyciski. Urządzenia operatorskie - wejścia 3/46

  4. Urządzenia operatorskie - wejścia 4/46 Sposoby obsługi klawiatur i zadajników: a) programowy bezpośredni odczyt/przeglądanie; b) programowe przeglądanie matrycy klawiszy/zadajników; c) klawiatura autonomiczna z możliwością wykorzystania przerwań.

  5. Ad a) bezpośredni odczyt/przeglądanie Urządzenia operatorskie - wejścia 5/46 Zaleta - duża prostota obsługi. Wada - przy większej liczbie styków zużywa się zbyt dużo buforów. Rozwiązanie stosowane tylko przy b. małej liczbie odczytywanych klawiszy.

  6. START oczekiwanie na klawisz AIN[portwe] T A=11111111b ? N likwidacja skutków drgań styków opóźnienie kms AIN[portwe] T A=11111111b ? N 1 Przykładowy algorytm obsługi klawiatury: Urządzenia operatorskie - wejścia 6/46

  7. 1 B:=0 RR A T CY = 0 ? N kod_klaw:=B B:=B+1 opóźnienie kms dekodowanie klawisza AIN[portwe] N A=11111111b ? oczekiwanie na zwolnienie klawisza T KONIEC Urządzenia operatorskie - wejścia 7/46

  8. Uk t Uwe t Uwe t Drgania styków można także eliminować odpowiednim układem sprzętowym: Urządzenia operatorskie - wejścia 8/46

  9. Realizacja przykładowego algorytmu w asemblerze MCS51: et1: mov a,P1 ;pierwszy odczyt portu klawiszy cjne a,#255,et2 ;czy sa zwarte styki sjmp et1 ;skok jesli nie - czekaj et2: acall delay10ms ;opoznienie mov a,P1 ;ponowny odczyt cjne a,#255,et3 ;czy sa nadal zwarte styki sjmp et1 ;skok jesli nie - czekaj et3: mov r7,#0 ;rozpoczecie dekodowania dekod: rrc a ;przesuw bitow do CY jnc kod ;skok gdy CY=0 inc r7 sjmp dekod ;sprawdz nastepny bit kod: mov kod_klaw,r7 ;zapisz kod klawisza czekaj: acall delay10ms ;opoznienie in a,P1 ;kontrolny odczyt portu klawiszy cjne a,#255,czekaj ;czy sa jeszcze zwarte styki ;skok jesli tak koniec: Urządzenia operatorskie - wejścia 9/46

  10. Możliwe modyfikacje tego algorytmu - programu: 1. po ponownym odczycie stan A porównuje się nie z 255 (11111111b), ale z wynikiem pierwszego odczytu, zapamiętanym w pomocniczym rejestrze B: et1: mov a,P1 ;pierwszy odczyt portu klawiszy cjne a,#255,et2 ;czy sa zwarte styki sjmp et1 ;skok jesli nie - czekaj mov b,a ;przechowanie kopii w B et2: acall delay10ms ;opoznienie mov a,P1 ;ponowny odczyt cjne a,b,et3 ;czy sa nadal zwarte styki sjmp et1 ;skok jesli nie - czekaj et3: ... Urządzenia operatorskie - wejścia 10/46

  11. Urządzenia operatorskie - wejścia 11/46 2.a. wyszukanie wszystkich wciśniętych klawiszy - tworzy się listę kodów klawiszy - wymagany jest 9-bajtowy bufor klawiszy, przechowujący listy aktualnie zwartych styków, lista kończy się bajtem 0FFh: mov r2,#8 ;R2=ilosc bitow do przejrzenia mov r7,#0 ;R7=kod/numer bitu mov r1,#key_buf ;R1->poczatek listy aktywnych kl. dekod: rrc a ;przesuw bitow do CY jc niekod ;skok gdy CY=1 mov @r1,r7 ;dopisanie kodu z R7 do listy inc r1 niekod: inc r7 djnz r2,dekod ;sprawdz nastepny bit mov @r1,#255 ;wpisanie znacznika konca listy

  12. Urządzenia operatorskie - wejścia 12/46 2.b. wyszukanie wszystkich wciśniętych klawiszy - tworzy się listę kodów klawiszy - wymagany jest 9-bajtowy bufor klawiszy, przechowujący listy aktualnie zwartych styków, lista kończy się bajtem 0FFh - wersja wykorzystująca o 1 rejestr roboczy mniej: mov r2,#8 ;R2=ilosc bitow do przejrzenia ;a takze kod/numer bitu mov r1,#key_buf ;R1->poczatek listy aktywnych kl. dekod: rlc a ;przesuw bitow do CY jc niekod ;skok gdy CY=1 mov @r1,r2 ;dopisanie kodu z R2 do listy dec @r1 ;korekta wpisu inc r1 niekod: djnz r2,dekod ;sprawdz nastepny bit mov @r1,#255 ;wpisanie znacznika konca listy

  13. Wykorzystanie przerwań zegarowych do odczytu i eliminacji drgań styków klawiatury Urządzenia operatorskie - wejścia 13/46 • Założenia do przykładu: • do 8 klawiszy wczytywanych poprzez ten sam port portwe, • przerwania zegarowe o okresie rzędu kilku milisekund. • Wymagane jest użycie przynajmniej 2 zmiennych: • klaw - podającej aktualny stabilny stan klawiatury; • tmpklaw - rejestrującej zmiany stanu klawiszy, odczytanego z portwe

  14. START inne działania procedury obsługi przerwania zegarowego AIN[portwe] T N A=tmpklaw ? klawA tmpklawA działania opcjonalne N A=11111111b ? ewentualne dekodowanie stanu klawiszy T inne działania procedury obsługi przerwania zegarowego RETURN wewnątrz P.O.P. należy zrealizować następujące działania: Urządzenia operatorskie - wejścia 14/46

  15. Ad b) przeglądanie matrycy klawiszy/zadajników przykład matrycy klawiszy 8x8 (64 klawisze) Urządzenia operatorskie - wejścia 15/46

  16. Prosta matryca klawiatury ma następującą wadę: Urządzenia operatorskie - wejścia 16/46 eliminacja błędnych odczytów:

  17. START B:=01111111b C:=0 BOUT[portwy] AIN[portwe] szukanie wciśniętego klawisza A=11111111b ? T N przejście do następnej kolumny/wiersza matrycy opóźnienie kms likwidacja skutków drgań styków AIN[portwe] RR B C:=C+8 T A=11111111b ? N T N C = 64 ? A B Przykładowy algorytm obsługi przez program główny (bez przerwań) matrycy 8x8 niestabilnych klawiszy (przycisków) : Urządzenia operatorskie - wejścia 17/46

  18. A B RR A dekodowanie klawisza CY = 0 ? N T C:=C+1 kod_klawC opóźnienie kms oczekiwanie na zwolnienie klawisza AIN[portwe] N A=11111111b ? T B:=11111111b wyłączenie pobudzeń matrycy BOUT[portwy] KONIEC Urządzenia operatorskie - wejścia 18/46

  19. Korzystniejsze jest użycie przerwań zegarowych ponieważ: • nie ma „jałowego” oczekiwania w pętli na klawisz lub jego zwolnienie; • okres przerwań zegarowych sprzyja stabilizacji sygnałów na rozległych połączeniach matrycy klawiszy; • łatwiej jest eliminować drgania styków na drodze programowej; • użycie przerwań zegarowych wymaga zastosowania bufora stanu klawiatury w pamięci RAM, co ułatwia późniejszą interpretację jej stanu. Urządzenia operatorskie - wejścia 19/46

  20. START operacje startowe procedury obsługi przerwania zegarowego odczyt odpowiedzi matrycy na pobudzenie wysłane wcześniej AIN[portwekl] porównanie nowego odczytu z buforem roboczym,aktualizacja wpisu w buforze roboczym albo stanu A=M[brk+lk]? N T M[brk+lk]A M[bsk+lk]A lk:=(lk+1)mod nk modyfikacja licznikakolumn matrycy/indeksu buforów A Prosty algorytm obsługi matrycy klawiszy w przerwaniach zegarowych z podwójnym buforowaniem: Urządzenia operatorskie - wejścia 20/46

  21. A lk=0 ? T dekodowanie stanu klawiatury(wykonywane co nk przerwań) N inne działania procedury obsługi przerwania zegarowego wysłanie nowego pobudzenia do matrycy, zał: sprzętowy dekoder NB 1zN lkOUT[portwykl] operacje końcowe procedury obsługi przerwania zegarowego RETURN Urządzenia operatorskie - wejścia 21/46

  22. Ad c) Klawiatury autonomiczne Charakteryzują się one: - sprzętowym układem przeglądania klawiszy (tzw. sekwenter); - możliwością włączenia w system przerwań mikroprocesora; - różnymi funkcjami dodatkowymi zrealizowanymi sprzętowo (autorepeat, eliminacja drgań styków, programowanie funkcji); - odciążają oprogramowanie systemowe; - komunikacja z systemem mikroprocesorowym łączem równoległym lub szeregowym. Urządzenia operatorskie - wejścia 22/46

  23. Przykładowy schemat klawiatury 64 klawiszy zrealizowany w TTL: Urządzenia operatorskie - wejścia 23/46

  24. Klawiatura PC na mikrokontrolerze: Urządzenia operatorskie - wejścia 24/46

  25. Rodzaje informacji wyjściowej: a) binarna (stany on/off różnych składników systemu, alarmy itp.); b) znakowa (cyfrowa lub tekstowa, np. o zmierzonych wielkościach analogowych). Urządzenia operatorskie - wyjścia 25/46

  26. Urządzenia operatorskie - wyjścia 26/46 Ad a) Informacja binarna Stosuje się różnego rodzaju sygnalizację: - diody świecące LED; - miniaturowe żarówki / LEDy mocy; - sygnały akustyczne;

  27. Urządzenia operatorskie - wyjścia 27/46 Sterowanie diodami LED:

  28. Sterowanie miniaturowymi żarówkami: Należy korzystać z tranzystorów ze względu na prąd uderzeniowy przy włączaniu "zimnej" żarówki (ok. 10 razy większy od nominalnego) Urządzenia operatorskie - wyjścia 28/46

  29. Sygnalizacja dźwiękowa: • "niewielkiej mocy" - elementy piezoceramiczne sterowane bitami rejestru portu wyjściowego (wyjściowe przebiegi okresowe albo wbudowane generatory); • "dużej mocy" - różnego rodzaju syrenki włączane przekaźnikami lub kluczami półprzewodnikowymi • „werbalna” - układy pamiętające i odtwarzające sekwencje dźwiękowe. Urządzenia operatorskie - wyjścia 29/46

  30. Urządzenia operatorskie - wyjścia 30/46 Ad b) Informacja znakowa Stosowane rozwiązania: - wyświetlacze segmentowe LED: - sterowane statycznie - sterowane dynamicznie; - wyświetlacze mozaikowe LED; - wyświetlacze LCD segmentowe; - wyświetlacze LCD mozaikowe.

  31. Wyświetlacze segmentowe LED - zespoły diód LED o wspólnej jednej elektrodzie: WA albo WK. Urządzenia operatorskie - wyjścia 31/46 Zalety wyświetlaczy LED:Wady wyświetlaczy LED: - długa żywotność;- duży pobór mocy; - duży zakres temperatur pracy;- kontrast zależny od oświetlenia zewn. - duża częstotliwość pracy; - brak refleksów świetlnych;

  32. Urządzenia operatorskie - wyjścia 32/46 Sterowanie można realizować statycznie - w sposób analogiczny do sterowania pojedynczymi diodami LED (wygodniejsze są układy WA). Do uzyskania potrzebnych znaków na wyświetlaczu segmentowym stosuje się: - bezpośrednie sterowanie segmentami - cyfry, niektóre litery, symbole; - standardowe dekodery sprzętowe - tylko cyfry, czasem litery/symbole.

  33. Przykład statycznego sterowania wyświetlaczami przy użyciu 7447: Urządzenia operatorskie - wyjścia 33/46 seria TTL: ’46, ‘246, ‘247, ’48, ‘248, ‘249; seria CMOS: 4055, 4547, 4558.

  34. z zatrzaskiem na cyfrę BCD: 4056, 4511, 4543, 4544, 4513 Urządzenia operatorskie - wyjścia 34/46

  35. Urządzenia operatorskie - wyjścia 35/46 • Dynamiczne sterowanie wyświetlaczami LED • Cechy: • równolegle połączone linie segmentów wszystkich pozycji wyświetlacza; • wspólne elektrody poszczególnych pozycji sterowane niezależnie; • mniejsza liczba elementów sterujących - oszczędności; • prostsza sieć połączeń - oszczędności; • wymaga buforowania wyświetlanej informacji; • trudniejsze sterowanie - rozbudowany program albo specjalny sterownik sprzętowy; • stosowane także w przypadku grup pojedynczych LED.

  36. WG WG WG WG WG WG stan linii segmentowych W1 W2 W3 W4 W1 W2 W1 W2 W3 W4 TO TP Urządzenia operatorskie - wyjścia 36/46 zasada pracy: W1, W2, W3, W4 – sterowania wspólnych elektrod kolejnych pozycji wyświetlacza WG – okresy wygaszania międzysegmentowego TP – okres powtarzania TO – okres obsługi

  37. Urządzenia operatorskie - wyjścia 37/46 Aby uzyskać podobną jak przy sterowaniu statycznym obserwowaną jasność świecenia segmentów LED należy stosować impulsowo prąd segmentu k-krotnie większy (tzw. forsowanie prądu). Częstotliwość powtarzania dla pojedynczego wyświetlacza powinna być większa od 50Hz (TP < 2,5ms), wynika to ze zdolności postrzegania oka ludzkiego. Przy N wyświetlaczach w zestawie, otrzymujemy częstotliwość obsługi: fO > N∙fP

  38. Urządzenia operatorskie - wyjścia 38/46 • Przykład algorytmu obsługi zestawu 8 wyświetlaczy w przerwaniach zegar. • założenia: • częstotliwość przerwań zegarowych fC 850Hz = 400Hz; • pozycje wyświetlacza są wybierane kodem poprzez port portselcyfr; • informację wyświetlaną wpisuje się do portu portwysw; • struktury danych: bufor wyświetlacza bufwy przechowuje informacje (W0..W7) wyświetlane na poszczególnych pozycjach wyświetlacza jako: kody segmentowe, kody specjalne, cyfry BCD (pojedyncze lub pary).

  39. START operacje startowe procedury obsługi przerwania zegarowego wyłączenie wszystkich pozycji wyświetlacza A:=11111111b AOUT[portselcyfr] inne działania procedury obsługi przerwania zegarowego wysłanie do portwysw informacji o stanie kolejnej pozycji wyświetlacza, przygotowanie nowej wartości selektora sw lw:=(lw+1) mod 8 AM[bufwy+lw] RL sw AOUT[portwysw] inne działania procedury obsługi przerwania zegarowego aktualizacja portselcyfr- włączenie kolejnej pozycji wyświetlacza swOUT[portselcyfr] operacje końcowe procedury obsługi przerwania zegarowego RETURN Urządzenia operatorskie - wyjścia 39/46

  40. Urządzenia operatorskie - wyjścia 40/46 Przykładowa realizacja sprzętowa: - wyświetlacz typu WA

  41. Urządzenia operatorskie - wyjścia 41/46 Przykładowa realizacja sprzętowa: - wyświetlacz typu WK

  42. Urządzenia operatorskie - wyjścia 42/46

  43. Urządzenia operatorskie - wyjścia 43/46 Wyświetlacze mozaikowe LED. Umożliwiają one przedstawianie różnych znaków i symboli w matrycy 5x7, 5x8 itp. pikseli. Sterowanie nimi może być zrealizowane jako: - sterowanie dynamiczne kolejnymi kolumnami pikseli (dostępne są scalone generatory znaków np.7304xx); - sterowanie statyczne lub dynamiczne całymi matrycami zintegrowanymi z lokalnymi sterownikami.

  44. Urządzenia operatorskie - wyjścia 44/46 Wyświetlacze LCD segmentowe i mozaikowe. Zalety LCD: - "bezprądowe" sterowanie, mały pobór mocy; - stały kontrast niezależny od oświetlenia zewnętrznego; - możliwość uzyskania dowolnych kolorów przez filtry barwne; - tanie; - mogą być podświetlane od tyłu. Wady LCD: - duża bezwładność odpowiedzi (10-20ms czas włączenia, 100-200ms czas wyłączenia); - powierzchnia wyświetlacza dająca refleksy świetlne; - mały zakres temperatur pracy; - wymagają do pracy przebiegu prostokątnego ok. 32Hz.

  45. Urządzenia operatorskie - wyjścia 45/46 zasada pracy wyświetlacza LCD

  46. Urządzenia operatorskie - wyjścia 46/46 Do sterowania wyświetlaczy segmentowych można używać rejestrów zatrzaskowych i bramek XOR. Dostępne są także scalone sterowniki wyświetlaczy LCD zwykłe - 4055 i z zatrzaskiem - 4056, 4543, 4544. Mozaikowe wyświetlacze LCD są dostępne w dwóch odmianach: - 1,2 lub 4 wierszowe np. po 16 (20) znaków w linii; - ekrany o rozdzielczościach jak w komputerach laptop, palmtop itp. Wyświetlacze takie są zintegrowane z odpowiednimi sterownikami, z którymi mikroprocesor komunikuje się normalnym łączem równoległym, umożliwiającym przesył danych i rozkazów programujących sterownik. Przykładowe sterowniki: - 7211; - PCF8566, PCF8576, PCF8577, PCF8578 (wszystkie z I2C).

  47. Urządzenia operatorskie - wyjścia 47/46 Wyświetlacze pseudoanalogowe. Do reprezentacji wielkości analogowych są niekiedy stosowane wskaźniki linijkowe typu LED lub LCD np.: - sterowane cyfrowo dekodery NB-->1zN: 7442 (10), 74154 (16), itd.; - sterowany analogowo UL1970 - skala z 16 diód LED; - sterowany cyfrowo 4754V - skala 18 elementów LCD. Tzw. linijka może też być jednym z dodatkowych elementów wyświetlacza segmentowego LCD.

More Related