12/2003 grudzień 15 zł 50 gr (w tym 7% VAT)

Wielkość: px
Rozpocząć pokaz od strony:

Download "12/2003 grudzień 15 zł 50 gr (w tym 7% VAT)"

Transkrypt

1 ELEKTRONIKA PRAKTYCZNA Miêdzynarodowy magazyn elektroników konstruktorów NA CD KATALOGI FIRM: RFM, AMPIRE, AMIC ORAZ EAGLE 4.11 I AVR STUDIO /2003 grudzień 15 zł 50 gr (w tym 7% VAT) 12/2003 grudzieñ

2 W programach tworzonych za pomoc¹ Step7MicroWinV3.2 wykorzystuje sií nastípuj¹ce typy zmiennych: - zmienne typu BOOL informuj¹ce o stanie logicznym pojedynczego bitu, - zmienne typu BYTE odnosz¹ce sií do bajtu danych (8 bitûw), - zmienne typu WORD odnosz¹ce sií do s³owa danych (16 bitûw), - zmienne typu DWORD odnosz¹ce sií do podwûjnego s³owa (32 bity), - zmienne typu REAL odnosz¹ce sií do wartoúci zmiennoprzecinkowych, okreúlonych jako wartoúê i mantysa (32 bity). Uøytkownik ma moøliwoúê wybrania wersji jízykowej menu edytora. DostÍpne s¹ menu edytora w jízykach: angielskim, niemieckim, francuskim i w³oskim. Prze³¹czenie wersji jízykowej nastípuje po wybraniu opcji Tool->Options->Language. W opcji Tool- >Options->Mnemonic Set istnieje moøliwoúê wyboru postaci mnemonicznej zmiennych. Wybieraj¹c International decydujemy, øe wejúcia binarne oznaczone zostan¹ jako ìiî (wejúcia), zaú wyjúcia binarne jako ìqî (wyjúcia). Ustawienie w Mnemonic Set na SIMATIC powoduje odpowiednio oznaczanie wejúê jako ìeî (Eingang) a wyjúê ìaî (Ausgang). W przypadku pomy³ki edytor samodzielnie zamieni mnemonik na zgodny z ustawionym standardem. Waøna cech¹ oprogramowania Step7MicroWin 32 jest moøliwoúê wyboru konwencji programowania. Uøytkownik na pocz¹tku pisania programu decyduje czy bídzie korzysta³ z funkcji zgodnych ze standardem SIMATIC, czy teø wszystkie instrukcje, ktûre bíd¹ uøywane w programie, bíd¹ zgodne z norma IEC Ustawienia standardu programowania dokonuje sií w Tools- >Options->Programing Mode. Obszary alokacji zmiennych W obszarze pamiíci wyrûøniamy nastípuj¹ce obszary dla alokacji zmiennych: - obszar adresowany bitowo oznaczony jako ìmî (Marker). DostÍp do tego obszaru jest moøliwy jako bitowy M0.0, bajtowy MB0, s³owo MW0 lub podwûjne s³owo DW0. - Obszar oznaczony jako ìvî (Variable). Jest to ca³y obszar bloku oznaczonego jako Data Block. Obszar ten moøe byê ad- resowany bitowo V0.0, jako bajt VB0, s³owo VW0, lub podwûjne s³owo VD0. - Obszar oznaczony jako ìiî lub ìeî. Jest to obszar wejúê procesu. Sterownik na pocz¹tku cyklu czyta stany sygna³ûw na wszystkich wejúciach i wartoúci tych stanûw odk³ada w obszarze wejúê procesu. Moøliwy jest odczyt sygna³ûw wejúciowych jako pojedynczy bit I0.0, bajt IB0,s³owo IW0, podwûjne s³owo ID0. - Obszar oznaczony jako ìqî lub ìaî. Jest to obszar wyjúê procesu. Sterownik na koòcu cyklu przepisuje stany sygna³ûw z obszaru wyjúê procesu na fizyczne wyjúcia sterownika. Moøliwy jest zapis stanûw z obrazu wyjúê procesu na pojedyncze wyjúcia Q0.0(bit), grupí bajt QB0, s³owo QW0, lub podwûjne s³owo QD0. - Obszar oznaczony jako ìlî. Jest to tzw. lokalny stos danych czyli pamiíê programu przydzielona tylko dla bloku programowego np. SBRx, w ktûrym s¹ wywo³ywane zadeklarowane zmienne L. W obszarze ìlî moøliwy jest dostíp do zmiennych typu bit L0.0, bajt L0, s³owo LW0 lub podwûjne s³owo LD0. - Obszar oznaczony jako ìsmî. Jest to pamiíê znacznikûw systemowych zapisanych w BIOS-ie sterownika S Zadaniem tych znacznikûw jest analiza pracy systemu. Wszelkie odchy³ki od prawid³owej pracy systemu sygnalizowane bíd¹ w znacznikach systemowych SM. Uøytkownik ma rûwnieø moøliwoúê modyfikacji tych znacznikûw, np. w celu zmiany prídkoúci przesy³u danych przez zintegrowane z³¹cze komunikacyjne sterownika S Zegary W systemach automatyki wystípuje koniecznoúê precyzyjnego odmierzania czasu z zadan¹ dok³adnoúci¹. W tym celu w sterowniku S7-200 przygotowano komûrki pamiíci oznaczone liter¹ ìtî (Timer). Timer jest 16- bitowym rejestrem, w ktûrym znajduje sií aktualna wartoúê odmierzonego czasu. Numery zegarûw s¹ powi¹zane z rozdzielczoúci¹ czasu jaki odmierzaj¹. W zaleønoúci od numeru zegara przyporz¹dkowana jest rûøna rozdziel- A U T O M A T Y K A Dzia³anie sterowników S podstawy, czêœæ 2 W tej czíúci artyku³u przedstawiamy informacje istotne dla pocz¹tkuj¹cych projektantûw systemûw sterowania, ktûrzy buduj¹ je na bazie urz¹dzeò z rodziny S Zaczynamy od alokacji i funkcji najpopularniejszych zmiennych systemowych. Dog³Íbne poznanie ich moøliwoúci pozwoli tworzyê funkcjonalne i niezawodne programy. czoúê - np. T0 ma rozdzielczoúê 1 ms, zaú T1 rozdzielczoúê 10 ms. Zegary rûøni¹ sií rûwnieø ze wzglídu na funkcjonalnoúê. W bibliotece Step7MicroWin znajduj¹ sií trzy typy zegarûw: z opûünieniem na za³¹czenie, z opûünieniem na wy³¹czenie oraz z opûünieniem na za³¹czenie i podtrzymaniem. Liczba dostípnych zegarûw uzaleøniona jest od typu CPU. Liczniki OprÛcz zegarûw wykorzystywane s¹ rûwnie czísto liczniki oznaczone jako ìcî (Counter). Ich zadaniem jest zliczanie impulsûw podawanych na wejúcia binarne sterownika lub zliczanie zmian stanûw wewnítrznych znacznikûw ìmî. Liczniki s¹ 16-bitowymi rejestrami przechowuj¹cymi aktualnie zliczon¹ iloúê impulsûw. Dziel¹ sií na: zliczaj¹ce w gûrí CTU, w dû³ CTD, oraz uniwersalne zliczaj¹ce gûra/dû³ - CTUD. Liczniki aktywowane s¹ narastaj¹cym zboczem sygna³u. Liczba dostípnych licznikûw uzaleøniona jest od typu CPU. Szybkie liczniki Szybkie liczniki maj¹ rejestry 32-bitowe. Ich zadaniem jest zliczanie impulsûw podawanych na okreúlone wejúcia CPU z maksymaln¹ czístotliwoúci¹ do 30 khz. Odczyt impulsûw odbywa sií poza cyklem pítli, nie wystípuje wiíc problem z ìgubieniemî poszczegûlnych impulsûw w zaleønoúci od czasu przetwarzania programu. Odczyt szybkich licznikûw dokonywany jest na ø¹danie w programie obs³ugi przerwania czasowego. Szybkie liczniki oznaczane s¹ jako HSC. Wejúcia/wyjúcia analogowe Odczyt sygna³ûw analogowych dokonywany jest poprzez odwo³anie w programie do konkretnego kana³u analogowego. Odczytywana jest aktualna wartoúê analogowa i po konwersji A/C. W rejestrze modu³u analogowego umieszczona zostaje wartoúê liczbowa z zakresu lub Aby umieúciê przetworzon¹ wartoúê w pamiíci sterownika naleøy wykorzystaê z biblioteki programu Step7MicroWin - do tego celu s³uøy funkcja MOV AIW0, VW10, gdzie pierwszy kana³ analogowy oznaczony jest jako AIW0, a VW10 jest zmienn¹ umieszczona w pamiíci sterownika w obszarze îvî o adresie 10. WartoúÊ analogowa reprezentowana jest przez liczbí 16-bitow¹. 141

3 A U T O M A T Y K A Tab. 1. Zestawienie wyposażenia jednostek centralnych S7 200 Opis CPU221 CPU222 CPU224 CPU226 CPU226XM Pamiêæ programu 4 kb 4 kb 8 kb 8 kb 16 kb Pamiêæ danych 2 kb 2 kb 5 kb 5 kb 10 kb Obraz wejœæ procesu I0.0 do I15.7 I0.0 do I15.7 I0.0 do I15.7 I0.0 do I15.7 I0.0 do I15.7 Obraz wyjœæ procesu Q0.0 do Q15.7 Q0.0 do Q15.7 Q0.0 do Q15.7 Q0.0 do Q15.7 Q0.0 do Q15.7 Liczba kana³ów - AIW0 do AIW30 AIW0 do AIW62 AIW0 do AIW62 AIW0 do AIW62 wejœæ analogowych Liczba kana³ów - AQW0 do AQW30 AQW0 do AQW62 AQW0 do AQW62 AQW0 do AQW62 wyjœæ analogowych Obszar pamiêci typu VB0 do VB2047 VB0 do VB2047 VB0 do VB5119 VB0 do VB5119 VB0 do VB10239 V podany w bajtach Obszar pamiêci typu LB0 do LB63 LB0 do LB63 LB0 do LB63 LB0 do LB63 LB0 do LB63 L podany w bajtach Obszar pamiêci typu M0.0 do M31.7 M0.0 do M31.7 M0.0 do M31.7 M0.0 do M31.7 M0.0 do M31.7 M okreœlony bitowo Obszar znaczników SM0.0 do SM179.7 SM0.0 do SM SM0.0 do SM SM0.0 do SM SM0.0 do SM systemowych SM Zagary Timers 256 (T0 do T255) 256 (T0 do T255) 256 (T0 do T255) 256 (T0 do T255) 256 (T0 do T255) OpóŸnienie na za³¹czenie z podtrzymaniem 1ms T0,T64 T0,T64 T0,T64 T0,T64 T0,T64 10ms T1 do T4 i T65 do T68 T1 do T4 i T65 do T68 T1 do T4 i T65 do T68 T1 do T4 i T65 do T68 T1 do T4 i T65 do T68 100ms T5 do T31 i T69 do T95 T5 do T31 i T69 do T95 T5 do T31 i T69 do T95 T5 do T31 i T69 do T95 T5 do T31 i T69 do T95 OpóŸnienie na za³¹czenie/wy³¹czenie 1 ms T32, T96 T32, T96 T32, T96 T32, T96 T32, T96 10ms T33 do T36 i T97 do T100 T33 do T36 i T97 do T100 T33 do T36 i T97 do T100 T33 do T36 i T97 do T100 T33 do T36 i T97 do T ms T37 do T63 i T101 do T255 T37 do T63 i T101 do T255 T37 do T63 i T101 do T255 T37 do T63 i T101 do T255 T37 do T63 i T101 do T255 Liczniki C0 do C255 C0 do C255 C0 do C255 C0 do C255 C0 do C255 Szybkie liczniki HSC HC0,HC3,HC4,HC5 HC0,HC3,HC4,HC5 HC0 do HC5 HC0 do HC5 HC0 do HC5 Akumulatory AC0 do AC3 AC0 do AC3 AC0 do AC3 AC0 do AC3 AC0 do AC3 Skoki do etykiety 0 do do do do do 255 Liczba podprogramów 0 do 63 0 do 63 0 do 63 0 do 63 0 do 127 Liczba funkcji wykry wania zbocza narastaj¹cego/opadaj¹cego Iloœæ pêtli regulacji PID 0 do 7 0 do 7 0 do 7 0 do 7 0 do 7 Porty komunikacyjne Port0 Port0 Port0 Port0,Port1 Port0,Port1 Analogicznie sytuacja przedstawia sií z wyjúciami analogowymi, przy czym naleøy wykonaê operacjí odwrotn¹, czyli przetworzon¹ wartoúê z zakresu , przechowywan¹ w pamiíci sterownika naleøy przes³aê na konkretny kana³ analogowy za pomoc¹ instrukcji MOV VW10, AQW0, gdzie VW10 jest zmienna w sterowniku, a AQW0 jest pierwszym kana³em wyjúciowym analogowym. Akumulatory Akumulatory s¹ 32-bitowymi rejestrami, s³uø¹cymi do przechowywania wynikûw poúrednich obliczeò oraz wykorzystywane s¹ przy adresowaniu za pomoc¹ wskaünikûw. Jednym z zastosowaò akumulatorûw jest przekazywanie parametrûw do podprogramûw i z powrotem. W CPU znajduj¹ sií 4 akumulatory oznaczone AC0, AC1, AC2, AC3. Rys. 1 Sta³e Wiele operacji arytmetycznych wymaga okreúlenia wartoúci sta³ych. Mog¹ byê one okreúlone jako wartoúci typu: binarnego, dziesiítnego, hexadecymalnego, ASCII, zmiennoprzecinkowego. Przyk³adowe deklaracje wartoúci sta³ych: Sta³a dziesiêtna 2022 Sta³a hexadecymalna 16#4AE3 Sta³a ASCII proba Sta³a zmiennoprzecinkowa E-38 lub typu Real Sta³a binarna 2#1000_1001_1010_0100 Adresowanie poúrednie Adresowanie poúrednie jest wykorzystywane jako jeden z najefektywniejszych sposobûw dostípu do danych znajduj¹cych sií w pamiíci sterownika. DziÍki adresowaniu poúredniemu istnieje moøliwoúê adresowania tabel danych i ³atwego zarz¹dzania nimi. Aby uzyskaê dostíp do danej w sposûb poúredni najpierw naleøy utworzyê wskaünik adresowy, ktûry wskazuje na t¹ dan¹. Wskaünik jest zmienn¹ 32-bitow¹ typu podwûjne s³owo. Jako wskaünik moøe byê uøyta zmienna z obszaru ìvî - np. VD200, akumulator - np. AC1, zmienna lokalna ìlî - np. L6. Aby wygenerowaê wskaünik naleøy skorzystaê z funkcji MOVD znajduj¹cej sií w bibliotece funkcji programu Step7MicroWin. Aby poinformowaê, øe chcemy zadeklarowaê wskaünik do danej VW10 a nie przes³aê wartoúê danej do np. akumulatora, koniecznym jest poprzedzenie adresu, na ktûry ma wskazywaê wskaünik znakiem ì&î, np.: MOV &VW10, AC1 MOV &MB4, VD5 MOV &C4, L6 Tak wytworzony wskaünik wskazuje obecnie na konkretna dan¹ czyli jak w przyk³adach powyøej na VW10, MB4, C4. Jeøeli chcemy odczytaê wartoúê zawarta w danej, wskazywanej przez wskaünik naleøy wykonaê czynnoúci jak w przyk³adzie pokazanym na rys. 1. Micha³ Bereza, Siemens Dodatkowe informacje Pe³na dokumentacja w jêzyku angielskim do sterownika S7-200 oraz oprogramowanie STEP7MicroWin znajduje siê na p³ycie CD-EP12/2003B oraz w Internecie pod adresem: w podkatalogu Katalogi>Instrukcje. 142

4 P O D Z E S P O Ł Y P O D Z E S P O Ł Y Przetwornice DC/DC dla urz¹dzeñ elektroniki przemys³owej Wydawa³oby siê, e przetwornice DC/DC osi¹gnê³y tak wysoki stopieñ rozwoju, e producenci nie bardzo maj¹ co ju przy nich robiæ. Jak siê jednak okazuje, d¹ enie do obni enia kosztów i poprawy parametrów powoduj¹, e Traco Power - jeden z najwiêkszych producentów przetwornic - co miesi¹c ma siê czym pochwaliæ. W tym miesi¹cu skupimy siê na dwóch nowych modelach przetwornic z serii TEL. Maj¹ one niezwykle istotn¹ cechê wspóln¹: s¹ tanie, zw³aszcza jeœli wzi¹æ pod uwagê fakt, e parametrami s¹ niemal e identyczne ze znanymi na naszym rynku (ju nie tylko z EP) przetwornic z rodziny TEN. 2 W w DIL16 Najmniejszy (gabarytowo i mocowo) model z rodziny TEL. Maksymalna moc dostarczana do obci¹ enia wynosi 2 W, co jest nie lada osi¹gniêciem, poniewa przetwornica mieœci siê w obudowie o obrysie odpowiadaj¹cym DIL16 i wysokoœci 7,62 mm. Pomimo tak niewielkich rozmiarów napiêcie przebicia izolacji pomiêdzy wyjœciem i wejœciem ma wartoœæ 1000 VDC, przy rezystancji jej up³ywnoœci wynosz¹cej wiêcej ni 1 GΩ. Przetwornice TEL-2 s¹ produkowane w czterech grupach przystosowanych do zasilania napiêciami z zakresów: 4,5...9,0 V, V, V i V. W ka dej z tych grup znajduj¹ siê przetwornice o napiêciu wyjœciowym wynosz¹cym: 3,3 V, 5 V, 12 V, 15 V, ±5 V, ±12 V lub ±15 V. Napiêcie wyjœciowe jest oczywiœcie stabilizowane - producent gwarantuje dok³adnoœæ ustawienia napiêcia ±2%, stabilnoœæ w funkcji zmian obci¹ enia (0,25...0,75*I max ) nie gorsz¹ ni 0,75%, a w funkcji zmian napiêcia wejœciowego nie gorsz¹ ni ±0,5%. Napiêcie wyjœciowe zmienia wartoœæ w funkcji temperatury otoczenia o ±0,02%/K, a maksymalna amplituda têtnieñ (w paœmie do 20 MHz) nie jest wiêksza ni 50 mv pp. Warto tu zwróciæ uwagê na fakt, e przetwornice TEL-2 pracuj¹ce z obci¹ eniem mniejszym ni 0,25*I max wytwarzaj¹ nieco gorsze napiêcie na wyjœciu. Zgodnie z informacjami producenta, w takim przypadku napiêcie têtnieñ na wyjœciu mo e mieæ wiêksz¹ - ni deklarowana w danych katalogowych - wartoœæ. Obwód wejœciowy przetwornicy wyposa ono w filtr zapobiegaj¹cy przenoszeniu zak³óceñ impulsowych do linii zasilaj¹cej (zgodnie z norm¹ EN55022A). Z kolei obwody wyjœciowe wyposa ono w zabezpieczenie przeciwzwarciowe, dziêki któremu ryzyko uszkodzenia wewnêtrznych obwodów przetwornicy jest stosunkowo niewielkie. Relatywnie wysoka sprawnoœæ energetyczna przetwornic ( % w zale noœci od modelu) tak e sprzyja ich d³ugowiecznoœci - w obudowach o tak niewielkiej objêtoœci wytracanie du ej iloœci energii musia³oby spowodowaæ znaczne skrócenie czasu niezawodnej pracy, który w przypadku TEL-2 wynosi 1,2 mln. godzin 139

5 P O D Z E S P O Ł Y (w temperaturze otoczenia 25 o C). Pewien jakoœci swoich wyrobów producent zapewnia 3-letni¹ gwarancjê na wszystkie modele z serii TEL-2. 6 W w DIP24 Nieco wiêksze gabarytami i oczywiœcie dopuszczaln¹ moc¹ obci¹ enia s¹ przetwornice TEL-5. Wbrew sugestii zawartej w ich nazwie, maksymalna moc wyjœciowa wynosi 6 W, co jak na obudowê o gabarytach zbli onych do DIP24 (wysokoœæ wynosi 10,2 mm) jest wartoœci¹ doœæ znaczn¹. W odró nieniu od przetwornic TEL-2, obudowy przetwornic TEL-5 s¹ wykonane z metalu, co zmniejsza ich rezystancjê termiczn¹. Dziêki temu maksymalna dopuszczalna temperatura obudowy wynosi 90 o C, a zakres temperatur otoczenia o C. Dziêki wiêkszym (ni TEL-2) wymiarom obudowy, napiêcie przebicia izolacji pomiêdzy wyjœciem i wejœciem wynosi 1500 VDC. Przetwornice TEL-5 s¹ dostêpne w dwóch wersjach, przystosowanych do zasilania napiêciami VDC lub VDC. Uzyskiwane wartoœci napiêæ wyjœciowych s¹ takie same, jak w przypadku serii TEL-2. Sprawnoœæ energetyczna TEL-5 mieœci siê w przedziale % w zale noœci od modelu. Deklarowana przez producenta dok³adnoœæ ustawienia napiêcia wyjœciowego wynosi ±1%, a maksymalna zmiania wartoœci w funkcji zmiany napiêcia zasilaj¹cego nie przekracza ±0,3%. Niestabilnoœæ napiêcia wyjœciowego w funkcji zmian pr¹du obci¹ enia nie przekracza ±1%. Pozosta³e parametry elektryczne, poza amplitud¹ têtnieñ na wyjœciu (max. 75 mv pp ), s¹ bardzo podobne do parametrów przetwornic TEL-2. Identyczne s¹ tak e wbudowane zabezpieczenia - przy pr¹dzie wyjœciowym wiêkszym o 20% od wartoœci maksymalnej w³¹cza siê ogranicznik pr¹dowy, zapewniaj¹cy bezpieczeñstwo obwodom wyjœciowym przetwornicy. Czemu dla przemys³u? Teraz pokrótce odpowiem na pytanie, które prawdopodobnie nasunie siê wiêkszoœci Czytelników: jaka to cecha predestynuje przetwornice z rodziny TEL do zastosowañ przemys³owych? Po pierwsze: niezawodnoœæ. Niewielu producentów udziela 3- letniej gwarancji na swoje wyroby, zw³aszcza przystosowane do (potencjalnie) tak trudnych warunków pracy jak w zasilaczach. Po drugie: przystosowanie do pracy w szerokim zakresie temperatur i przy du ej wilgotnoœci, osi¹gaj¹cej wartoœæ (wilgotnoœæ wzglêdna) 95%. Po trzecie: chocia w niektórych przypadkach mo e najwa niejsze - niska cena, pozwalaj¹ca aplikowaæ przetwornice do urz¹dzeñ produkowanych zarówno w niewielkich, jak i du ych iloœciach. Po czwarte: odpornoœæ na b³êdy obs³ugi. Oprócz wspomnianych zabezpieczeñ przeciwzwarciowych przetwornice wyposa ono w zabezpieczenia przed odwrotn¹ polaryzacj¹ napiêcia zasilaj¹cego. Tylko tyle i a tyle. Myœlê, e u ytkownicy sami oceni¹ przydatnoœæ tych nowoczesnych podzespo³ów. Andrzej Gawryluk, EP Dodatkowe informacje s¹ dostêpne na stronie producenta: Dystrybutorem firmy TracoPower jest Amtek spol. s r.o., tel. (22) , amtek@amtek.pl, 140

6 A U T O M A T Y K A Nowe sterowniki modułowe firmy Omron rowniki lokalnie obs³uguj¹ce fragmenty zadaò odci¹øaj¹c CPU. Maksymalna liczba obs³ugiwanych przez CPU linii I/O w systemie CJ1 wynosi 2560 (w maksimum 40 rûønych modu³ach I/O), dodatkowo uøytkownik moøe mieê do dyspozycji 34 porty komunikacji szeregowej. DostÍpne s¹ takøe modu³y szybkich licznikûw (czístotliwoúê zliczania do 500 khz), pozycjonowania serwonapídûw, lokalnych regulatorûw temperatury itp. Do kaødego zestawu moøna do³¹czyê (za pomoc¹ specjalnego modu³u komunikacyjnego) do trzech dodatkowych zestawûw oddalonych od siebie na odleg³oúê do 12 metrûw. Nie musz¹ byê one wyposaøane w CPU. W ramach prezentowanej rodziny urz¹dzeò, producent oferuje 8 rûønych wersji jednostek centralnych, w tym takøe wyposaøonych w zintegrowane interfejsy I/O. Niewielkie wymiary obudowy kontrastuj¹ z duøymi moøliwoúciami CPU. DostÍpna dla aplikacji uøytkownika pamiíê programu ma po- SzybkoúÊ automatyzacji naszego otoczenia jest tak duøa, øe coraz czíúciej nie zdajemy sobie sprawy z dyskretnej obecnoúci cichych ìs³uø¹cychî. Rewolucja by³a moøliwa dziíki wprowadzeniu do sprzedaøy przez producentûw urz¹dzeò automatyki miniaturowych (najczíúciej tylko rozmiarami) sterownikûw PLC, ktûrych ³atwoúÊ obs³ugi i niska cena spowodowa³y, øe trafi³y one ìpod strzechyî. Omron wprowadzi³ na rynek now¹ rodziní miniaturowych sterownikûw do systemûw automatyki - CJ1. Wydarzenie - co prawda - niezbyt sensacyjne, ale istotne dla projektantûw systemûw automatyki: dziíki tym sterownikom znacznie ³atwiejsze niø dotychczas sta³o sií budowanie optymalnych (pod wzglídem kosztûw, wymiarûw fizycznych i sposobu programowania) systemûw sterowania i regulacji. Czemu tak? W sk³ad rodziny CJ1 wchodzi ca³a gama rûønorodnych modu³ûw, poúrûd ktûrych jednostki centralne (CPU) s¹ tylko jednym wielu elementûw, z ktûrych moøna budowaê system. DziÍki temu projektant moøe bez wiíkszego trudu dobraê do wymogûw aplikacji zarûwno CPU jak i wszystkie peryferia, wúrûd ktûrych s¹ dostípne zarûwno stosunkowo proste modu³y cyfrowych i analogowych wejúê/wyjúê, zasilacze, jak i kompletne interfejsy sieciowe (Ethernet, DeviceNet, ControllerLink, Profibus DP, Compo- Bus), czy teø kompletne mini-stejemnoúê 120 ks³ûw, a dla danych udostípniono aø 256 ks³ûw (z podzia³em na banki). Takøe szybkoúê wykonywania rozkazûw jest zaskakuj¹co duøa. Dla przyk³adu, czas wykonywania instrukcji LD wynosi 20 ns, a bardziej z³oøonej, wie- 135

7 A U T O M A T Y K A loargumentowej instrukcji MOV 180 ns. Duøa prídkoúê dzia³ania CPU zapewnia czíste skanowanie stanu linii I/O - w przypadku 64 linii I/O aktualizacja stanu wyjúê odbywa sií co 15 µs, a stanu wejúê co 12 µs. W zaleønoúci od potrzeb, uøytkownik buduj¹cy aplikacjí moøe wykorzystaê do 4096 timerûw i do 4096 licznikûw jednoczeúnie, przy czym zasoby sterownika s¹ zajmowane wy³¹cznie przez timery i liczniki wykorzystywane w programie. Tworzenie programûw steruj¹cych prac¹ CPU jest ³atwiejsze niø w przypadku wiíkszoúci dotychczas dostípnych sterownikûw (takøe tych z wyøszej ìpû³kiî), poniewaø zestaw obs³ugiwanych instrukcji jest bardzo bogaty (jest ich aø 400). DostÍpne s¹ m.in. instrukcje obs³ugi kolejek FIFO i LIFO, obliczeò sta³oi zmiennoprzecinkowych, transferûw blokowych (do s³ûw) a takøe instrukcje umoøliwiaj¹ce wygodn¹ obs³ugí tablic danych. Programy moøna dzieliê na zadania, ktûre s¹ wykonywane sekwencyjnie w sposûb okreúlony przez uøytkownika (pozwala to na budowanie programûw wykonywanych quasi rûwnolegle). Programy oraz dane wymagaj¹ce przenoszenia mog¹ byê przechowywane na kartach pamiíci nieulotnej Flash. ZawartoúÊ wewnítrznej pamiíci danych jest podtrzymywana dziíki wbudowanej baterii litowej. Producent dbaj¹c o dotychczasowych uøytkownikûw produkowanych przez siebie sterownikûw PLC, umoøliwi³ ³atwe przenoszenie wczeúniej przygotowanych programûw na sterowniki CJ1. W wiíkszoúci przypadkûw konwersja odbywa sií ca³kowicie automatycznie - wykonuje j¹ program narzídziowy CX-Programmer. Budowanie systemûw na urz¹dzeniach z rodziny CJ1 jest wygodne takøe od strony mechanicznej: wymiary modu³ûw s¹ niewielkie (úciany boczne modu³ûw s¹ niewiele wiíksze od karty kredytowej - 90 x 65 mm) i s¹ one przystosowane do bezpoúredniego montaøu na szynie DIN. Po³¹czenia pomiídzy modu³ami s¹ wykonywane automatycznie podczas ich instalacji na szynie - nie ma wiíc koniecznoúci kupowania specjalnych instalacyjnych p³yt bazowych, a ca³y system moøna wbudowaê np. w typow¹ skrzynkí bezpiecznikow¹. Prezentowane urz¹dzenia s¹ juø dostípne takøe w naszym kraju. Wiele wskazuje na to, øe ich moøliwoúci i ogromna elastycznoúê, przyci¹gan¹ rzesze nowych uøytkownikûw, bo przecieø coraz wiíkszego znaczenia nabiera wygoda budowania systemûw, moøliwoúê optymalizacji ich ceny i szybkoúê tworzenia aplikacji steruj¹cych. Te wszystkie zadania moøna ³atwo wykonaê korzystaj¹c z CJ1. Andrzej Gawryluk, AVT Dodatkowe informacje Artyku³ powsta³ na podstawie materia³ów udostêpnionych przez firmê Omron, tel. (22) , 136

8 B I B L I O T E K A E P W Bibliotece EP prezentujemy książki dotyczące zagadnień związanych z różnymi dziedzinami techniki, jednak zawsze przydatne w pracy elektronika lub pomocne w uprawianiu elektronicznego hobby. Nasza opinia jest oczywiście subiektywna, ale wynika z wieloletniego doświadczenia zawodowego i chyba jest zgodna z oczekiwaniami tych, którzy chcą z książek korzystać, a nie przyozdabiać nimi półki. Aby nie marnować miejsca w EP, nie będziemy publikować recenzji książek ocenianych na jedną lub dwie lutownice. Przyjęliśmy szeroką skalę ocen, aby ułatwić Czytelnikom orientację w potencjalnej przydatności książki. Publikowane w EP recenzje książek można znaleźć w Internecie pod adresem biblioteka.ep.com.pl. Uwaga! Większość prezentowanych książek można zamówić w Dziale Handlowym AVT (patrz str. 133). Chcemy w ten sposób udostępnić je Czytelnikom EP. Praca zbiorowa, Synteza układów cyfrowych, WKŁ 2003 Fani uk³adûw programowalnych na pewno sií uciesz¹: mamy kolejn¹ na rynku wydawniczym pozycjí poúwiícon¹ tym nowoczesnym uk³adom. Ksi¹øka ³¹czy w swojej treúci zaawansowan¹ teorií z praktycznymi aspektami implementacji projektûw w uk³adach PLD, co pokazano na czterech przyk³adach, z ktûrych dwa s¹ szczegûlnie interesuj¹ce: modu³ kryptograficzny DES i filtr cyfrowy - obydwa zapisane w jízyku VHDL. Ksi¹økÍ rozpoczyna wprowadzenie do podstaw teoretycznych dzia- ³ania i zasad projektowania uk³adûw kombinacyjnych i sekwencyjnych. Autorzy szczegûlnie duøo miejsca poúwiícili przedstawieniu metod ìrícznegoî optymalizowania projektûw wykonywanych na uk³adach cyfrowych, a takøe komputerowym systemom syntezy logicznej (Espresso, SIS oraz autorskiego opracowania - DEMAIN). Rozdzia³ czwarty zawiera podstawowe informacje o elementarnych uk³adach cyfrowych oraz rzadko juø stosowanych w praktyce, ale dobrze ilustruj¹cych poruszane w ksi¹øce zagadnienia, uk³adach mikroprogramowanych. Warto zwrûciê uwagí, øe algorytm DEMAIN opracowany w Instytucie Telekomunikacji Politechniki Warszawskiej (gdzie pracuj¹ autorzy ksi¹øki) umoøliwia znaczne ograniczenie do niezbídnego minimum zasobûw uk³adûw PLD podczas implementacji projektûw, co przek³ada sií na cení implementacji projektûw w uk³adach PLD. W ksi¹øce przedstawiono sposûb pos³ugiwania sií tym oprogramowaniem jako narzídziem pomocniczym, wspû³pracuj¹cym z systemem Max+Plus II. Poniewaø - jak deklaruj¹ autorzy - oprogramowanie realizuj¹ce algorytm DEMAIN jest przez nich udostípniane bezp³atnie, czytelnicy ksi¹øki bíd¹ mieli moøliwoúê jego samodzielnego przetestowania i wykorzystania we w³asnych projektach. Kolejny - pi¹ty - rozdzia³ zawiera skrûcony kurs dwûch popularnych jízykûw opisu sprzítu - AHDL (lokalny jízyk stosowany w systemach projektowych firmy Altera) oraz VHDL. DziÍki duøej liczbie przyk³adûw prezentowane zagadnienia s¹ przejrzyúcie objaúnione i mog¹ byê pomocne zarûwno podczas nauki jízyka, jak i podczas realizacji projektûw. Reasumuj¹c: jest to bardzo interesuj¹ca pozycja, przydatna szczegûlnie tym elektronikom, ktûrzy maj¹ juø doúwiadczenie w korzystaniu z uk³adûw programowalnych. Piotr ZbysiÒski Kazimierz Wiatr, ìakceleracja obliczeò w systemach wizyjnychî, WNT 2003 Ksi¹øka niezwyk³a: porusza niezwykle nowoczesne zagadnienia zwi¹zane z cyfrow¹ obrûbk¹ sygna³ûw, pokazuje jej wiele praktycznych aspektûw (zarûwno od strony elektroniki jak i jej zastosowaò), do tego jej autor - co bardzo w EP lubimy - ma wyraün¹ ìøy³kíî konstruktora. Co prawda zagadnienia poruszane w ksi¹øce nie naleø¹ do grupy popularnych, ale dziíki ich przejrzystej prezentacji i duøemu naciskowi na zagadnienia praktyczne, ksi¹øka ma charakter niemaløe poradnikowy (w najlepszym znaczeniu tego s³owa). OprÛcz prezentacji algorytmûw obrûbki obrazûw i efektûw ich dzia³ania, autor wiele miejsca przeznaczy³ na omûwienie architektur specjalizowanych uk³adûw wykorzystywanych w takich aplikacjach. Przedstawi³ takøe alternatywne do ASIC-Ûw sposoby realizacji sprzítowych koprocesorûw wspomagaj¹cych obrûbkí obrazu, w tym rekonfigurowalne uk³ady programowalne i procesory sygna³owe (DSP). Przy okazji prezentacji struktur rekonfigurowalnych, autor przedstawi³ takøe kilka rekonfigurowalnych koprocesorûw uniwersalnych, opracowanych w rûønych oúrodkach akademickich. Tak wiíc, prezentowan¹ ksi¹økí polecam Czytelnikom zainteresowanym zastosowaniami szeroko rozumianej nowoczesnej elektroniki, bo pomimo jej stosunkowo w¹skiej tematyki, sposûb przedstawienia wiíkszoúci poruszanych zagadnieò jest bardzo uniwersalny i moøe byê przydatny w wie- 131

9 B I B L I O T E K A E P B I B L I O T E K A E P Legenda: ksi¹øka wybitna, polecamy! ksi¹øka o duøych walorach praktycznych, polecamy! moøe sií przydaê daleka od doskona³oúci lu innych zastosowaniach. Jedynym niedoci¹gniíciem zauwaøonym w ksi¹øce jest (co prawda niezbyt czíste) odwo³ywanie sií autora do uk³adûw PLD, ktûre nie s¹ produkowane od wielu juø lat (jak choêby XC2000, XC3000, MAX5000, niektûre wersje XC4000, DY8000) lub nigdy nie znalaz³y sií w produkcji seryjnej (jak XC6200). Brak s³owa wyjaúnienia moøe spowodowaê, øe Czytelnicy zainteresowani praktycznymi aspektami prezentowanych zagadnieò bíd¹ bezowocnie szukali tych uk³adûw u dystrybutorûw, niestety bezowocnie. Zas³uøone 4 lutownice! Piotr ZbysiÒski nie warto kupowaê Tomasz P. ZieliÒski, ìod teorii do cyfrowego przetwarzania sygna³ûwî, AGH 2002 Szkoda, øe dotarliúmy do tej ksi¹øki tak pûüno. Sta³o sií tak przede wszystkim dlatego, øe ksi¹øki wydawane przez wydawnictwa uczelniane nie s¹ zbytnio propagowane na rynku, co w wielu przypadkach (ze wzglídu na silne ìprzywi¹zanieî ksi¹øek tego typu do lokalnych warunkûw uczelnianych) jest oczywiúcie usprawiedliwione, ale - jak s¹dzí - ta ksi¹øka ma szansí zainteresowaê wielu inøynierûw zajmuj¹cych sií lub zamierzaj¹cych zaj¹ê sií cyfrow¹ obrûbk¹ sygna³ûw. Autor przygotowa³ potíøn¹ (576 stron) monografií, ktûrej treúê doskonale oddaje tytu³: od teorii (jest jej bardzo duøo, ale podana w nadzwyczaj przystípny sposûb) do cyfrowego przetwarzania sygna³ûw. Tu uwaga: czytelnicy oczekuj¹cy schematu cyfrowej konsoli audio bíd¹ z pewnoúci¹ zawiedzeni, poniewaø w ksi¹øce nie ma ani jednego przyk³adu tego typu, co zreszt¹ autor zapowiedzia³ w przedmowie. Moøna natomiast znaleüê w niej komplet informacji teoretycznych, ktûrych przyswojenie jest warunkiem úwiadomego pos³ugiwania sií uk³adami DSP. Ilustracj¹ sporej dawki teorii s¹ interesuj¹ce przyk³ady (w tym kodowanie MPEG), przez ktûre moøna szczíúliwie przebrn¹ê, o ile znajdziemy w sobie doúê energii na wczeúniejsze poznanie zaawansowanej teorii. Andrzej Gawryluk 132

10 P R O J E K T Y C Z Y T E L N I K Ó W Dział Projekty Czytelników zawiera opisy projektów nadesłanych do redakcji EP przez Czytelników. Redakcja nie bierze odpowiedzialności za prawidłowe działanie opisywanych układów, gdyż nie testujemy ich laboratoryjnie, chociaż sprawdzamy poprawność konstrukcji. Prosimy o nadsyłanie własnych projektów z modelami (do zwrotu). Do artykułu należy dołączyć podpisane oświadczenie, że artykuł jest własnym opracowaniem autora i nie był dotychczas nigdzie publikowany. Honorarium za publikację w tym dziale wynosi 250, zł (brutto) za 1 stronę w EP. Przysyłanych tekstów nie zwracamy. Redakcja zastrzega sobie prawo do dokonywania skrótów. Tester kabli sieciowych LAN Urz¹dzenie prezentowane w artykule s³uøy do sprawdzania poprawnoúci wykonania kabli ³¹cz¹cych komputer z gniazdkiem sieci LAN, kabli komputer-komputer, komputer-router itp. Moøe byê ono uøywane przez instalatorûw do sprawdzania poprawnoúci wykonania instalacji LAN oraz poprawnoúci wykonania kabli patch-cord ³¹cz¹cych urz¹dzenia sieciowe. Rekomendacje: niezbyt skomplikowany, a mimo to uøyteczny przyrz¹d, przydatny zw³aszcza w serwisach komputerûw i uøytkownikom lokalnych (osiedlowych) sieci komputerowych. Pomiar wykonywany jest na zasadzie testu ci¹g³oúci kaødej øy³y oddzielnie. Wykrywane s¹ przerwy, zwarcia i pomy³ki w pod³¹czeniu øy³. Nie s¹ wykonywane natomiast pomiary t³umiennoúci par i przes³uchûw sygna³ûw miídzy nimi. W dobie komputerûw i Internetu, ktûry zawita³ pod strzechy, powszechne jest budowanie sieci komputerowych. W sieciach komputerowych LAN doprowadzaj¹cych Internet do naszych mieszkaò lub biur wykorzystuje sií standard Ethernet. Podstaw¹ budowy takiej sieci jest poprowadzenie oddzielnego kabla (zwykle jest to skrítka UTP czasem FTP lub STP) od huba lub switcha do kaødego komputera. Wykorzystuje sií w tym przypadku kable ìprosteî, wykonane w standardzie EIA/TIA 568A lub B. Kabli skrosowanych uøywa sií do ³¹czenia bezpoúredniego dwûch komputerûw. Taki kabel jest zakoòczony z jednej strony zgodnie z wymaganiami standardu EIA/TIA568A, a z drugiej strony z wymaganiami EIA/ TIA568B. MÛwi¹c proúciej, para TX z jednej strony jest pod- ³¹czona do pary RX z drugiej. Kabel UTP sk³ada sií z 8 øy³ plus ekranu (w przypadku kabli STP lub FTP). Øy³y s¹ po³¹czone w 4 pary. Kaøda para drutûw jest skrícona ze sob¹ i dlatego potocznie mûwi sií na te kable ìskrítkaî. Ponadto, kaødy drut jest oznaczony kolorem. W sk³ad pary wchodzi kabel oznaczony kolorem oraz bia- ³y z kolorem lub bia³y. Powszechnie stosowane kolory to zielony, niebieski, pomaraòczowy i br¹zowy oraz bia³y z kolorem lub bia³y. Pary s¹ oznaczone nastípuj¹co: Para #1 bia³o-niebieski, niebieski Para #2 bia³o-pomaraòczowy, pomaraòczowy Para #3 bia³o-zielony, zielony Para #4 bia³o-br¹zowy, br¹zowy. Waøne jest odpowiednie pod³¹czenie par do stykûw wtyku RJ45. Rozk³ad i numeracjí stykûw we wtyku RJ45 pokazano na rys. 1. Standard EIA/TIA568A okreúla nastípuj¹cy sposûb pod³¹czenia przewodûw: Styk 1 bia³o-zielony Styk 2 zielony Styk 3 bia³o-pomaraòczowy Styk 4 niebieski Styk 5 bia³o-niebieski Styk 6 pomaraòczowy Styk 7 bia³o-br¹zowy Styk 8 br¹zowy czyli Styki 1, 2 para #3 Styki 3, 6 para #2 Styki 5, 4 para #1 Styki 7, 8 para #4 Natomiast wed³ug standardu EIA/TIA568B ³¹czymy w pary: Projekt 114 Styk 1 bia³o-pomaraòczowy Styk 2 pomaraòczowy Styk 3 bia³o-zielony Styk 4 niebieski Styk 5 bia³o-niebieski Styk 6 zielony Styk 7 bia³o-br¹zowy Styk 8 br¹zowy czyli Styki 1, 2 para #2 Styki 3, 6 para #3 Styki 5, 4 para #1 Styki 7, 8 para #4 Rys. 1. Rozmieszczenie styków we wtyku złącza RJ45 101

11 P R O J E K T Y C Z Y T E L N I K Ó W Rys. 2. Schemat elektryczny części głównej testera LAN 2RJ Takie pod³¹czenie zapewnia poprawn¹ prací z szybkoúci¹ 100 Mbd. W przypadku, gdy zainstalowane urz¹dzenia sieciowe pracuj¹ jedynie z szybkoúci¹ 10 Mbd, wystarczy wykonaê kable wed³ug standardu 10Base-T. Wykorzystuje sií wûwczas tylko dwie pary do przesy³ania sygna³ûw tj. #2 oraz #3. Pary #1 i #4 s¹ niewykorzystane i nie musz¹ byê pod³¹czone. Pary te moøna wykorzystaê do przesy³ania sygna³ûw np. do drugiego gniazdka LAN. Przyrz¹d, ktûry zaprojektowa³em i zbudowa³em, sprawdza poprawnoúê pod³¹czenia kolejnych przewodûw do odpowiednich stykûw z³¹cza RJ45. Urz¹dzenie jest uniwersalne i nie jest istotne dla niego, w jakim standardzie jest wykonany kabel. Sprawdza jedynie, czy przewody nie s¹ zwarte, rozwarte lub pomylone. Testowany jest zawsze pojedynczy przewûd w danym czasie. Wys³anie impulsu testowego do danego przewodu sygnalizowane jest zaúwieceniem diody LED opisuj¹cej ten przewûd. Weryfikacja poprawnoúci wykonania sieci jest wizualna. Przyrz¹d sk³ada sií z dwûch czíúci. G³Ûwna - generator sygna³ûw testowych i druga - pítla zamykaj¹ca testowan¹ linií. Schemat elektryczny g³ûwnej czíúci pokazano na rys. 2. Urz¹dzenie zbudowane jest w oparciu o dwa uk³ady scalone CMOS. Uk³ad scalony IC1 typu 4047 pe³ni rolí generatora astabilnego i jednoczeúnie monostabilnego. Zastosowa³em tutaj interesuj¹ce rozwi¹zanie, umoøliwiaj¹ce ríczne prze³¹czanie multiwibratora z trybu astabilnego do monostabilnego. PowrÛt do trybu astabilnego nastípuje automatycznie. Naciúniecie przycisku S1 powoduje na³adowanie kondensatora C2 przez diodí D1 i prze³¹czenie multiwibratora w tryb monostabilny. Kolejne naciskanie przycisku S1 powoduje podtrzymywanie tego stanu i generowanie pojedynczego impulsu na wyjúciu Q. Gdy przycisk S1 nie bídzie naciskany przez czas powyøej 2 s, kondensator C2 roz³aduje sií przez rezystor R2 i multiwibrator prze³¹czy sií w stan astabilny. Na wyjúciu Q pojawi sií fala prostok¹tna. Impulsy z wyjúcia Q uk³adu IC1 s¹ doprowadzone do wejúcia CLK uk³adu IC2. Uk³ad scalony IC2 to licznik Johnsona z dekoderem 1 z 10 typu Doprowadzone impulsy do wejúcia CLK powoduj¹ przesuwanie logicznej jedynki na kolejne wyjúcia - od Q0 do Q9 do Q0 itd. Wyjúcia Qx uk³adu IC2 doprowadzono przez rezystory zabezpieczaj¹ce R7 do R15 do kolejnych stykûw gniazda RJ45. Jednoczeúnie wyjúcia Q0 do Q8 s¹ pod³¹czone do linijki LED, ktûra bídzie nas informowaê zaúwieceniem odpowiedniej diody, do ktûrego styku jest obecnie doprowadzony sygna³. Przyrz¹d zaprojektowano na dwustronnej p³ytce drukowanej o wymiarach 84x66 mm. Ca³oúÊ mieúci sií w standardowej obudowie plastikowej typu KM-33B z pojemnikiem na baterie 9 V. Moøna rûwnieø go umieúciê w dowolnej innej obudowie o wymiarach 118x74x29 mm. Druga czíúê przyrz¹du to modu³ pítli zamykaj¹cej testowane linie. Zbudowany jest z zespo³u diod LED. Zastosowa³em tutaj linijkí LED-Ûw tego samego typu co w czíúci g³ûwnej. Kaøda dioda LED jest zbocznikowana diod¹ impulsow¹ odwrotnie spolaryzowan¹. Schemat ideowy przedstawiony jest na rys. 3. Modu³ ten zosta³ zaprojektowany na jednostronnej p³ytce drukowanej o wym. 29x34 mm. Modu³ pítli zamykaj¹cej zakoòczony jest bezpoúrednio wtykiem RJ45 z ekranem lub bez, w zaleønoúci jak¹ wersjí przyrz¹du wykonamy. WYKAZ ELEMENTÓW Rezystory R1, R2: 1MΩ R3: 10kΩ R4, R6: 1kΩ R5: 220kΩ R7...R15: 470Ω Kondensatory C1: 100nF C2: 10µF C3: 22nF Półprzewodniki IC1: CD4047 IC2: CD linijki z 10 diodami LTA1000E, GBG diod 1N4148 Różne Gniazdko RJ45 do druku w ekranie lub bez Przełącznik monostabilny (zwierający) Wtyk RJ45 z ekranem lub bez Kawałek kabla skrętki UTP, STP, FTP Kompletny przyrz¹d jest zdatny do stosowania przez instalatorûw sieci LAN, dla ktûrych jest przeznaczony. Do testowania kabli zakoòczonych z obu stron wtykami RJ45 naleøy zastosowaê adapter z dwoma gniazdami RJ45. Leszek Gorzelnik leszekgorzelnik@interia.pl Rys. 3. Schemat elektryczny części zamykającej testowaną linię 102 2/98

12 K U R S Podstawy projektowania systemów mikroprocesorowych, część 10 Buduj¹c urz¹dzenie wykorzystuj¹ce mikrokontroler, musimy pomyúleê rûwnieø o pewnej liczbie elementûw wspû³pracuj¹cych, ktûre realizuj¹ potrzebne nam funkcje. W niektûrych sytuacjach wystarczaj¹ce staje sií siígniície do zasobûw sprzítowych wykorzystywanego mikrokontrolera, co jest bardzo korzystne zarûwno ze wzglídûw komplikacji i niezawodnoúci urz¹dzenia, jak i jego ceny. Chociaø omawiane modele mikrokontrolerûw '51 to jedne z uboøszych reprezentantûw tej rodziny, to czísto ich moøliwoúci wystarczaj¹ zupe³nie do zrealizowania ca³ego urz¹dzenia bez dodatkowych uk³adûw peryferyjnych. SzczegÛ³owe opisy funkcjonowania uk³adûw peryferyjnych wbudowanych w mikrokontroler znajdzie Czytelnik w specyfikacjach producenta, tutaj przedstawimy prací tych uk³adûw w najczíúciej wykorzystywanych przypadkach. Komunikacja szeregowa W zwi¹zku z ogromnym rozpowszechnieniem sií komputerûw klasy PC, budowane obecnie systemy mikroprocesorowe maj¹ zazwyczaj moøliwoúê komunikacji z komputerem nadrzídnym. Czasami zachodzi teø koniecznoúê wspû³pracy kilku komunikuj¹cych sií mikrokontrolerûw. W takich wypadkach najczíúciej wykorzystuje sií transmisjí szeregow¹ z wykorzystaniem wbudowanego w wiíkszoúci mikrokontrolerûw '51 uk³adu transmisji szeregowej. Wykorzystanie takiego, a nie innego úrodka komunikacji ma tí zaletí, øe realizacja transmisji szeregowej jest obs³ugiwana sprzítowo - odpada zatem koniecznoúê pisania odpowiednich procedur obs³ugi, a co za tym idzie nie musimy rezerwowaê odpowiedniej mocy obliczeniowej procesora na obs³uøenie transmisji. W przypadku mikrokontrolerûw rodziny '51 najczíúciej wykorzystuje sií uk³ad transmisji szeregowej skonfigurowany do pracy w trybie 1. Tak zaprogramowany port szeregowy pracuje asynchronicznie, wykorzystuj¹c do nadawania linií TxD, a do odbioru linií RxD. Dane transmitowane s¹ w standardowym formacie 10-bitowym (bit startu - 0, osiem bitûw danych, bit stopu - 1). Jeøeli øadne dane nie s¹ przesy³ane, to obydwie linie pozostaj¹ w stanie wysokim. PrÍdkoúÊ transmisji jest ustawiana programowo poprzez odpowiednie zaprogramowanie licznika T1 - naleøy zatem zwrûciê uwagí na czístotliwoúê taktowania mikrokontrolera, gdyø nie zawsze bídzie moøna uzyskaê standardowe prídkoúci transmisji. W przypadku urz¹dzeò wykorzystuj¹cych transmisjí szeregow¹ najczíúciej wykorzystuje sií czístotliwoúê kwarcu rûwn¹ 11,0592 MHz pozwalaj¹c¹ na uzyskanie wiíkszoúci standardowych prídkoúci do bd. Dla uk³adu licznikowego T1 wykorzystywanego w trybie 2 (automatyczne prze³adowywanie) zawartoúê rejestru TH1 (wartoúê licznika po prze³adowaniu) moøna wyznaczyê z zaleønoúci (dla podanej czístotliwoúci kwarcu): TH1= /V (dla bitu SMOD=0, V - prídkoúê transmisji w bodach) lub TH1= /V (dla SMOD=1). Bit SMOD (rejestr PCON) jest bitem konfiguracyjnym uk³adu transmisji szeregowej obs³uguj¹cym blokadí wewnítrznego dzielnika przez dwa czístotliwoúci okreúlaj¹cej szybkoúê transmisji. W tab. 1 przedstawiono wartoúci prze³adowania licznika T1 w zaleønoúci od oczekiwanej prídkoúci transmisji. Do programowej obs³ugi uk³adu transmisji szeregowej wykorzystywane s¹ rejestry: SCON - s³uø¹cy do konfiguracji i obs³ugi transmisji oraz SBUF - bíd¹cy jednobajtowym buforem nadajnika i odbiornika. Dodatkowo wykorzystywany jest teø omûwiony wczeúniej bit SMOD rejestru PCON. Znaczenie i po³oøenie bitûw steruj¹cych rejestru SCON moøna znaleüê w specyfikacji Nas interesowaê tutaj bíd¹ jedynie bity: SM0 i SM1 - decyduj¹ce o trybie pracy - dla trybu 1 bíd¹ ustawione odpowiednio na 0 i 1. REN - bit w³¹czaj¹cy (dla REN=1) odbiornik uk³adu transmisji szeregowej. RI - bit ustawiany sprzítowo na 1 po odebraniu bajtu. TI - bit ustawiany sprzítowo na 1 po zakoòczeniu nadawania bajtu. Programowa realizacja wys³ania czy odebrania bajtu z uk³adu transmisji szeregowej jest niezmiernie prosta. Polega ona jedynie na odpowiednim skonfigurowaniu portu oraz sprawdzaniu stanu bitûw RI i TI. Przy odbiorze danych naleøy sprawdzaê stan bitu RI i w przypadku pojawienia sií stanu 1 naleøy odczytaê odebran¹ informacjí z rejestru SBUF oraz wyzerowaê bit RI. W miarí bezzw³oczny odczyt odebranego bajtu jest konieczny ze wzglídu na moøliwoúê zamazania jego zawartoúci przez kolejny odebrany bajt (na odczyt mamy w najgorszym przypadku czas rûwny czasowi transmisji ca³ego bajtu). W przypadku nadawania wystarczy zapisaê dan¹ do transmisji do rejestru SBUF - proces transmisji szeregowej rozpocznie sií Tab. 1 98

13 K U R S Rys. 34 automatycznie. Po zakoòczeniu transmisji zostanie ustawiony bit TI, ktûrego sprawdzanie pozwala na stwierdzenie gotowoúci uk³adu do transmisji kolejnej danej. Po programowym wyzerowaniu TI moøna do SBUF wpisaê kolejn¹ dan¹ do przes³ania (zerowanie TI nie jest konieczne do rozpoczícia kolejnej transmisji, umoøliwi nam jednak okreúlenie chwili jej zakoòczenia). W mikrokontrolerach '51 ustawienie bitûw RI lub TI moøe rûwnieø byê ürûd³em przerwania, jednak brak jest sprzítowej moøliwoúci rozstrzygniícia, ktûry bit wywo³a³ przerwanie (trzeba to sprawdziê programowo na pocz¹tku procedury obs³ugi przerwania, rûwnieø programowo trzeba wyzerowaê dany bit przed opuszczeniem procedury obs³ugi przerwania). Na list. 13 pokazano prosty program przeznaczony do odbioru dwubajtowych paczek danych. Kaødy z dwûch odebranych bajtûw zostaje zapamiítany w odríbnej komûrce pamiíci. Do rozstrzygniícia, ktûry bajt jest odbierany, wykorzystywana jest zmienna bitowa BYL1 ustawiana w chwili odebrania pierwszego bajtu i zerowana po odebraniu drugiego. Program ten mûg³by zostaê napisany tak, aby bezpoúrednio po odebraniu pierwszego bajtu oczekiwaê na nadejúcie kolejnego, jednak naleøy pamiítaê o tym, øe prídkoúê transmisji zawsze bídzie duøo niøsza od prídkoúci wykonywania programu, wiíc takie bezczynne oczekiwanie jest bezcelowe i marnuje moc obliczeniow¹ mikrokontrolera. Drugi przedstawiony program (list. 14) jest kompletnym oprogramowa- List. 13 ;Konfiguracja MOV TMOD,#020H ;licznik T1 w trybie 2 MOV PCON,#080H ;ustawienie bitu SMOD=1 w rej. PCON MOV TL1,#250 MOV TH1,#250 ;prędkość transmisji 9600 CLR SM0 ;ustawienie SETB SM1 ;trybu pracy 1 CLR RI SETB TR1 SETB REN ;wyzerowanie flagi ;włączenie licznika T1 ;włączenie odbiornika CLR BYL1 ;wyzerowanie flagi odbioru bajtu 1 ;Podprogram obsługi odbioru ODBIERZ: JB RI,JEST1 RET JEST1: CLR RI JB BYL1,JEST2 ;sprawdzenie czy nadeszła dana ;i powrót do programu głównego jeśli nie ;wyzerowanie flagi ;sprawdzenie czy wcześniej odebrano pierwszy bajt, ;jeśli tak to skok do odbioru bajtu 2 SETB BYL1 ;ustawienie flagi odbioru pierwszego bajtu MOV PIERWSZY,SBUF ;zapamiętanie zawartości bufora w komórce pamięci ;zadeklarowanej jako PIERWSZY RET ;powrót do programu głównego JEST2: CLR BYL1 ;wyzerowanie flagi (następny będzie bajt pierwszy) MOV DRUGI,SBUF ;zapamiętanie drugiego odebranego bajtu RET ;powrót do programu głównego niem przeznaczonym dla prostego uk³adu testera portu RS-232. Realizuje on bardzo prosty algorytm polegaj¹cy na odsy³aniu odebranego bajtu i pozwalaj¹cy w ten sposûb sprawdziê dzia³anie komunikacji pomiídzy urz¹dzeniami. Po w³¹czeniu zasilania nastípuje wys³anie przez uk³ad transmisji szeregowej tekstu ìokî. Transmisja odbywa sií z prídkoúci¹ (dla kwarcu 11,0592 MHz). Przy wykorzystywaniu portu szeregowego do po³¹czenia z komputerem PC naleøy pamiítaê, øe standard RS-232 wykorzystuje inne poziomy napiíê niø stosowany przez mikrokontrolery standard TTL. W celu po³¹czenia konieczne staje sií wykorzystanie dodatkowego uk³adu zapewniaj¹cego konwersjí. Moøna do tego wykorzystaê rûøne metody, pocz¹wszy od tranzystorûw i bramek CMOS, jednak obecnie najczíúciej wykorzystuje sií scalony konwerter poziomûw MAX232 (lub zamiennik), ktûry ma tí ogromn¹ zaletí, øe zasilany standardowym napiíciem +5V sam troszczy sií o wytworzenie napiícia dodatniego i ujemnego zgodnego ze standardem RS-232 oraz jest stosunkowo tani i ³atwo dostípny. Schemat takiego konwertera pokazano na rys. 34. Niekiedy do uzyskania komunikacji mikrokontrolera z komputerem PC naleøy zadbaê o po³¹czenie ze sob¹ od strony z³¹cza RS-232 PC-ta wyprowadzeò RTS-CTS oraz DTR-DSR-DCD (rys. 35), informuj¹cych komputer o gotowoúci mikrokontrolera do odbioru/ nadawania danych (uk³ad transmisji szeregowej '51 nie jest wyposaøony w funkcjí sprzítowego blokowania transmisji - transmisja moøe byê kontrolowana jedynie na drodze programowej). Oczywiúcie naleøy rûwnieø zadbaê o ustawienie identycznej prídkoúci transmisji, gdyø w przeciwnym wypadku prawid³owy przesy³ danych nie bídzie moøliwy. Jeøeli transmisja szeregowa bídzie wykorzystywana do komunikacji pomiídzy dwoma mikrokontrole- 99

14 K U R S rami, wûwczas sposûb ich po³¹czenia zaleøny jest od odleg³oúci ³¹cz¹cego je przewodu. Jeøeli ograniczymy sií do po³¹czenia nie d³uøszego niø 1...2m (zw³aszcza przy niskich prídkoúciach, nieprzekraczaj¹cych 9600 bd), moøemy wtedy pozostaê przy standardzie TTL i bezpoúrednio po³¹czyê pomiídzy sob¹ wyprowadzenia RxD i TxD mikrokontrolerûw (RxD jednego z TxD drugiego) oraz po³¹czyê masy obu urz¹dzeò. Dodatkowo naleøy zastosowaê rezystory podci¹gaj¹ce te linie do Vcc o rezystancji 1...2kΩ ze wzglídu na koniecznoúê szybszego prze³adowania stosunkowo duøej pojemnoúci przewodu po³¹czeniowego. Jeøeli odleg³oúê bídzie wiíksza, to nic nie stoi na przeszkodzie, aby zastosowaê dwa identyczne uk³ady konwertera omûwionego wyøej. Dla duøo wiíkszych odleg³oúci (powyøej 20 m) moøe staê sií konieczne zastosowanie innego standardu - moøe to byê np. RS-485 lub inny wykorzystuj¹cy magistralí symetryczn¹. Pawe³ Hadam, EP pawel.hadam@ep.com.pl List. 14 ;;Program testujący port szeregowy ;;Konfiguracja MOV TMOD,#020H ;licznik T1 w trybie 2 MOV PCON,#080H ;ustawienie bitu SMOD=1 w rej. PCON MOV TL1,#255 MOV TH1,#255 ;prędkość transmisji CLR SM0 ;ustawienie SETB SM1 ;trybu pracy 1 CLR RI SETB TI SETB TR1 SETB REN ;;Transmisja OK MOV SBUF,#79 CLR TI JNB TI,$ MOV SBUF,#75 CLR TI ;;Pętla główna PETLA: JNB RI,$ CLR RI MOV R7,SBUF JNB TI,$ MOV SBUF,R7 CLR TI SJMP PETLA ;wyzerowanie flagi (nic nie odebrano) ;ustawienie flagi (gotowy do nadawania) ;włączenie licznika T1 ;włączenie odbiornika ;wysłanie kodu ASCII znaku O ;wyzerowanie flagi ;oczekiwanie na zakończenie transmisji ;poprzedniego bajtu ;wysłanie kodu ASCII znaku K ;wyzerowanie flagi ;sprawdzanie czy odebrano bajt, jeśli nie, to czekaj ;wyzerowanie flagi ;zapamiętanie danej w rejestrze ;czekaj, jeśli jeszcze nadaje ;nadanie zapamiętanej danej ;wyzerowanie flagi ;skok na początek 100

15 B A S C O M O W E P O R A D Y W bascomowym kąciku będziemy się starać w miarę przystępnie przedstawiać rozwiązania problemów napotykanych przez naszych Czytelników podczas pisania programów w Bascomie. Rubryka ta powstała z myślą o rozwiązywaniu problemów, jakie najczęściej napotykają programiści, zatem zachęcamy wszystkich Czytelników do zgłaszania problemów, na jakie się natknęli podczas tworzenia własnych programów. Timery to nie musi być trudne, część 1 WiÍkszoúÊ wspû³czesnych mikrokontrolerûw jest wyposaøona w co najmniej jeden licznik-timer. Mikrokontrolery AVR w wiíkszoúci przypadkûw maj¹ ich dwa. Pierwszy jest zazwyczaj prostym timerem 8- bitowym, natomiast drugi to 16-bitowy timer z dodatkowymi funkcjami: compare (porûwnania), capture (przechwytywania) oraz z moøliwoúci¹ generowania sygna³ûw PWM. W artykule szczegû³owo opiszemy na przyk³adach sposûb uøycia timerûw 0 oraz 1 wystípuj¹cych w wiíkszoúci mikrokontrolerûw AVR. Naleøy mieê na uwadze, øe by mûc dobrze stosowaê timery naleøy znaê ich budowí w wykorzystywanym mikrokontrolerze oraz ich dzia³anie. W kaødym z mikrokontrolerûw AVR funkcje timerûw mog¹ sií rûøniê. Na pocz¹tek kilka s³ûw wstípu. Modu³y licznikowe w mikrokontrolerach AVR mog¹ pracowaê w dwûch podstawowych trybach: jako timer (czasomierz) oraz jako counter (licznik). Pocz¹tkuj¹cy programiúci najwiícej problemûw maj¹ najczíúciej problemy z okreúleniem, co ile czasu wywo³ane bídzie przerwanie, a w zwi¹zku z tym jaki dok³adnie bídzie odmierzony czas przy okreúlonych nastawach modu³ûw licznikowych. WystÍpuje tu wspû³zaleønoúê trzech parametrûw: - czístotliwoúci oscylatora (najczíúciej kwarcu), - konfiguracji preskalera (timery zawarte w mikrokontrolerach posiadaj¹ preskaler, dziíki ktûremu Rys. 1 moøliwe jest zmniejszenie czístotliwoúci taktuj¹cej), - wartoúci pocz¹tkowej za³adowanej do rejestru timera. W Bascomie Timer0 moøna skonfigurowaê instrukcj¹ config timer0. Sk³adnia tej instrukcji jest nastípuj¹ca: W trybie czasomierza: CONFIG TIMER0 = COUNTER, EDGE = RISING FALLING W trybie licznika: CONFIG TIMER0 = TIMER, PRESCALE = Kiedy Timer0 jest skonfigurowany do pracy w charakterze licznika (parametr TIMER0=COUNTER) wtedy naleøy okreúliê parametr EDGE. Okreúla on czy licznik bídzie zwiíkszany wraz z pojawieniem sií narastaj¹cego zbocza sygna³u (RI- SING) lub opadaj¹cego (FALLING). Gdy Timer0 jest skonfigurowany do pracy w charakterze czasomierza (parametr TIMER0=TIMER) wtedy zamiast parametru EDGE naleøy okreúliê parametr PRESCALE, ktûry wyznacza wspû³czynnik podzia³u czístotliwoúci sygna³u zegarowego. Kaødy modu³ licznikowy w mikrokontrolerach AVR moøe byê w dowolnej chwili zatrzymany instrukcj¹ STOP TIMERx. Ponowne uruchomienie licznika nast¹pi po wykonaniu instrukcji START TIMERx. Kaødy z timerûw moøe zg³aszaê przerwania. W przypadku Timera0 przerwanie jest zg³aszana jedynie po jego przepe³nieniu. Przerwanie to moøna wykorzystaê do odmierzania doúê dok³adnych jednostek czasowych. DziÍki temu moøna timery oraz generowane przez nie przerwania wykorzystaê do budowy zegarûw lub innych zadaò, dla ktûrych precyzyjne odmierzanie czasu ma znaczenie priorytetowe (np. multipleksowania wyúwietlaczy np. LED czy matrycowych). Aby zilustrowaê dzia³anie pracy timerûw, na rys. 1 przedstawiono schemat prostego systemu z do³¹czonym do mikrokontrolera (do wyjúcia PB1) diod¹ LED. CzÍúÊ przyk³adûw w dalszej czíúci tego artyku³u bídzie powodowaê w³¹czanie i wy³¹czanie diody LED, co odmierzony przez timery czas. Na list. 1 przestawiono przyk³ad odmierzania przez Timer0 w przerwaniu 1-sekundowych odcinkûw czasu. Przedstawiony program powoduje zmianí stanu na wyjúciu steruj¹cym diodí LED dok³adnie co 1 sekundí. W tym przyk³adzie Timer0 skonfigurowano jako czasomierz z ustawionym preskalerem na podzia³ przez 64, czyli licznik bídzie zlicza³ impulsy o czístotliwoúci 8 MHz/64 = 125 khz. Aby uzyskaê czístotliwoúê 1 Hz naleøy pobieliê czístotliwoúê 125 khz przez 250, nastípnie przez 500. Wartoúci te umoøliwiaj¹ podzia³ czístotliwoúci 125 khz bez øadnych czíúci u³amkowych, co gwarantuje odmierzenie dok³adnego czasu. Poniewaø licznik Timer0 jest 8-bitowy (liczy od 0 do 255), tak wiíc by liczy³ do 250 (przerwanie by³o wywo³ywane co 250 odliczonych impulsûw) naleøy skrûciê jego cykl, poprzez za³adowanie do niego po kaødym przepe³nieniu wartoúê 6. Aby odliczyê 1 sekundí naleøy wprowadziê dodatkow¹ zmienn¹, ktûra bídzie liczyê przerwania od przepe³nienia Timer0. Zliczenie 500 takich przerwaò bídzie oznaczaê odliczenie dok³adnie 1 sekundy. WartoúÊ pocz¹tkow¹ do timera0 moøna za³adowaê instrukcj¹: TIMER0 = wartość lub instrukcj¹ COUNTER0 = wartość gdzie wartoúê to liczba od ktûrej timer zlicza ìw gûríî. Przyk³adowo polecenie TIMER0 = 16 spowoduje 95

16 B A S C O M O W E P O R A D Y List. 1. Przykład obsługi Timera 0 do odmierzania 1 sekundowych odcinków czasu 'Przykład programu odmierzającego 1 sekundowe odcinki czasu z wykorzystaniem timer0 'Timer0 będzie odmierzał dokładnie 1 sekundę 8MHz/64/250/500 = 1 sekunda $regfile = "m8def.dat" $crystal = odliczenie =240 taktûw. Obie sk³adnie instrukcji dzia³aj¹ podobnie. W Bascom AVR wystípuje takøe instrukcja: LOAD TIMERX = wartość W tym przypadku wartoúê oznacza liczbí impulsûw jakie timer zliczy do przepe³nienia. Instrukcja ta wykonuje operacjí matematyczn¹ (dla Timera0 jest to 256-wartoúÊ) oraz ³aduje obliczona wartoúê do rejestru timera. Jeøeli potrzebne jest odliczenie 240 impulsûw to instrukcja ta za³aduje do timera wartoúê 16 ( ). Jak widaê za pomoc¹ tej instrukcji moøna bezpoúrednio podaê liczbí impulsûw ktûre ma zliczyê licznik. Oczywiúcie instrukcja ta wystípuje dla wszystkich timerûw, a x oznacza numer timera. Przy wiíkszych wartoúciach preskalera - np trudno bídzie dobraê odpowiedni¹ wartoúê pocz¹tkow¹ tak, øeby uzyskaê ìokr¹g³yî odstíp czasowy. Tak wiíc, ustawiona wartoúê podzia³u preskalera przez 64 i pocz¹tkowa wartoúê timera 6 spowoduj¹, øe przerwania bíd¹ wywo³ywane dok³adnie co 2 ms. Tak wiíc zliczenie 500 takich przerwaò da jedn¹ sekundí. W programie pokazanym na list. 1 zmienna licznik uøyta zosta³a do zliczania przerwaò od przepe³nienia Timera0. W kaødym przerwaniu od przepe³nienia Timera0 naleøy za- 'rejestry mikrokontrolera atmega8 'częstotliwość taktowania mikrokontrolera Config Pinb.1 = Output 'linia pb1 jako wyjście Config Timer0 = Timer, Prescale = 64 'deklaracja timera jako czasomierza 'z prescalerem 64 On Timer0 Przerwanie_co_2ms 'deklaracja jaka etykieta obsługuje 'przepełnienie od timer0 Led Alias Portb.1 'alias dla wyjścia b.1 Dim Licznik As Integer Enable Interrupts Enable Timer0 Timer0 = 6 Licznik = 0 Do Loop End Przerwanie_co_2ms: wywolywanego co 2 ms Counter0 = Counter0 + 6 Incr Licznik If Licznik = 500 Then Toggle Led Licznik = 0 End If Return 'zmienna licznikowa 'odblokowanie globalnych przerwań 'odblokowanie przerwania od przepełnienia timer0 'wpisanie wartości początkowej 6 do timera, 'czyli timer będzie zliczał 250 (256-6) impulsów 'wyzerowanie zmiennej licznikowej 'petla główna programu 'koniec programu 'podprogram przerwania od przepełnienia timer0 'ustawienie początkowej wartości timera0 poprzez 'dodanie do niego wartości 6 (odliczone zostanie 'dokładnie kolejne 250 impulsów) 'zwiększenie licznika 'jeśli zmienna licznik równa się 500 (czyli 'odliczone zostało 500*2ms=1sek), to 'zmień na przeciwny stan wyjścia led 'wyzeruj zmienną licznik 'powrót z przerwania ³adowaÊ do niego wartoúê pocz¹tkowa, dziíki czemu za kaødym razem zostanie odliczone 250 impulsûw. W programie wartoúê pocz¹tkowa wpisywana do rejestru Timera0 nie zosta³a wprost za³adowana lecz dodana. Umoøliwia to odmierzanie dok³adnych czasûw. W przypadku za³adowania w przerwaniu wartoúci pocz¹tkowej do Timera0 naleøa³oby List. 2. Przykład odmierzania czasu 1 sekundy przez Timer1 'Przykład programu odmierzającego 1 sekundowe odcinki czasu z wykorzystaniem timer1 'Timer1 będzie odmierzał dokladnie 1 sekundę 8MHz/256/31250 = 1 sekunda 'wartość wynika z czyli zostanie odliczonych impulsów 'do przerwania $regfile = "m8def.dat" $crystal = 'rejestry mikrokontrolera atmega8 'częstotliwość taktowania mikrokontrolera Config Pinb.1 = Output 'linia pb1 jako wyjście Config Timer1 = Timer, Prescale = 256 ' deklaracja timera 1 jako czasomierza 'z prescalerem 64 On Timer1 Przerwanie_co_1sek 'deklaracja przerwania od przepełnienia timera 1 'aliasy Led Alias Portb.1 'dioda obrazuje wywołanie przerwania Enable Interrupts Enable Timer1 Timer1 = Do Loop End Przerwanie_co_1sek: Timer1 = Timer Toggle Led Return uwzglídniê czas jaki up³yn¹³ od zg³oszenia przerwania do chwili jego obs³ugi, gdyø Timer0 pracuje ca- ³y czas. Wtedy, w celu zwiíkszenia dok³adnoúci, do rejestru timera naleøa³oby za³adowaê wartoúê inn¹ niø 6. Obliczenie dok³adnej wartoúci ³adowanej zmiennej moøe byê trudne, a dodanie wartoúci pocz¹tkowej zamiast jej przypisania doskonale rozwi¹zuje ten problem. W programie z list. 1, gdy zmienna ìlicznikî osi¹gnie wartoúê 500 (odliczenie 1 sekundy) jest ona zerowana oraz zmieniany jest na przeciwny stan wyjúcia steruj¹cego diodí LED. W przypadku korzystaniu z przerwaò naleøy obowi¹zkowo w programie odblokowaê przerwania globalne oraz przerwanie uøywane. W przypadku przerwania od przepe³nienia Timera0 bídzie to instrukcja ENABLE TIMER0. Bardziej rozbudowany niø Timer0, a co za tym idzie oferuj¹cy wiíksz¹ liczbí funkcji jest Timer1, ktûry jest licznikiem 16-bitowym (zlicza do impulsûw). Ma on takøe dodatkowe funkcje i zwi¹zane z nimi dodatkowe przerwania. Sk³adnia instrukcji konfiguruj¹cej Timer1 jest nastípuj¹ca: W trybie licznika: CONFIG TIMER1 = COUNTER, EDGE = RISING FALLING, NOICE CANCEL = 0 1, CAPTURE EDGE = RISING FALLING, COMPARE A = SET CLEAR TOGGLE DISCONNECT, COMPARE B = SET CLEAR TOGGLE DISCONNECT, CLEAR TIMER = 0 1 'wpisanie wartości do timera 'pętla główna programu 'koniec programu 'podprogram przerwania od przepełnienia timer1 'wywoływanego co 1 sekunde 'ustawienie początkowej wartości timera1 poprzez 'dodanie do niego wartości (odliczone 'zostanie dokładnie kolejne = 'impulsów) 'ustawienie początkowej wartości timera 'zmień na przeciwny stan wyjscia LED 'powrót z przerwania 96

17 B A S C O M O W E P O R A D Y W trybie czasomierza: CONFIG TIMER1 = TIMER, PRESCALE = , CAPTURE EDGE = RISING FALLING, COMPARE A = SET CLEAR TOGGLE DISCONNECT, COMPARE B = SET CLEAR TOGGLE DISCONNECT, CLEAR TIMER = 0 1 W trybie generatora PWM: CONFIG TIMER1 = PWM, PWM = , COMPARE A PWM = CLEAR UP CLEAR DOWN DISCONNECT, COMPARE B PWM = CLEAR UP CLEAR DOWN DISCONNECT Dla Timera1 moøna skonfigurowaê nastípuj¹ce parametry: EDGE - ma takie samo znaczenie jak w przypadku Timera0. CAPTURE EDGE - moøna okreúliê czy zawartoúê licznika ma byê przechwytywana do rejestru CAP- TURE1 wraz z narastaj¹cym (RI- SING) lub opadaj¹cym zboczem (FALLING) sygna³u pojawiaj¹cego sií na koòcûwce ICP (lub teø na wyjúciu komparatora analogowego). NOICE CANCEL - Moøna okreúliê czy licznik ma byê odporny na drobne zak³ûcenia sygna³u wejúciowego. Wpisanie 1 w³¹cza ta opcjí. CLEAR TIMER - Wpisanie ì1î w³¹cza funkcjí automatycznego kasowania zawartoúci licznika jeúli porûwnanie zawartoúci licznika z rejestrem COMPARE1A lub COMPARE1B da³o wynik pozytywny. PRESCALE - ma takie samo znaczenie jak dla Timer0. COMPAREx - okreúla tryb pracy rejestrûw COMPARE1A lub COM- PARE1B. SET - koòcûwka OC1x zostanie ustawiona w stan wysoki. CLEAR - koòcûwka OC1x zostanie ustawiona w stan niski. TOGGLE - stan koòcûwki OC1x zostanie zmieniony na przeciwny. DISCONNECT - stan koòcûwki OC1x nie bídzie zmieniany. PWM - okreúla rozdzielczoúê generatora w bitach. Moøliwe s¹ wartoúci 8, 9 i 10 bitûw. COMPARE A PWM, COMPARE B PWM - okreúla tryb pracy generatora PWM. CLEAR DOWN w³¹cza tryb normalny - im mniejsza liczba w rejestrze COMPARE1x tym krûcej trwa stan wysoki na wyjúciu impulsûw PWM. CLEAR UP w³¹cza tryb odwrûcony - im mniejsza liczba w rejestrze COMPARE1x tym krûcej trwa stan niski na wyjúciu impulsûw PWM. Podanie DISCONNECT powoduje, øe odpowiednia koòcûwka - OC1A lub OC1B - przestanie byê wyjúciem impulsûw PWM. Jak wspomniano, timery w mikrokontrolerach AVR mog¹ sií rûøniê i nie wszystkie mikrokontrolery posiadaj¹ rejestr COMPARE1B licznika TIMER1. Wykorzystanie Timer1 jako czasomierza umoøliwi bezpoúrednie odmierzenia czasu 1 sekundy bez udzia³u dodatkowej zmiennej ze wzglídu na jego 16 bitow¹ pojemnoúê. Na list. 2 przedstawiono przyk³adowy program odmierzaj¹cy 1 sekundí z wykorzystaniem Timera1. Program ten robi to samo co poprzedni, czyli zapala i gasi co sekundí diodí LED. W tym przyk³adzie czístotliwoúê rezonatora jest dzielona (przez preskaler) przez 256, natomiast Timer1 do wywo³ania przerwania zlicza impulsûw. Czyli przerwanie od przepe³nienia Timera1 bídzie wywo³ywane co 8 MHz/256/3125 = 1 czyli co 1 sekundí. W tym programie dla zwiíkszenia dok³adnoúci odmierzanego czasu wartoúê pocz¹tkowa jest dodawana do stanu licznika a nie wpisywana bezpoúrednio. Na koniec opisu funkcji czasomierza jedna praktyczna uwaga: nie naleøy przesadzaê z czístotliwoúci¹ wywo³ywania przerwania, czyli naleøy - o ile jest to moøliwe - korzystaê z najwyøszych wspû³czynnikûw podzia³u czístotliwoúci przez preskaler. Jest to istotne, by obs³uga przerwania nie zají³a ca³ej mocy obliczeniowej mikrokontrolera. Marcin Wi¹zania marcin.wiazania@ep.com.pl Artur Starz artur.starz@ep.com.pl 97

18 Programowe interpretery poleceń w C K U R S Na pocz¹tek konwersja typûw NiektÛrzy z CzytelnikÛw z ca³¹ pewnoúci¹ zetkníli sií z jízykiem programowania Pascal oraz specyficznym typem zmiennych tzw. typem proceduralnym. W duøym uproszczeniu polega³ on na tym, øe odwo³anie do zmiennej mia³o podobne konsekwencje jak wywo³ania procedury. Kompilator jízyka C nie oferuje podobnego typu zmiennych, a momentami by³by on bardzo przydatny. Ot chociaøby do konstrukcji opisywanego w poprzedniej czíúci kursu interaktywnego menu - wybranie w nim opcji mog³oby bezpoúrednio powodowaê uruchomienie odpowiadaj¹cej jej funkcji. Realizacja tak pojítego typu proceduralnego jest moøliwa dziíki wykorzystaniu wskaünikûw oraz mechanizmûw przekszta³ceò typûw. Na list. 1 umieúci³em fragment programu wraz z definicjami odpowiednich typûw zmiennych. Jako pierwszy zdefiniowano typ zmiennej bíd¹cej wskaünikiem typu char, kwalifikowanym do przestrzeni adresowej zawieraj¹cej kod programu mikrokontrolera (code). Za wskaünikiem wystípuje lista argumentûw, ktûra w tym przypadku jest pusta. NastÍpnie ten typ wykorzystywany jest do budowy tablicy zawieraj¹cej wykaz funkcji. Tablica rûwnieø zakwalifikowana zosta³a do obszaru code, poniewaø zawiera wartoúci sta³e, nieulegaj¹ce zmianie w czasie wykonywania programu. Rozmiar tablicy - wykazu funkcji - nie jest ustalony. Jej koniec sygnalizuje znak o kodzie ì0î. Dla przyk³adu i dla uproszczenia funkcja command pokazana na list. 1, zwraca wartoúê umieszczon¹ w tablicy pod indeksem 0. Zgodnie z wczeúniejsz¹ definicj¹ odpowiada to wskaza- List. 1. Fragment programu z definicjami zmiennych wskaźników do funkcji //struktura na definicje komend typedef struct { char (code *funkcja)(void); }komendy; //tablica z wykazem komend code komendy wykaz[] = { test_1, test_2, 0 }; char command() { return(wykaz[0].funkcja()); } Urz¹dzenia wykonawcze pod³¹czane do sterownikûw stosowane s¹ w technice bardzo szeroko - pocz¹wszy od prostych sterownikûw typu w³¹cz-wy³¹cz, skoòczywszy na bardzo skomplikowanych, umoøliwiaj¹cych regulacjí proporcjonaln¹. NajczÍúciej to wymagania aplikacji wyznaczaj¹ budowí uk³adu wykonawczego i sposûb jego sterowania. W artykule przedstawií sposûb wykorzystania jízyka C do budowy prostego interpretera poleceò wysy³anych przez interfejs szeregowy, za pomoc¹ ktûrych moøna bídzie sterowaê prac¹ dowolnego uk³adu wykonawczego. niu adresu, pod ktûrym umieszczona jest funkcja o nazwie test_1. Funkcja zawarta w definicji struktury musi zwracaê jak¹ú wartoúê. Naj- ³atwiej, gdy jest to wartoúê typu char, ktûr¹ moøna pûüniej wykorzystaê do sygnalizacji np. b³ídûw realizacji poleceò, jednak moøe to byê rûwnieø inny typ zmiennych. Jest to wymûg konieczny dla pûüniejszej realizacji polecenia return(wykaz[indeks].funkcja()), poniewaø polecenie return nie moøe zwracaê wartoúci typu void oraz z powodûw, o ktûrych bídzie mowa dalej. Funkcja command powinna byê tego samego typu, jak okreúlono to w definicji struktury. Oczywiúcie powinna, a nie musi. Jeúli typy bíd¹ rûøne, to nast¹pi niejawna konwersja typu zwracanej wartoúci. Przyjrzyjmy sií teraz programowi pokazanemu na list. 2. Zawiera on fragment programu odpowiadaj¹cy funkcji command po kompilacji do postaci jízyka asembler. Fragment ten opatrzy³em komentarzami w taki sposûb, aby osoby niemaj¹ce do czynienia z asemblerem, mog³y zrozumieê, jak dzia³a mechanizm wywo³uj¹cy funkcjí znajduj¹c¹ sií pod wskazywa- nym adresem w pamiíci programu. Kompilator wykonuj¹c konwersjí wskaünika do postaci char, wywo³uje ukrywaj¹c¹ sií pod wskazaniem funkcjí. Jest to konieczne, aby funkcja zwrûci³a wartoúê, ktûra bídzie mog³a ulec zamianie na typ char. A to, øe funkcja umieszczona jest na liúcie i moøliwe jest odwo³anie do konkretnej pozycji tejøe listy, tylko u³atwia realizacjí zadania postawionego jako cel artyku³u - realizacjí implementacji interpretera poleceò. Dla praktykûw - przyk³ad 1 Wykorzystuj¹c opisany wyøej mechanizm, wykona³em prosty interpreter poleceò odbieranych przez mikrokontroler z wykorzystaniem sprzítowego interfejsu UART. Jako uk³ad modelowy pos³uøy³a mi p³ytka prototypowa z mikrokontrolerem AT89S8252 taktowanym zegarem 7,3728 MHz. Na p³ytce znalaz³ sií rûwnieø uk³ad dopasowuj¹cy stany logiczne na wyprowadzeniach UART mikrokontrolera do portu szeregowego komputera PC - standardowy MAX232. Wykonuj¹c programy przyk³adowe, pos³ugiwa³em sií kompilatorem RC-51 firmy Raisonance. List. 2. Polecenie return(wykaz[0].funkcja()) po kompilacji R MOV DPTR,#wykaz ;do rejestru DPTR młodszy bajt adresu funkcji z tablicy wykaz MOV A,#00 ;akumulator jako wartość indeksu do tablicy - tu MOVC A,@A+DPTR ;załaduj do akumulatora bajt spod adresu wykaz FA MOV R2,A ;przechowaj pobraną wartość w rejestrze R R MOV DPTR,#wykaz ;ponownie do DPTR adres tablicy wykaz 000A 7401 MOV A,#1 ;ale indeks tablicy w tym przypadku to 1 000C 93 MOVC A,@A+DPTR ;do akumulatora starszy bajt adresu funkcji ;z tablicy wykaz+1 000D FB MOV R3,A ;przechowaj jego wartość w rejestrze R3 000E 8A83 MOV DPH,R2 ;przepisz R2 do rejestru DPH (starszy bajt DPTR) B82 MOV DPL,R3 ;przepisz R3 do rejestru DPL (młodszy bajt DPTR) R LCALL?C_INDCALL ;wywołaj wewnętrzną procedurę RC-51 uruchamiającą ;funkcję spod adresu wskazywanego przez DPTR RET ;powrót do programu głównego 91

19 K U R S List. 3. Deklaracje zmiennych oraz #include interpretera poleceń z przykładu 1 #pragma DEFJ(TIM1_INIT=0xFE) //timer 1 jako prędkość transmisji (19200bps) //dla rezonatora 11,0592MHz TH1=0xFD; dla 7,3728MHz TH1=0xFE #pragma SMALL //wybór modelu pamięci programu #include reg8252.h //dołączenie definicji rejestrów #include stdio.h //dołączenie funkcji wejścia - wyjścia #define WORD unsigned int //definicja typu WORD //definicje nagłówków funkcji programu char in(char data *bufor); char out(char data *bufor); char status(char data *bufor); char on(char data *bufor); char off(char data *bufor); char help(char data *bufor); //definicja typu dla tablicy - wykazu poleceń typedef struct { char code *komenda; char (code *funkcja)(char data *); }komendy; //tablica z wykazem poleceń code komendy wykaz[] = //wykaz komend i powiązanych z nimi funkcji { IN, in, OUT, out, STATUS, status, ON, on, OFF, off, HELP, help,?, help,, NULL //koniec wykazu }; Interpreter wykonuje nastípuj¹ce polecenia: - IN <numer portu> np. IN 1 - odczyt portu o podanym numerze - OUT <numer portu> <wartoúê> np. OUT 1 0x20 - zapisuje do portu o podanym numerze liczbí, - STATUS - podaje informacjí o statusie urz¹dzenia: WY CZONY/AK- TYWNY, - ON - za³¹czenie operacji na portach, tj. poleceò IN i OUT, - OFF - wy³¹czenie operacji na portach, tj. blokowanie funkcjonowania poleceò IN i OUT, - HELP lub? - informacja o obs³ugiwanych poleceniach. Polecenia mog¹ byê przesy³ane przez aplikacjí steruj¹c¹ lub podawane rícznie za pomoc¹ programu typu terminal znakowy. Kaøde wysy³ane polecenie musi koòczyê sií sekwencj¹ 0x0D-0x0A (CR-LF). Na list. 3 pokazano najwaøniejsze fragmenty programu ürûd³owego w jízyku C zawieraj¹ce deklaracje zmiennych i sta³ych oraz dyrektywy steruj¹ce kompilacj¹. Pocz¹tek to w³aúciwe dla RC-51 polecenie #pragma DEFJ(TIM1_INIT=0xFE) definiuj¹ce wartoúê zapisywan¹ do rejestru TH1 Timera 1 steruj¹cego prac¹ UART. Dla rezonatora 7,3728 MHz oraz podwûjnej szybkoúci zegara steruj¹cego prac¹ interfejsu szeregowego (SMOD = 1) zapis do TH1 wartoúci 0xFE wymusza transmisjí szeregow¹ asynchroniczn¹ z prídkoúci¹ bd. W nastípnej kolejnoúci do³¹czane s¹ definicje rejestrûw mikrokontrolera, biblioteka funkcji wejúcia-wyjúcia oraz dla czytelnoúci programu zdefiniowany zostaje typ WORD. W kolejnym kroku definiowane s¹ nag³ûwki funkcji bíd¹cych odpowiednikami poleceò realizowanych przez interpreter. Zdefiniowanie ich w tym miejscu jest konieczne, poniewaø za moment nazwy funkcji bíd¹ uøyte do konstrukcji tablicy-wykazu poleceò. Definicja struktury o nazwie komendy zawiera wiícej sk³adnikûw niø we wczeúniejszym przyk³adzie. Obok znanego nam juø wskaünika do funkcji pojawi³ sií rûwnieø wskaünik do ³aÒcucha znakûw umieszczonego w pamiíci programu mikrokontrolera. Jest to nazwa, po ktûrej rozpoznawane s¹ polecenia i jednoczeúnie najprostsza z metod powi¹zania nazwy symbolicznej z odpowiadaj¹c¹ mu funkcj¹. Dla ³atwiejszej analizy przyk³adu nazwy funkcji s¹ niemal identyczne z odpowiadaj¹cymi im poleceniami. Na list. 4 znajduje sií fragment programu rozpoznaj¹cy polecenie oraz wywo³uj¹cy odpowiadaj¹c¹ mu funkcjí. Pos³uøy³em sií w nim konstrukcj¹ z pierwszego przyk³adu, z tym øe polecenie return zawiera dynamicznie wyznaczany indeks do funkcji. Dwie zmienne j oraz i s³uø¹ (odpowiednio) jako indeksy do poszczegûlnych liter przekazywanego jako argument funkcji ci¹gu znakûw oraz poszczegûlnych linii tablicy - wykazu poleceò. Funkcja XOR (^) s³uøy do sprawdzenia warunku rûwnoúci znakûw, a bitowe AND (&) maskuje bity odpowiadaj¹ce ma³ym literom alfabetu. DziÍki temu wielkoúê znakûw (liter) odebranych z UART nie wp³ywa na interpretacjí polecenia. W przypadku, gdy komenda nie zostanie odnaleziona w wykazie, wartoúê indeksu j bídzie rûwna 0 i pos³uøy do wys³ania komunikatu o b³ídzie. W innym przypadku zwracany jest wskaünik do funkcji, ktûrego przekszta³cenie do typu char owocuje wywo³aniem funkcji. G³Ûwna pítla programu zawiera tylko kilka poleceò: rezerwuje miejsce w pamiíci na bufor odebranych z UART znakûw, ustawia bit SMOD w rejestrze PCON mikrokontrolera, wysy³a znak zachíty do terminala (znak >), wywo³uje funkcjí gets pobieraj¹c¹ ci¹g znakûw ze standardowego urz¹dzenia wejúcia - wyjúcia (dla mikrokontrolera jest to UART), a nastípnie przekazuje wskaünik do bufora opisywanej wyøej funkcji command rozpoznaj¹cej odebrane polecenia. Kaødorazowo zakoòczenie realizacji komendy sygnalizowane jest napisem OK wys³anym przez mikrokontroler do terminala. Dla praktykûw - przyk³ad 2 Kolejny przyk³ad bazuje na poznanych juø wczeúniej. Ilustruje on jednak jeden z moøliwych sposobûw do- ³¹czenia zdalnego wyúwietlacza sterowanego przez mikrokontroler. Dla uproszczenia funkcji steruj¹cych uøy³em wyúwietlacza LCD 4 linie x 20 znakûw, jednak moøna sobie wyobraziê zastosowanie dowolnego wyúwietlacza, na przyk³ad do³¹czonej do mikrokontrolera tablicy pokazuj¹cej wyniki na meczu pi³karskim, do³¹czonego zdalnie wyúwietlacza zegara itp. Przyk³adowy interpreter realizuje nastípuj¹ce polecenia: - CURSOR <kod> np. CURSOR 1 - zmiana wygl¹du kursora, wartoúê <kod> powinna sií zawieraê w przedziale od 0 do 2 (0 = kursor wy³¹czony, 1 - kursor w³¹czony, 2 - kursor w³¹czony i migotanie na polu kursora) - CLR - czyszczenie ekranu LCD, - GOTOXY <x> <y> np. GOTOXY umieszczenie kursora na pozycji <x> <y> (kolumna, wiersz), - WRITE <tekst> np. WRITE Driver LCD 4x20 - wyúwietlenie tekstu podanego jako parametr wywo³ania; uwaga: tekst nie moøe byê d³uøszy niø rozmiar bufora - 7 (w tym przypadku s¹ to 34 znaki), - CWRITE <kod> np. CWRITE 0x01 - wyúwietlenie znaku o kodzie <kod>, - FILL <kod> np. FILL 0x01 - wype³nienie LCD znakami o kodzie <kod>, - DEF <kod> <bajt0>.. <bajt7> - definicja w³asnego znaku uøytkownika np.: DEF 0x00 0xAA 0x55 0xAA 0x55 0xAA 0x55 0xAA 0x55 umieúci definicjí ìkratkiî w generatorze znakûw LCD na pozycji numer 0, 92

20 K U R S List. 4. Fragment programu odpowiedzialny za rozpoznawanie odbieranych poleceń //wyszukiwanie komend oraz wywołanie odpowiadających im funkcji char command(char data *bufor) { char i, j; //256 komend o maks. długości 256 znaków for (i = 0;;) for (j = 0;; ) { } if(wykaz[i].komenda[j]!= 0) //jeśli komenda różna od znaku pustego { //do porównania zamiana małych liter na duże if(((wykaz[i].komenda[j]^bufor[j]) & 0x5F) == 0) { } i++; break; j++; continue; } if( j == 0 ) { //następny znak - INIT - inicjalizacja wyúwietlacza w trybie interfejsu o d³ugoúci s³owa rûwnej 4 bity, - STATUS - podaje informacjí o statusie WY CZONY/AKTYWNY, - ON - za³¹czenie akceptowania poleceò przez kontroler LCD, - OFF - wy³¹czenie akceptowania poleceò przez kontroler LCD, - HELP lub? - informacja o realizowanych poleceniach. Program funkcjonuje identycznie jak poprzedni, rûøni¹ sií one miídzy sob¹ tylko liczb¹ realizowanych funkcji. Ten pierwszy bídzie sií nadawa³ szczegûlnie dobrze do sterowania urz¹dzeò typu w³¹cz-wy³¹cz, drugi realizuje takøe nieco bardziej zaawansowane funkcje. Do jego implementacji wykorzysta³em opisywan¹ we wczeúniejszych odcinkach kursu bibliotekí LCD4B. Zosta³a ona do³¹czona do pliku projektu, a nag³ûwki funkcji steruj¹cych wyúwietlaczem umieszczane s¹ w programie g³ûwnym za pomoc¹ dyrektywy #include îlcd4b.hî. //następna komenda printf( %s\n, BLAD: Nie rozpoznano komendy! ); //brak komendy //w wykazie return(0); } else return (wykaz[i].funkcja(bufor+j)); //wykonanie funkcji spod //wskazanego adresu Program g³ûwny, oprûcz omawianych wczeúniej poleceò, zawiera rûwnieø wywo³anie funkcji inicjalizacji oraz czyszczenia ekranu modu³u LCD. Uøycie wymienionego na liúcie realizowanych poleceò INIT nie jest konieczne. Zosta³o ono wprowadzone na wypadek sytuacji awaryjnej. Uwagi koòcowe Jak wspomnia³em wczeúniej, do wykonania programûw demonstracyjnych pos³uøy³ kompilator firmy Raisonance RC-51. Niestety powstaj¹cy w wyniku kompilacji kod przekracza 4 kb i dlatego teø nie moøna pos³uøyê sií wersj¹ demonstracyjn¹ ìwprostî. Bardzo duøo miejsca w pamiíci programu zajmuje zw³aszcza implementacja funkcji printf i scanf wywo³ywanych wielokrotnie przez rûøne funkcje. Ta pierwsza formatuje i przesy³a ci¹g znakûw przez UART, ta druga odbiera, odczytuje i przekszta³ca znaki odebrane z UART na zmienne zgodnie z podanym wzorcem. Zamiast RC-51 moøna rûwnieø pos³uøyê sií innym kompilatorem C. W takim przypadku polecenie ustawiaj¹ce prídkoúê transmisji UART moøe wygl¹daê jak niøej: void main() { SCON = 0x50; TMOD = 0x20; SMOD = 1; TH1 = 0xFE; TL1 = -1; TR1 = 1; Polecenia wysy³ane przez np. program hyper terminal s¹ odbierane za pomoc¹ zdefiniowanej przez producenta pakietu funkcji gets(). Wymaga ona, aby kaødy przes³any ci¹g znakûw zakoòczony by³ przez sekwencjí CR-LF. Niestety wiíkszoúê programûw typu terminal wysy³a na koòcu linii CR nie dbaj¹c o LF. Tak teø jest w przypadku hyper terminala, ktûry to musi mieê ustawion¹ opcjí dodawania LF na koòcu linii. Naleøy w nim ustawiê parametr Wyúlij koòce wierszy ze znakiem wysuwu wiersza (Plik>W³aúciwoúci, zak³adka Ustawienia>Ustawienia ASCII). Oczywiúcie moøna rûwnieø zaimplementowaê inn¹, w³asn¹ funkcjí dzia³aj¹c¹ jak gets(). Port UART mikrokontrolera pracuje z szybkoúci¹ bd. TÍ sam¹ naleøy wybraê w nastawach portu COM komputera PC o ile to w³aúnie on uøywany jest do przesy³ania poleceò (19200, n, 8, 1). Funkcja gets() odsy³a echo wysy³anych poleceò, toteø s¹ one widoczne na ekranie terminala. Prezentowane wyøej przyk³ady programûw ürûd³owych to tylko zachíta do samodzielnego eksperymentowania. Oczywiúcie maj¹ one pewn¹ wartoúê uøytkow¹, jednak bardziej s³uø¹ do wskazania moøliwoúci niø do budowy gotowego urz¹dzenia maj¹cego konkretne zastosowanie. Jacek Bogusz, EP jacek.bogusz@ep.com.pl 93

Klocki RS485, część 4

Klocki RS485, część 4 P R O Klocki J E K RS485 T Y Klocki RS485, część 4 W czwartej, przedostatniej czíúci artyku³u przedstawiamy dwie karty wejúê: cyfrowych i analogowych. DziÍki nim, system zaprezentowany w cyklu artyku³ûw

Bardziej szczegółowo

O autorze... 9 Wprowadzenie... 11

O autorze... 9 Wprowadzenie... 11 Spis tre ci O autorze... 9 Wprowadzenie... 11 Rozdzia 1. Sterownik przemys owy... 15 Sterownik S7-1200... 15 Budowa zewn trzna... 16 Budowa wewn trzna... 19 Cykl programu oraz tryby pracy... 21 Zestaw

Bardziej szczegółowo

Lokalizatory 3M Dynatel tworzπ

Lokalizatory 3M Dynatel tworzπ 120 Lokalizatory 3M Dynatel LokalizatorÛw 3M Dynatel moøna uøywaê do trasowania kabli i rur, wykrywania uszkodzeò pow ok kabli, dokonywania dok adnych pomiarûw g Íbokoúci, wykrywania sond, lokalizacji

Bardziej szczegółowo

Systemy wbudowane Mikrokontrolery

Systemy wbudowane Mikrokontrolery Systemy wbudowane Mikrokontrolery Budowa i cechy mikrokontrolerów Architektura mikrokontrolerów rodziny AVR 1 Czym jest mikrokontroler? Mikrokontroler jest systemem komputerowym implementowanym w pojedynczym

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Struktura portów (CISC) Port to grupa (zwykle 8) linii wejścia/wyjścia mikrokontrolera o podobnych cechach i funkcjach Większość linii we/wy może pełnić dwie lub trzy rozmaite funkcje. Struktura portu

Bardziej szczegółowo

Asynchroniczny konwerter RS232< >Midi

Asynchroniczny konwerter RS232< >Midi Asynchroniczny konwerter P R O RS232< >Midi J E K T Y Asynchroniczny konwerter RS232< >Midi AVT 842 W artykule prezentujemy uk³ad, ktûry umoøliwia wspû³prací standardowych interfejsûw RS232 i MIDI. Rys.

Bardziej szczegółowo

ANALOGOWE UKŁADY SCALONE

ANALOGOWE UKŁADY SCALONE ANALOGOWE UKŁADY SCALONE Ćwiczenie to ma na celu zapoznanie z przedstawicielami najważniejszych typów analogowych układów scalonych. Będą to: wzmacniacz operacyjny µa 741, obecnie chyba najbardziej rozpowszechniony

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

Elementy podłączeniowe.

Elementy podłączeniowe. Dziękujemy za wybór Sterboxa. Elementy podłączeniowe. Widoczne gniazdko do podłączenia kabla sieci komputerowej. Na górnej krawędzi gniazdko 12 stykowe, na dolnej 16 stykowe. Do tych gniazd podłącza się

Bardziej szczegółowo

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535 Opis funkcjonalny i architektura Modu³ sterownika mikroprocesorowego KM535 Modu³ KM535 jest uniwersalnym systemem mikroprocesorowym do pracy we wszelkiego rodzaju systemach steruj¹cych. Zastosowanie modu³u

Bardziej szczegółowo

Klocki RS485, część 3

Klocki RS485, część 3 Klocki P R O RS485 J E K T Y, część 3 W trzeciej czíúci artyku³u przedstawiamy dwie karty wyjúê cyfrowych, za pomoc¹ ktûrych w systemie RS485 moøna sterowaê prac¹ urz¹dzeò zasilanych napiíciami o wartoúci

Bardziej szczegółowo

Zestaw edukacyjny dla mikrokontrolerów ST62

Zestaw edukacyjny dla mikrokontrolerów ST62 Zestaw edukacyjny dla mikrokontrolerów P R O J E K ST62 T Y Zestaw edukacyjny dla mikrokontrolerów ST62 AVT 5072 ZachÍceni duøym zainteresowaniem jakim cieszy³ sií program ST-Realizer oraz opublikowany

Bardziej szczegółowo

OPIS liczniki EIZ- G INSTRUKCJA MONTA U

OPIS liczniki EIZ- G INSTRUKCJA MONTA U OPIS liczniki EIZ- G INSTRUKCJ MONT U Licznik EIZ jest urz dzeniem do mierzenia mocy czynnej energii elektrycznej w instalacjach 1- i 3-fazowych. udowa oraz wymiary pozwalaj na atwy monta w rozdzielniach

Bardziej szczegółowo

Dekoder dzia³a podobnie jak w telefonach komûrkowych: wyúwietla

Dekoder dzia³a podobnie jak w telefonach komûrkowych: wyúwietla do / z µc Dekoder CLIP AVT 5004 P R O Dekoder J E K CLIP T Y Identyfikacja numeru abonenta dzwoni¹cego CLIP (ang. Calling Line Identification Presentation), ogûlnie dostípna w sieciach komûrkowych oraz

Bardziej szczegółowo

Mikroprocesorowy regulator temperatury z czujnikiem Pt100

Mikroprocesorowy regulator temperatury z czujnikiem Pt100 Dział "Projekty Czytelników" zawiera opisy projektów nadesłanych do redakcji EP przez Czytelników. Redakcja nie bierze odpowiedzialności za prawidłowe działanie opisywanych układów, gdyż nie testujemy

Bardziej szczegółowo

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej Systemy wbudowane Witold Kozłowski Zakład Fizyki i Technologii Struktur Nanometrowych 90-236 Łódź, Pomorska 149/153 https://std2.phys.uni.lodz.pl/mikroprocesory/

Bardziej szczegółowo

Kaøda przerwa w zasilaniu stanowi

Kaøda przerwa w zasilaniu stanowi 52 Gwarantowane zasilanie odbiorników energii elektrycznej Andrzej Baranecki, Tadeusz P³atek, Marek Niewiadomski Rosnπca iloúê nieliniowych odbiornikûw energii elektrycznej (komputery, sprzít RTV, regulowane

Bardziej szczegółowo

Tester samochodowych sond lambda

Tester samochodowych sond lambda Tester samochodowych P R O sond J E lambda K T Y Tester samochodowych sond lambda Elektroniczny analizator składu mieszanki AVT 520 Przyrz¹d opisany w artykule s³uøy do oceny sprawnoúci sondy lambda oraz

Bardziej szczegółowo

Pamięci EEPROM w systemach mikroprocesorowych, część 2

Pamięci EEPROM w systemach mikroprocesorowych, część 2 Pamięci EEPROM w systemach mikroprocesorowych, część 2 Tym artyku³em koòczymy prezentacjí sposobûw programowania szeregowych pamiíci EEPROM. Poniewaø najwiíksz¹ popularnoúci¹ ciesz¹ sií wúrûd uøytkownikûw

Bardziej szczegółowo

PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV

PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV INDUSTRIAL MP3/WAV imp3_wav AUTOMATYKA PRZEMYSŁOWA PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV ZASTOSOWANIE: - systemy powiadamiania głosowego w przemyśle (linie technologiczne, maszyny) - systemy ostrzegania,

Bardziej szczegółowo

Funkcje bezpieczeństwa

Funkcje bezpieczeństwa 42 Funkcje bezpieczeństwa w systemie Teleco Michał Sikora Jednym z podstawowych zadaò systemûw automatyki budynku jest zwiíkszenie bezpieczeòstwa zarûwno osûb, jak i samego obiektu. W artykule przedstawione

Bardziej szczegółowo

Programator mikrokontrolerów PIC współpracujący z programem MPLAB AVT 5100

Programator mikrokontrolerów PIC współpracujący z programem MPLAB AVT 5100 Programator mikrokontrolerów PIC współpracujący z programem MPLAB AVT 5100 P R O J E K JuPIC T Y Konstruktorzy s¹ bez w¹tpienia ludümi rûwnie leniwymi, jak wszyscy inni. St¹d pomys³ tworzenia dla nich,

Bardziej szczegółowo

Sprzętowy emulator procesorów AVR

Sprzętowy emulator procesorów AVR Sprzętowy emulator procesorów AVR AVT 5039 Sprzętowy emulator P R procesorów O J E K AVR T Y Wzrastaj¹ca z dnia na dzieò popularnoúê procesorûw RISC z rodziny AVR, produkowanych przez firmí ATMEL, spowodowa³a

Bardziej szczegółowo

Bezpiecznik topikowy jest jedynym

Bezpiecznik topikowy jest jedynym 60 Bezpieczniki prądu stałego urządzenia fotowoltaiczne PV Roman Kłopocki Artyku przedstawia niektûre aspekty dzia ania bezpiecznikûw topikowych w obwodach prπdu sta ego. Zaprezentowano takøe kilka przyk

Bardziej szczegółowo

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET PoniŜszy dokument zawiera opis konfiguracji programu STEP7 dla sterowników SIMATIC S7 300/S7 400, w celu stworzenia komunikacji między dwoma stacjami S7 300 za pomocą sieci Industrial Ethernet, protokołu

Bardziej szczegółowo

TECHNIKA MIKROPROCESOROWA

TECHNIKA MIKROPROCESOROWA LABORATORIUM TECHNIKA MIKROPROCESOROWA Port transmisji szeregowej USART MCS'51 Opracował: Tomasz Miłosławski 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami komunikacji mikrokontrolera

Bardziej szczegółowo

EC1000 KATALOG SYSTEMÓW STEROWANIA

EC1000 KATALOG SYSTEMÓW STEROWANIA EC1000 64 MB pamięci flash 128 MB pamięci RAM Środowisko programowania CODESYS V3 (IEC 61131-3) Port Ethernet Port EtherCAT Port USB Port RS232 dla programowania Port SD Zegar czasu rzeczywistego Zasilanie

Bardziej szczegółowo

HiTiN Sp. z o. o. Przekaźnik kontroli temperatury RTT 4/2 DTR. 40 432 Katowice, ul. Szopienicka 62 C tel/fax.: + 48 (32) 353 41 31. www.hitin.

HiTiN Sp. z o. o. Przekaźnik kontroli temperatury RTT 4/2 DTR. 40 432 Katowice, ul. Szopienicka 62 C tel/fax.: + 48 (32) 353 41 31. www.hitin. HiTiN Sp. z o. o. 40 432 Katowice, ul. Szopienicka 62 C tel/fax.: + 48 (32) 353 41 31 www.hitin.pl Przekaźnik kontroli temperatury RTT 4/2 DTR Katowice, 1999 r. 1 1. Wstęp. Przekaźnik elektroniczny RTT-4/2

Bardziej szczegółowo

Interfejs graficznych wyświetlaczy LCD

Interfejs graficznych wyświetlaczy LCD Interfejs graficznych wyświetlaczy LCD AVT 5093 Interfejs graficznych P R wyświetlaczy O J E K T LCDY Sterowanie graficznym wyúwietlaczem LCD jest dosyê k³opotliwe, szczegûlnie gdy wyúwietlacz nie ma wbudowanego

Bardziej szczegółowo

SLZ. Szafa zasilajàco-sterujàca

SLZ. Szafa zasilajàco-sterujàca Szafa zasilajàco-sterujàca SLZ SMAY Sp. z o.o. / ul. Ciep³ownicza 29 / 31-587 Kraków tel. +48 12 680 20 80 / fax. +48 12 680 20 89 / e-mail: info@smay.eu Budowa Rysunek 1. Schemat Szafki zasilaj¹co steruj¹cej

Bardziej szczegółowo

MICROAUTOMATIC INFORMACJA O PRODUKCIE

MICROAUTOMATIC INFORMACJA O PRODUKCIE µtic CBY-JRG 7200 INFORMACJA O PRODUKCIE Dokumentacja zawiera dane techniczne, oraz instrukcjê obs³ugi i programowania sterownika µtic CBY-JRG 7200. Konfiguracja sterownika: 8 bram gara owych, 1 zeœlizg,

Bardziej szczegółowo

PERFEKCJA TECHNOLOGII

PERFEKCJA TECHNOLOGII PERFEKCJA TECHNOLOGII grupa handlowa PRZEMIENNIKI CZÊSTOTLIWOŒCI Seria ic5 zasilanie 1-fazowe, moce od 0,4kW do 2,2kW, sterowanie wektorowe, wbudowany filtr RFI i potencjometr. Seria ie5 zasilanie 1-fazowe,

Bardziej szczegółowo

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51 Architektura mikrokontrolera MCS51 Ryszard J. Barczyński, 2017 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Architektura mikrokontrolera

Bardziej szczegółowo

KONWERTER INTERFEJSÓW RS-232/RS-485. Typu PD51 INSTRUKCJA OBS UGI

KONWERTER INTERFEJSÓW RS-232/RS-485. Typu PD51 INSTRUKCJA OBS UGI KONWERTER INTERFEJSÓW RS-232/ Typu PD51 INSTRUKCJA OBS UGI 1 2 Konwerter interfejsów RS-232/ Typu PD51 Instrukcja obs³ugi SPIS TREŒCI 1. ZASTOSOWANIE.... 5 2. ZESTAW KONWERTERA.... 5 3. INSTALOWANIE KONWERTERA

Bardziej szczegółowo

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

Programowany zegar ze zdalnym sterowaniem

Programowany zegar ze zdalnym sterowaniem Dział Projekty Czytelników zawiera opisy projektów nadesłanych do redakcji EP przez Czytelników. Redakcja nie bierze odpowiedzialności za prawidłowe działanie opisywanych układów, gdyż nie testujemy ich

Bardziej szczegółowo

Instrukcja obsługi zamka. bibi-z50. (zamek autonomiczny z czytnikiem identyfikatora Mifare)

Instrukcja obsługi zamka. bibi-z50. (zamek autonomiczny z czytnikiem identyfikatora Mifare) Instrukcja obsługi zamka bibi-z50 (zamek autonomiczny z czytnikiem identyfikatora Mifare) bibi-z50 Copyright 2014 by MicroMade All rights reserved Wszelkie prawa zastrzeżone MicroMade Gałka i Drożdż sp.

Bardziej szczegółowo

Wprowadzenie Znajdü Wyszukaj

Wprowadzenie Znajdü Wyszukaj Wprowadzenie W ostatnim czasie ukaza a sií na rynku kolejna wersja jednego z najpopularniejszych systemûw operacyjnych dla komputerûw osobistych klasy PC. Mowa tu oczywiúcie o systemie firmy Microsoft

Bardziej szczegółowo

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51 Architektura mikrokontrolera MCS51 Ryszard J. Barczyński, 2018 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Architektura mikrokontrolera

Bardziej szczegółowo

Układ do automatycznego wzywania Pogotowia Ratunkowego

Układ do automatycznego wzywania Pogotowia Ratunkowego Układ do automatycznego wzywania Pogotowia P R O Ratunkowego J E K T Y Układ do automatycznego wzywania Pogotowia Ratunkowego AVT 999 ØyczÍ wszystkim Czytelnikom, aby zbudowany przez nich uk³ad nigdy nie

Bardziej szczegółowo

Sterownik Silnika Krokowego GS 600

Sterownik Silnika Krokowego GS 600 Sterownik Silnika Krokowego GS 600 Spis Treści 1. Informacje podstawowe... 3 2. Pierwsze uruchomienie... 5 2.1. Podłączenie zasilania... 5 2.2. Podłączenie silnika... 6 2.3. Złącza sterujące... 8 2.4.

Bardziej szczegółowo

Pomiar mocy pobieranej przez napędy pamięci zewnętrznych komputera. Piotr Jacoń K-2 I PRACOWNIA FIZYCZNA 25. 01. 2010

Pomiar mocy pobieranej przez napędy pamięci zewnętrznych komputera. Piotr Jacoń K-2 I PRACOWNIA FIZYCZNA 25. 01. 2010 Pomiar mocy pobieranej przez napędy pamięci zewnętrznych komputera. Piotr Jacoń K-2 I PRACOWNIA FIZYCZNA 25. 01. 2010 I. Cel ćwiczenia: Poznanie poprzez samodzielny pomiar, parametrów elektrycznych zasilania

Bardziej szczegółowo

Elementy cyfrowe i układy logiczne

Elementy cyfrowe i układy logiczne Elementy cyfrowe i układy logiczne Wykład Legenda Zezwolenie Dekoder, koder Demultiplekser, multiplekser 2 Operacja zezwolenia Przykład: zamodelować podsystem elektroniczny samochodu do sterowania urządzeniami:

Bardziej szczegółowo

Wykład 2. Interfejsy I 2 C, OneWire, I 2 S

Wykład 2. Interfejsy I 2 C, OneWire, I 2 S Wykład 2 Interfejsy I 2 C, OneWire, I 2 S Interfejs I 2 C I 2 C Inter-Integrated Circuit Cechy: - szeregowa, dwukierunkowa magistrala służąca do przesyłania danych w urządzeniach elektronicznych - opracowana

Bardziej szczegółowo

Konwerter RS 232 / Centronics typ KSR

Konwerter RS 232 / Centronics typ KSR W i t o l d J u r e c z k o 44-151 Gliwice, ul. Daszyñskiego 560 Regon: 271215331 NIP: 631-010-66-35 Internet: www.yuko.com.pl e-mail: yuko@yuko.com.pl tel./ fax : (+48) (32) 230-89-49 telefony wewnêtrzne,

Bardziej szczegółowo

Interfejs RS485-TTL KOD: INTR. v.1.0. Wydanie: 2 z dnia 19.12.2012. Zastępuje wydanie: 1 z dnia 07.09.2012

Interfejs RS485-TTL KOD: INTR. v.1.0. Wydanie: 2 z dnia 19.12.2012. Zastępuje wydanie: 1 z dnia 07.09.2012 Interfejs RS485-TTL v.1.0 KOD: PL Wydanie: 2 z dnia 19.12.2012 Zastępuje wydanie: 1 z dnia 07.09.2012 SPIS TREŚCI 1. Opis ogólny...3 2. Rozmieszczenie elementów....3 3. Przyłączenie do magistrali RS485....4

Bardziej szczegółowo

PRZETWORNIK WARTOŒCI SKUTECZNEJ PR DU LUB NAPIÊCIA PRZEMIENNEGO TYPU P11Z

PRZETWORNIK WARTOŒCI SKUTECZNEJ PR DU LUB NAPIÊCIA PRZEMIENNEGO TYPU P11Z PRZETWORNIK WARTOŒCI SKUTECZNEJ PR DU LUB NAPIÊCIA PRZEMIENNEGO TYPU P11Z INSTRUKCJA OBS UGI 1 SPIS TREŒCI 1. ZASTOSOWANIE... 3 2. ZESTAW PRZETWORNIKA... 3 3. INSTALOWANIE... 3 3.1 Sposób mocowania....

Bardziej szczegółowo

PRZETWORNIK PROGRAMOWALNY NAPIÊCIA I PR DU STA EGO TYPU P20H

PRZETWORNIK PROGRAMOWALNY NAPIÊCIA I PR DU STA EGO TYPU P20H PRZETWORNIK PROGRAMOWALNY NAPIÊCIA I PR DU STA EGO TYPU P20H Instrukcja konfiguracji przetwornika P20H za pomoc¹ programu LPCon 1 2 Spis treœci 1. Konfiguracja przetwornika za pomoc¹ programu LPCon...

Bardziej szczegółowo

12 kanałowy regulator mocy sterowany sygnałem DMX512

12 kanałowy regulator mocy sterowany sygnałem DMX512 12 kanałowy regulator mocy sterowany P R sygnałem O J E DMX512 K T Y 12 kanałowy regulator mocy sterowany sygnałem DMX512 Opis dotyczy zestawu regulatorûw duøej mocy, ktûre mog¹ byê wykorzystane w duøych

Bardziej szczegółowo

ZL8AVR. Płyta bazowa dla modułów dipavr

ZL8AVR. Płyta bazowa dla modułów dipavr ZL8AVR Płyta bazowa dla modułów dipavr Zestaw ZL8AVR to płyta bazowa dla modułów dipavr (np. ZL7AVR z mikrokontrolerem ATmega128 lub ZL12AVR z mikrokontrolerem ATmega16. Wyposażono ją w wiele klasycznych

Bardziej szczegółowo

Instrukcja programu PControl Powiadowmienia.

Instrukcja programu PControl Powiadowmienia. 1. Podłączenie zestawu GSM. Instrukcja programu PControl Powiadowmienia. Pierwszym krokiem w celu uruchomienia i poprawnej pracy aplikacji jest podłączenie zestawu GSM. Zestaw należy podłączyć zgodnie

Bardziej szczegółowo

Telewizja cyfrowa i standard MPEG2

Telewizja cyfrowa i standard MPEG2 Telewizja cyfrowa i standard MPEG2 Czym jest telewizja cyfrowa, dlaczego powstaje wokû³ niej tyle zamieszania, co oznacza skrût MPEG2? Przeczytaj poniøszy artyku³, a poznasz odpowiedzi na te pytania. Rys.

Bardziej szczegółowo

ZL11ARM. Uniwersalna płyta bazowa

ZL11ARM. Uniwersalna płyta bazowa ZL11ARM Uniwersalna płyta bazowa dla modułów diparm ZL11ARM to uniwersalna płyta bazowa dla modułów diparm (np. ZL12ARM i ZL19ARM) z mikrokontrolerami wyposażonymi w rdzenie ARM produkowanymi przez różnych

Bardziej szczegółowo

Aplikacja interfejsu ethernetowego UNIV 2.0.2.0

Aplikacja interfejsu ethernetowego UNIV 2.0.2.0 Aplikacja interfejsu ethernetowego UNIV 2.0.2.0 1. Cechy: Interfejs ethernetowy systemu HAPCAN Napięcie zasilania z magistrali 10-24V Pobór prądu z magistrali 65mA Wbudowany moduł EM202, EM203 lub EM203A

Bardziej szczegółowo

PIR2 z gniazdem GZM2 przekaÿniki interfejsowe

PIR2 z gniazdem GZM2 przekaÿniki interfejsowe Dane styków Iloœæ i rodzaj zestyków Materia³ styków Znamionowe / maks. napiêcie zestyków Minimalne napiêcie zestyków Znamionowy pr¹d (moc) obci¹ enia w kategorii Minimalny pr¹d zestyków Maksymalny pr¹d

Bardziej szczegółowo

Selektor linii telewizyjnych

Selektor linii telewizyjnych Selektor P R linii O telewizyjnych J E K T Y Selektor linii telewizyjnych kit AVT 323 Przedstawiamy, od dawna zapowiadane, urz¹dzenie niezbídne w serwisie telewizyjnym, przydatne takøe w szkolnych laboratoriach.

Bardziej szczegółowo

Na ³amach Elektroniki Praktycznej (EP 10/97) zosta³ opisany generator funkcyjny, ktûry moim zdaniem jest przyrz¹dem w zasadzie

Na ³amach Elektroniki Praktycznej (EP 10/97) zosta³ opisany generator funkcyjny, ktûry moim zdaniem jest przyrz¹dem w zasadzie Tani P generator R O J E funkcyjny K T Y Generator funkcyjny AVT 823 Generator funkcyjny jest podstawowym wyposaøeniem laboratorium elektronicznego. Jest niezbídny podczas wykonywania wielu prac zwi¹zanych

Bardziej szczegółowo

Licznik sumuj¹cy/czasu (DIN 72 x 36)

Licznik sumuj¹cy/czasu (DIN 72 x 36) Licznik sumuj¹cy/czasu (DIN 72 x 36) Kompaktowy licznik sumuj¹cy i licznik czasu z du ym wyœwietlaczem, odporny na wodê i oleje (IP66G/NEMA4) Ma³a obudowa z du ym, wyraÿnym wyœwietlaczem: - dla modeli

Bardziej szczegółowo

Budowa systemów komputerowych

Budowa systemów komputerowych Budowa systemów komputerowych dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl Współczesny system komputerowy System

Bardziej szczegółowo

Generalnie przeznaczony jest do obsługi systemów klimatyzacyjnych i chłodniczych.

Generalnie przeznaczony jest do obsługi systemów klimatyzacyjnych i chłodniczych. SYSTEM MONITORINGU FIRMY CAREL Generalnie przeznaczony jest do obsługi systemów klimatyzacyjnych i chłodniczych. Korzyści systemu 1. Możliwość kontroli parametrów pracy urządzeń sterowanych regulatorami

Bardziej szczegółowo

Ćwiczenie 7 Liczniki binarne i binarne systemy liczbowe.

Ćwiczenie 7 Liczniki binarne i binarne systemy liczbowe. Ćwiczenie 7 Liczniki binarne i binarne systemy liczbowe. Cel. 1. Poznanie zasady działania liczników binarnych. 2. Poznanie metod reprezentacji liczby w systemach binarnych. Wstęp teoretyczny Liczniki

Bardziej szczegółowo

INSTRUKCJA OBS UGI www.elstat.pl

INSTRUKCJA OBS UGI www.elstat.pl INSTRUKCJA OBS UGI 1. CHARAKTERYSTYKA REGULATORA Regulator temperatury przeznaczony do wspó pracy z czujnikami rezystancyjnymi PTC, Pt100, Pt1000 oraz termoparami J lub K. Wybór zakresu i typu czujnika

Bardziej szczegółowo

INSTRUKCJA OBS UGI AR780

INSTRUKCJA OBS UGI AR780 APAR - BIURO HANDLOWE 02-699 Warszawa, ul. K³obucka 8 pawilon 119 Tel. (0-22) 853-48-56, 853-49-30, 607-98-95 Fax (0-22) 607-99-50 E-mail: handel@apar.pl Internet: www.apar.pl R Rok za³o enia 1985 INSTRUKCJA

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI MC-2810 CYFROWY SYSTEM GŁOŚNIKOWY 5.1 KANAŁÓW DO KINA DOMOWEGO

INSTRUKCJA OBSŁUGI MC-2810 CYFROWY SYSTEM GŁOŚNIKOWY 5.1 KANAŁÓW DO KINA DOMOWEGO MC-2810 CYFROWY SYSTEM GŁOŚNIKOWY 5.1 KANAŁÓW DO KINA DOMOWEGO GRATULUJEMY UDANEGO ZAKUPU ZESTAWU GŁOŚNIKOWEGO MC-2810 Z AKTYWNYM SUBWOOFEREM I GŁOŚNIKAMI SATELITARNYMI. ZESTAW ZOSTAŁ STARANNIE ZAPROJEKTOWANY

Bardziej szczegółowo

INSTRUKCJA OBS UGI. Stabilizowane zasilacze pr du sta ego. modele: DF173003C DF173005C

INSTRUKCJA OBS UGI. Stabilizowane zasilacze pr du sta ego. modele: DF173003C DF173005C D INSTRUKCJA OBS UGI Stabilizowane zasilacze pr du sta ego modele: DF173003C DF173005C WPRO WA DZ ENI E Przyrz dy serii DF17300XC s precyzyjnymi zasilaczami DC o jednym wyjciu i napi ciu regulowanym w

Bardziej szczegółowo

Odpowiedzialnoœæ buduje zaufanie ZNOR-2. Album projektów typowych rozdzielnic elektrycznego ogrzewania rozjazdów i oœwietleniowych

Odpowiedzialnoœæ buduje zaufanie ZNOR-2. Album projektów typowych rozdzielnic elektrycznego ogrzewania rozjazdów i oœwietleniowych Odpowiedzialnoœæ buduje zaufanie ZNOR-2 Album projektów typowych rozdzielnic elektrycznego ogrzewania rozjazdów i oœwietleniowych ZNOR-2 System obs³ugi urz¹dzeñ energetyki niskiego napiêcia Album przeznaczony

Bardziej szczegółowo

CYFROWY MIERNIK REZYSTANCJI UZIEMIENIA KRT 1520 INSTRUKCJA OBSŁUGI

CYFROWY MIERNIK REZYSTANCJI UZIEMIENIA KRT 1520 INSTRUKCJA OBSŁUGI CYFROWY MIERNIK REZYSTANCJI UZIEMIENIA KRT 1520 INSTRUKCJA OBSŁUGI Cyfrowy miernik rezystancji uziemienia SPIS TREŚCI 1 WSTĘP...3 2 BEZPIECZEŃSTWO UŻYTKOWANIA...3 3 CECHY UŻYTKOWE...4 4 DANE TECHNICZNE...4

Bardziej szczegółowo

Przetwornica napiêcia sta³ego DC2A (2A max)

Przetwornica napiêcia sta³ego DC2A (2A max) 9 Warszawa ul. Wolumen 6 m. tel. ()596 email: biuro@jsel.pl www.jselektronik.pl Przetwornica napiêcia sta³ego DA (A max) DA W AŒIWOŒI Napiêcie wejœciowe do V +IN V, V6, V, V, 5V, 6V, 7V5, 9V, V, V wejœcie

Bardziej szczegółowo

RSR30 przekaÿniki pó³przewodnikowe w¹skoprofilowe

RSR30 przekaÿniki pó³przewodnikowe w¹skoprofilowe 10 Obci¹ enie AC - 2 A / 240 V Separacja galwaniczna Niska rezystancja w stanie za³¹czenia Niski pobór mocy wejœciowej Kompatybilnoœæ z technologi¹ TTL i CMOS Uk³ady RC (V AC) Wyjœciowy tyrystor typu MOFSET

Bardziej szczegółowo

Nowe mierniki rezystancji izolacji

Nowe mierniki rezystancji izolacji 58 Wysokonapięciowe mierniki rezystancji izolacji Megger MIT Tomasz Koczorowicz Brytyjska firma Megger wprowadzi a do sprzedaøy nowπ serií wysokonapiíciowych miernikûw rezystancji izolacji o nazwie handlowej

Bardziej szczegółowo

Mikroprocesorowy regulator temperatury RTSZ-2 Oprogramowanie wersja 1.1. Instrukcja obsługi

Mikroprocesorowy regulator temperatury RTSZ-2 Oprogramowanie wersja 1.1. Instrukcja obsługi Mikroprocesorowy regulator temperatury RTSZ-2 Oprogramowanie wersja 1.1 Instrukcja obsługi Parametry techniczne mikroprocesorowego regulatora temperatury RTSZ-2 Cyfrowy pomiar temperatury w zakresie od

Bardziej szczegółowo

Bateryjny Konwerter CAK-02

Bateryjny Konwerter CAK-02 COMMON S. A. ul. Aleksandrowska 67/93 91-205 ódÿ, PL Tel.: (+48 42) 613 56 00 Fax: (+48 42) 613 56 98 Bateryjny Konwerter Dokumentacja Techniczno Ruchowa CAK2/0211/001U ódÿ 2001 Spis 1. Wprowadzenie..................................

Bardziej szczegółowo

PREZENTACJA ZASTOSOWANIA SYGNA Y WEJŒCIOWE PLC

PREZENTACJA ZASTOSOWANIA SYGNA Y WEJŒCIOWE PLC PREZENTACJA Programowalne liczniki mikroprocesorowe (PC programmable counters) to bardzo dok³adne i trwa³e urz¹dzenia, które ze wzglêdu na sw¹ wielofunkcyjnoœæ i ³atwoœæ w programowaniu s¹ przyjazne u

Bardziej szczegółowo

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD 1. Wprowadzenie DuŜa grupa sterowników mikroprocesorowych wymaga obsługi przycisków, które umoŝliwiają uŝytkownikowi uruchamianie

Bardziej szczegółowo

Siemens IO-Link. Smart TIA integration of sensors and actuators

Siemens IO-Link. Smart TIA integration of sensors and actuators Siemens IO-Link Smart TIA integration of sensors and actuators IO-Link Integracja z TIA (SIMATIC) Siemens IO-Link Dost pne produkty Modu Master IO-Link Modu y IO Modu y obiektowe Oprogramowanie STEP 7

Bardziej szczegółowo

PMI8 przekaÿnikowe modu³y interfejsowe

PMI8 przekaÿnikowe modu³y interfejsowe 1 Monta na szynie 35 mm wg EN 50022 Uznania, certyfikaty, dyrektywy: -S Dane styków Iloœæ i rodzaj zestyków Maksymalne napiêcie zestyków -F Maksymalny pr¹d za³¹czania Obci¹ alnoœæ pr¹dowa trwa³a zestyku

Bardziej szczegółowo

Przełom na rynku narzędzi EDA

Przełom na rynku narzędzi EDA Przełom na rynku narzędzi EDA dla elektroników, część 1 W drugiej po³owie ubieg³ego roku pojawi³o sií nowe, sztandarowe narzídzie dla elektronikûw - program Protel DXP firmy Altium. Jego najnowsza wersja

Bardziej szczegółowo

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S] ZL25ARM Płyta bazowa dla modułów diparm z mikrokontrolerami STR912 [rdzeń ARM966E-S] ZL25ARM to płyta bazowa umożliwiająca wykonywanie różnorodnych eksperymentów z mikrokontrolerami STR912 (ARM966E-S).

Bardziej szczegółowo

SEPARATOR TYPU P20G INSTRUKCJA OBS UGI

SEPARATOR TYPU P20G INSTRUKCJA OBS UGI SEPARATOR TYPU P20G INSTRUKCJA OBS UGI 1 2 Spis treœci 1. ZASTOSOWANIE... 5 2. ZESTAW SEPARATORA... 5 3. BEZPIECZEÑSTWO U YTKOWANIA... 6 4. MONTA... 7 4.1. Sposób mocowania...7 4.2. Schematy pod³¹czeñ

Bardziej szczegółowo

Moduł GSM generacja 1

Moduł GSM generacja 1 Moduł GSM generacja 1 Instrukcja instalacji Moduł wykonawczy dla systemu: Spis treści 1. Wstęp... 3 2. Zasada działania modułu gsm... 3 3. Instalacja i uruchomienie urządzenia... 3 3.1 Elementy urządzenia...

Bardziej szczegółowo

Tester pilotów 315/433/868 MHz 10-50 MHz

Tester pilotów 315/433/868 MHz 10-50 MHz TOUCH PANEL KOLOROWY WYŚWIETLACZ LCD TFT 160x128 ` Parametry testera Zasilanie Pasmo 315MHz Pasmo 433MHz Pasmo 868 MHz Pasmo 10-50MHz 5-12V/ bateria 1,5V AAA 300-360MHz 400-460MHz 820-880MHz Pomiar sygnałów

Bardziej szczegółowo

6 wiczenia z jízyka Visual Basic

6 wiczenia z jízyka Visual Basic Wprowadzenie Pisanie programûw komputerowych nie jest rzeczπ trudnπ. Oczywiúcie tworzenie duøych systemûw realizujπcych skomplikowane zadania wymaga dobrej wiedzy informatycznej i doúwiadczenia. Jednak

Bardziej szczegółowo

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x ZL9ARM Płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x 1 ZL9ARM to uniwersalna płyta bazowa dla modułów diparm

Bardziej szczegółowo

Tester pilotów 315/433/868 MHz

Tester pilotów 315/433/868 MHz KOLOROWY WYŚWIETLACZ LCD TFT 160x128 ` Parametry testera Zasilanie Pasmo 315MHz Pasmo 433MHz Pasmo 868 MHz 5-12V/ bateria 1,5V AAA 300-360MHz 400-460MHz 820-880MHz Opis Przyciski FQ/ST DN UP OFF przytrzymanie

Bardziej szczegółowo

Przemienniki częstotliwości

Przemienniki częstotliwości 5 192 Przemienniki częstotliwości SED2 Przemienniki częstotliwości do regulacji obrotów silników zasilanych napięciem trójfazowym, służących do napędu pomp i wentylatorów. Zakres mocy: 0.37 kw do 90 kw

Bardziej szczegółowo

Firma Wobit opracowuje i produkuje

Firma Wobit opracowuje i produkuje 78 firmy, ludzie, produkty Sterowniki mikrokrokowe silnikûw krokowych Witold Ober Na rynku dostípnych jest wiele napídûw úredniej wielkoúci. Jednak bardzo wyraünie kszta tuje sií zapotrzebowanie na ma

Bardziej szczegółowo

ZASILACZE AWARYJNE UPS

ZASILACZE AWARYJNE UPS ZASILACZE AWARYJNE UPS Uninterruptible Power Supply AKUMULATORY Sealed Lead-Acid Battery www.eastups.pl 2014 Katalog produktów Zasilacze awaryjne UPS Nowoczesna technologia umo liwiaj¹ca pracê Nieprzerwane

Bardziej szczegółowo

POWERLINE RT 1000, 2000, KOMUNIKACJA. Seria zaawansowanych technologicznie UPS-ów On-Line (VFI) skonstruowana w topologii podwójnej

POWERLINE RT 1000, 2000, KOMUNIKACJA. Seria zaawansowanych technologicznie UPS-ów On-Line (VFI) skonstruowana w topologii podwójnej KARTA PRODUKTU 000, 000, 000 Seria zaawansowanych technologicznie UPS-ów On-Line (VFI) skonstruowana w topologii podwójnej KOMUNIKACJA konwersji zapewnia doskona³¹ ochronê pod³¹czonym - Sieciowa Karta

Bardziej szczegółowo

ELEKTRONICZNY MODU HAKA SAMOCHODOWEGO

ELEKTRONICZNY MODU HAKA SAMOCHODOWEGO ELEKTRONICZNY MODU HAKA SAMOCHODOWEGO MHS-5 Modu³ do pod³¹czenia gniazda 7-pinowego Modu³ MHS-5 przeznaczony jest do pod³¹czenia gniazda elektrycznej instalacji haka samochodowego. Wspó³pracuje on z samochodami,

Bardziej szczegółowo

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Modułowy programowalny przekaźnik czasowy firmy Aniro. Modułowy programowalny przekaźnik czasowy firmy Aniro. Rynek sterowników programowalnych Sterowniki programowalne PLC od wielu lat są podstawowymi systemami stosowanymi w praktyce przemysłowej i stały

Bardziej szczegółowo

Programowanie mikrokontrolerów. 8 listopada 2007

Programowanie mikrokontrolerów. 8 listopada 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik

Bardziej szczegółowo

raceboard-s Szybki start

raceboard-s Szybki start raceboard-s Szybki start Więcej na : http://raceboard.simracing.pl Kontakt: raceboard@simracing.pl Data aktualizacji: 2011-11-15 Wstęp Dziękujemy za wybór naszego produktu z serii raceboard, przykładamy

Bardziej szczegółowo

REJESTRATOR RES800 INSTRUKCJA OBSŁUGI

REJESTRATOR RES800 INSTRUKCJA OBSŁUGI AEK Zakład Projektowy Os. Wł. Jagiełły 7/25 60-694 POZNAŃ tel/fax (061) 4256534, kom. 601 593650 www.aek.com.pl biuro@aek.com.pl REJESTRATOR RES800 INSTRUKCJA OBSŁUGI Wersja 1 Poznań 2011 REJESTRATOR RES800

Bardziej szczegółowo

MIKROKONTROLERY I MIKROPROCESORY

MIKROKONTROLERY I MIKROPROCESORY PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy

Bardziej szczegółowo

Konstrukcja sterownika oparta na 32-bitowym procesorze

Konstrukcja sterownika oparta na 32-bitowym procesorze Konstrukcja sterownika oparta na 32-bitowym procesorze Nowa generacja sterowników System sekwencyjnego wtrysku gazu STAG-4 QBOX BASIC jest pierwszym z rodziny nowej generacji sterowników produkowanych

Bardziej szczegółowo

Elastyczne systemy wytwarzania

Elastyczne systemy wytwarzania ZAKŁAD PROJEKTOWANIA TECHNOLOGII Laboratorium: Elastyczne systemy wytwarzania Instrukcja 1 Temat: Prototypowanie algorytmów sterowania pracą elastycznej linii w środowisku sterownika PLC S7-300 Opracował:

Bardziej szczegółowo

Wskazówki monta owe. Pod aczenie elektryczne. OXIMO RTS pasuje do standardowych uchwytów monta owych stosowanych do serii LT 50

Wskazówki monta owe. Pod aczenie elektryczne. OXIMO RTS pasuje do standardowych uchwytów monta owych stosowanych do serii LT 50 nap d do rolet z wbudowanym odbiornikiem radiowym, uk ad rozpoznawania przeszkody z wy cznikiem przeci eniowym programowana pozycja komfortowa Wskazówki monta owe OXIMO RTS pasuje do standardowych uchwytów

Bardziej szczegółowo

Spis procedur i programów

Spis procedur i programów Spis procedur i programów Przykład 1.1. Szablon programu.................................... 10 Przykład 2.1. Dodawanie liczby jednobajtowej do trzybajtowej....................15 Przykład 2.2. Dodawanie

Bardziej szczegółowo

linkprog programator USB www.rcconcept.pl info@rcconcept.pl

linkprog programator USB www.rcconcept.pl info@rcconcept.pl linkprog programator USB www.rcconcept.pl info@rcconcept.pl 1 linkprog wersja 2.0 Przeznaczenie linkprog to urządzenie umoŝliwiające podłączenie programowalnych urządzeń marki RCConcept do komptera PC

Bardziej szczegółowo

Adapter USB do CB32. MDH-SYSTEM ul. Bajkowa 5, Lublin tel./fax.81-444-62-85 lub kom.693-865-235 e mail: info@mdh-system.pl

Adapter USB do CB32. MDH-SYSTEM ul. Bajkowa 5, Lublin tel./fax.81-444-62-85 lub kom.693-865-235 e mail: info@mdh-system.pl MDH System Strona 1 MDH-SYSTEM ul. Bajkowa 5, Lublin tel./fax.81-444-62-85 lub kom.693-865-235 e mail: info@mdh-system.pl Adapter USB do CB32 Produkt z kategorii: Elmes Cena: 42.00 zł z VAT (34.15 zł netto)

Bardziej szczegółowo