Podobné dokumenty







David Matoušek, Bohumil Brtík PROGRAMOVÁNÍ MIKROKONTROLÉRÙ S JÁDREM 8051 V JAZYCE C Názoré pøíklady a fukèí programy pro AT89S52 Bez pøedchozího písem







Komerèní využití stavebních návodù je povoleno jen s písemným souhlasem autora a nakladatelství. Soubory na CD ROM mající pøímo vztah ke knize, které



MIKROKONTROLÉRY PIC BEZ PŘEDCHOZÍCH ZNALOSTÍ

V deší dobì stále více programátorù postupì pøechází z klasického psaí kódu v assembleru a itegrovaá vývojová prostøedí a bázi jazyka C. Neí se co div



APLIKACE MIKROKONTROLÉRŮ PIC32MX




ALGORITMY ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ



APLIKACE ALGORITMŮ ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ 1. DÍL

David Matoušek ÈÍSLICOVÁ TECHNIKA základy konstruktérské praxe Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována ne


PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_



MIKROKONTROLÉRY PIC PRO POKROČILÉ


)HULWRYpMiGUR 2VFLOiWRU 'HWHNWRU.ORSQêREYRG.RQFRYêþOHQ




OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů Standardně zavedené proudy


29 PØÍKLAD È. 11 VÝPIS ÈÍSLA POMOCÍ PRINTF NA MLCDGEN Nyí si ukážeme, jak upravit pøíklad è. 10 tak, abychom mohli používat fukci pritf pro výpis text

3. Sekvenční obvody. b) Minimalizujte budící funkce pomocí Karnaughovy mapy

MIKROPROCESOROVÁ TECHNIKA 9 Událostní systém 9.1 Události Síť ERN Časování událostí Filtrace





3/ %,1'(& 83'1 &( &3 )XQNFH. + ; ; ; ; / ; ; + ; EH]H]PuQ\



Roman Neruda a Tomáš Holan C++ BUILDER V PØÍKLADECH Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožo


Výukový modul III.2 Inovace a zkvalitnění výuky prostřednictvím ICT

4 DIELEKTRICKÉ OBVODY ZÁKLADNÍ POJMY DIELEKTRICKÝCH OBVODŮ Základní veličiny a zákony Sériový a paralelní

Podìkování: Výsledkù publikovaných v této knize bylo dosaženo také za podpory projektù GAÈR 101/06/P108 Výzkum simulaèního a experimentálního modelová

Sekvenční logické obvody(lso)

GENEROVÁNÍ ZVUKŮ POMOCÍ MIKROKONTROLÉRŮ


Monografie poskytuje v pøehledné a praktické formì znalosti a výpoèetní nástroje pro modelování šíøení rádiových vln v zástavbì, tedy vnì i uvnitø bud



Sedlové ventily (PN 6) VL 2 2cestný ventil, přírubový VL 3 3cestný ventil, přírubový

Instalační manuál inels Home Control

Knihy obsahují základní vlastnosti a souhrnné pøehledy obvodù TTL V hlavní èásti jsou obvody seøazeny vzestupnì, podle èíselného oznaèení. U kaž


Podrobný obsah CHARAKTERISTIKA A POROVNÁNÍ ØADY PIC16F87X A PIC16F87XA TYPY POUZDER A PØIØAZENÍ VÝVODÙ PIC16F87X TYPY POUZDER A PØIØAZENÍ



Publikace prezentuje nìkteré poznatky z obsáhlé oblasti analogových soustav, které v poslední dobì prodìlávají rozvoj. Z toho dùvodu ani nemùže podat


veličiny má stejný řád jako je řád poslední číslice nejistoty. Nejistotu píšeme obvykle jenom jednou

BEZKONKURENČNÍ SERVIS A PODPORA.

Jan Humlhans NÁBOJOVÉ PUMPY funkce, pøehled a použití Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmno

Iterační výpočty projekt č. 2




ELEKTRONICKÉ PRVKY 7 Výkonové a spínací aplikace tranzistorů 7.1 Ztrátový výkon a chlazení součástky První a druhý průraz bipolárního

PK Design. Uživatelský manuál. Modul USB-FT245BM v2.2. Přídavný modul modulárního vývojového systému MVS. Verze dokumentu 1.0 (7. 11.


displeje pro zadní projekci

Kniha je urèena všem zájemcùm o teorii elektrických obvodù Poslouží jako pøíruèka pro praxi, ale i jako uèebnice pro studenty støedních a vysokých ško

Novější verze Linuxu již ovladače pro obvody FTDI v sobě obsahují. Ovladač je potřeba nainstalovat pro každý používaný USB port


Konektory a Kabely. Aneb zařízení integrovaná do základní desky a konektory a kabeláž pro připojení externích zařízení


Výukový modul III.2 Inovace a zkvalitnění výuky prostřednictvím ICT

OBD II kabel Fast KKL - USB, komp. s VAG-COM instalace ovladače pro Windows


Regulační ventily (PN 16) VF 2 2-cestné, přírubové VF 3 3-cestné, přírubové



UDAQ multifunkèní modul pro rozhraní USB

Převodník USB na RS232. Milan Horkel

2 STEJNORODOST BETONU KONSTRUKCE

DOKOPO. Komunikaèní karta se samostatným procesorem a dual-port pamìtí. Technická pøíruèka. verze 2.0. A plikace Mikroprocesorové Techniky

Spojitost a limita funkcí jedné reálné proměnné

UHK Fórum. Univerzita Hradec Králové Fakulta informatiky a managementu Informační management Databázové systémy II

Transkript:

David Matoušek UDÌLEJTE SI Z PC V DELPHI 1 díl Praha 2003

Komerèí využití stavebích ávodù je povoleo je s písemým souhlasem autora a akladatelství Soubory a CD-ROM mající pøímo vztah ke kize, tj obsah adresáøe PROGRAMY, ejsou volì šiøitelé David Matoušek UDÌLEJTE SI Z PC V DELPHI 1 díl Bez pøedchozího písemého svoleí akladatelství esmí být kterákoli èást kopírováa ebo rozmožováa jakoukoli formou (tisk, fotokopie, mikrofilm ebo jiý postup), zadáa do iformaèího systému ebo pøeášea v jié formì èi jiými prostøedky Autor a akladatelství epøejímají záruku za správost tištìých materiálù Pøedkládaá zapojeí a iformace jsou zveøejìy bez ohledu a pøípadé patety tøetích osob Nároky a odškodìí a základì zmì, chyb ebo vyecháí jsou zásadì vylouèey Veškerá práva vyhrazea Ig David Matoušek, 2003 Nakladatelství BEN techická literatura, Vìšíova 5, Praha 10 David Matoušek: Udìlejte si z PC v DELPHI 1 díl BEN techická literatura, Praha 2003 1 vydáí ISBN 80-7300-111-X

OBSAH O KNIZE 8 DÙVOD VZNIKU TÉTO KNIHY 9 1 VÝVOJOVÉ PROSTØEDÍ BORLAND DELPHI 7 0 11 1 1 Kompoety, objekt ispektor, formuláø a textový editor 12 1 2 Fukce Widows API 13 1 3 Základy rozšíøeého používáí Delphi 14 1 3 1 Ukazatele 14 1 3 2 Øetìzce 15 1 3 3 Volací kovece 17 1 3 4 Objekt Pascal 18 1 4 Dyamické kihovy (DLL) 22 2PØÍMÝ PØÍSTUP NA PORTY 25 2 1 Úvod do problému 26 2 2 Ovladaè ZLPortIO 26 2 3 Tøída TPort 26 2 3 1 Implemetace 27 2 3 2 Uživatelský popis 28 3 PARALELNÍ PORT DLE STANDARDU SPP 29 3 1 SPP Stadard Parallel Port 30 3 2 Widows XP a (možé) problémy s paralelím portem 32 3 3 Programové øízeí SPP 33 3 4 Tøída TParallel ovládáí paralelího portu fukcemi Widows API 33 3 4 1 Implemetace 33 3 4 2 Uživatelský popis 36 3 5 LPTLCD øízeí LCD displeje pøes paralelí port 36 3 5 1 Struèý popis ovládáí LCD displeje 36 3 5 2 Schéma zapojeí 39 3 5 3 Plošý spoj 39 3 5 4 Testovací aplikace 40 3 6 LPTSMT mìøeí teploty èidlem SMT160-30 47 3 6 1 Struèý popis èidla SMT160-30 47 3 6 2 Schéma zapojeí 47 A D MATOUŠEK: UDÌLEJTE SI Z PC V DELPHI 1 DÍL 3

3 6 3 Testovací aplikace 48 3 7 Pozámka k pøípravku SPPTEST 54 4 PØÍMÉ ØÍZENÍ SÉRIOVÉHO PORTU 55 4 1 Liky sériového portu s podporou pøímého øízeí 56 4 2 Tøída TSPort Programové øízeí liek modemu sériového portu 57 4 2 1 Rozvaha 57 4 2 2 Implemetace 57 4 2 3 Uživatelský popis 61 4 2 4 Ukázková aplikace DIRCOM 62 4 3 Pøípravek COM4021 66 4 3 1 Schéma zapojeí 67 4 3 2 Tøída TCOM4021 69 4 3 3 Vlastí aplikace COM4021 72 4 3 4 Oživeí 75 4 4 Pøípravek COM1320 76 4 4 1 Struèý popis obvodu TC1320 76 4 4 2 Schéma zapojeí 78 4 4 3 Tøída TCOM1320 81 4 4 4 Vlastí aplikace COM1320 84 4 4 5 Oživeí 87 5 ASYNCHRONNÍ PØENOS NA SÉRIOVÉM PORTU 89 5 1 Tøída TSerial 90 5 1 1 Implemetace 90 5 1 2 Uživatelský popis 97 5 2 Testovací pøípravek AT8VV2 98 5 2 1 Schéma zapojeí 98 5 2 2 Program pro AT89C2051 100 5 3 Testovací aplikace pro pøípravek AT8VV2 103 5 4 Oživeí pøípravku AT8VV2 109 6 POUŽITÍ OBVODU FT232BM PRO PRÁCI SE SBÌRNICÍ USB 111 6 1 Základí pojmy USB 112 6 1 1 Koektory a kabely 112 6 1 2 Verze USB a pøeosové rychlosti 113 6 1 3 Deskriptor zaøízeí 113 6 1 4 Huby rozboèovaèe 114 6 2 Struèý popis obvodu FT232BM 115 6 2 1 Základí vlastosti FT232BM 115 4 D MATOUŠEK: UDÌLEJTE SI Z PC V DELPHI 1 DÍL A

6 2 2 Blokové schéma FT232BM 116 6 2 3 Popis vývodù FT232BM 117 6 2 4 Pøipojeí E 2 PROM 120 6 2 5 Napájeí aplikace z USB sbìrice 120 6 2 6 Øízeí spotøeby vìjších obvodù 121 6 3 Bit Bag režim 121 6 4 Tøída TFT232 122 6 4 1 Implemetace 122 6 4 2 Uživatelský popis 129 6 5 Pøípravek FT232TST 130 6 6 Ovladaè a programováí E 2 PROM 132 6 6 1 Ovladaè FTD2XX 132 6 6 2 EFSProg programátor kofiguraèí E 2 PROM 133 6 6 3 Struèý popis položek meu 134 6 6 4 Nový ovladaè 134 6 7 Pøíklad použití (režim Bit Bag) 134 7 LPTUNI UNIVERZÁLNÍ PØÍPRAVEK PRO PARALELNÍ PORT 139 7 1 Schéma zapojeí 140 7 2 Výkres desky plošých spojù 142 7 3 Ovládací rozhraí TLUIterface 145 7 3 1 Implemetace 145 7 3 2 Uživatelský popis 148 7 4 Testovací aplikace 149 7 4 1 Krátce o aplikaci 149 7 4 2 Oživeí pøípravku LPTUNI 153 7 5 Pøíklad èasovaého øízeí spotøebièù 153 7 5 1 Iicializaèí soubor TIMER INI 154 7 5 2 Programové øešeí 155 7 5 3 Používáí aplikace 161 8 JEDNODUCHÝ DVOUKANÁLOVÝ DIGITÁLNÍ OSCILOSKOP 163 8 1 Schéma zapojeí 164 8 2 Výkres desky plošých spojù 166 8 3 Øídicí pøíkazy 168 8 4 Firmware 171 8 5 Ovládací program 181 8 5 1 Tøída TOSC Ovládací rozhraí 181 8 5 2 Vlastí aplikace 186 A D MATOUŠEK: UDÌLEJTE SI Z PC V DELPHI 1 DÍL 5

8 6 Oživeí 197 8 7 Návrhy a další vylepšeí 198 9 USBMC 2 0 UNIVERZÁLNÍ MÌØICÍ DESKA 199 9 1 Schéma zapojeí 200 9 2 Výkres desky plošých spojù 203 9 3 Øídicí pøíkazy 206 9 3 1 Pùvodí pøíkazy dle verze 1 0 207 9 3 2 Nové pøíkazy a vývody mikrokotroléru 209 9 4 Firmware 210 9 5 TUSBMC ovládací rozhraí 221 9 6 USBMC 2 0 komplexí testovací aplikace 231 9 7 Oživeí 243 9 8 Pøíklad použití mìøeí teploty èidlem SMT160-30 244 10 PØÍLOHA PROPOJOVACÍ KABELY 249 10 1 Propojovací kabel pro paralelí port (LPTKAB) 250 10 2 Propojovací kabel pro sériový port (COMKAB) 250 10 3 Propojovací kabel PSLKAB 250 10 4 Propojovací kabel pro USB 251 11 DODAVATELÉ SOUÈÁSTEK, MODULÙ A HOTOVÝCH PØÍPRAVKÙ UVEDENÝCH V TÉTO KNIZE 253 11 1 Sezamy souèástek 254 11 2 GM Electroic 254 11 3 Zásilková služba Electroic Obecice 254 11 4 ASIX 254 ZÁVÌR 255 KONTAKT NA AUTORA 255 PØEHLED PØÍPRAVKÙ 256 PLOŠNÉ SPOJE 256 LITERATURA 257 6 D MATOUŠEK: UDÌLEJTE SI Z PC V DELPHI 1 DÍL A

CO NAJDETE NA DOPROVODNÉM CD-ROM Doprovodé CD-ROM obsahuje všechy iformace potøebé pro sadou práci s kihou Tyto iformace lze rozdìlit do logických celkù, které se acházejí v oddìleých adresáøích: adresáø _DELPHI7 obsahuje, adresáø BEN obsahuje off-lie verzi www stráek akladatelství BEN techická literatura (aktualizováo k poèátku øíja 2003), jejichž souèástí je poèítaèová verze tištìého katalogu Edièího pláu podzim 2003 a samostatého pøehledu aší produkce BEN 2003, adresáø DATASHEET obsahuje dokumetaci vybraých itegrovaých obvodù, které jsou v kize používáy, ve formátu PDF Najdete zde též samorozbalitelý archiv programu Adobe Acrobat Reader v ìkolika verzích, který slouží k prohlížeí PDF souborù, adresáø EFSPROG, je programátor kofiguraèích E 2 PROM (viz kap 11) Teto ovládací program je mohem komfortìjší ež origiálí od firmy FTDI Chip, adresáø FOTO obsahuje, jak sám ázev apovídá, fotografie hotových pøípravkù Každý byl afoce z ìkolika pohledù, aby byla lépe dokumetováa jejich možá stavba, Do shodého adresáøe jsme umístili trial verzi prohlížeèe ACDSee stažeou z Iteretu (http://www acdsystems com): ACDSee Classic (velikost istalaèího souboru cca 1,6 MB, miimálí požadavky Widows 95/98/Me/NT4/2000, PC 486DX s 32 MB RAM, režim grafického adaptéru s 256barvami, 4 MB volého místa a pevém disku, vhodý Iteret Explorer 4 0 ebo pozdìjší) Tip: pokud se vám fotografie zdají pøíliš tmavé, aktivujte ve vašem prohlížeèi Gamma korekci a hodotu apø 1 50 (optimálí hodota závisí a astaveí vašeho grafického subsystému) adresáø OVLADACE obsahuje strukturu ìkolika podadresáøù: D2XX zde ajdete ovladaèe pro rozhraí D2XX (viz kap 3) v podadresáøi EFS jsou ovladaèe publikovaých kostrukcí a v podadresáøi FTDI jsou origiálí ovladaèe od výrobce V podadresáøi VCP ajdete ovladaèe virtuálího sériového portu (viz kap 12) adresáø PROGRAMY obsahuje zdrojové i pøeložeé formy všech programù realizovaých v kize, adresáø SPOJE obsahuje klišé plošých spojù všech pøípravkù popsaých v kize ve formátu TIF a avíc ve zdrojovém formátu BRD programu EAGLE je verze 2 6, aby si èteáøi pøípadì mohli plošé spoje upravit podle vlastích pøedstav Nìkteré spoje jsme ještì v redakci dodateèì upravovali (zvìtšováí úchytých plošek pro souèástky, ), takže fiálí verze je uložea pouze ve formátu TIF (je shodá s klišé otištìými v kize), A D MATOUŠEK: UDÌLEJTE SI Z PC V DELPHI 1 DÍL 7

O KNIZE Kiha uvádí kostrukce ìkolika zaøízeí, která lze používat v amatérské praxi ale i mohem obecìji Ovládací programy jsou vytvoøey ve vývojovém prostøedí Borlad Delphi 7 0 a fugují a operaèích systémech Widows 98/2000/XP Prví kapitola uvádí pokroèilejší programovací techiky Delphi (ukazatele, øetìzcové typy, volací kovece, vlastosti a události, RTTI, voláí fukcí z dyamických kihove), které jsou dùležité pro efektiví programováí Druhá kapitola struèì popisuje ovladaè ZLPortIO, který poskytuje plý pøístup k portùm poèítaèe Dále je implemetováa tøída TPort, která použití ovladaèe velmi zjedodušuje Tøetí kapitola je zamìøea a popis paralelího portu dle stadardu SPP Jsou také pøipojey dvì zajímavé aplikace paralelího portu (ovládáí LCD displeje pøes paralelí port a použití èidla SMT160-30 pro mìøeí teploty) Ètvrtá kapitola se vìuje popisu sériového portu a pøiáší dvì zajímavé aplikace øízeé pomocí liek modemu (8bitový vstupí port a levý 8bitový D/A pøevodík) Obì kostrukce jsou apájey pøímo ze sériového portu, takže odpadá utost použití vìjšího apájecího zdroje Pátá kapitola ukazuje používáí sériového asychroího pøeosu a sériovém portu Také je pøipomeut pøípravek AT8VV, a kterém si lze teoretické iformace sado ovìøit Šestá kapitola pøiáší struèý popis obvodu FT232BM (kovertoru USB<=>RS232) vèetì vybraých ovládacích fukcí, který je zakoèe vytvoøeím jedoduchého testovacího pøípravku pro USB Posledí tøi kapitoly jsou vìováy tvorbì složitìjších zaøízeí: LPTUNI uiverzálí deska pro paralelí port (triaky ebo relé pro ovládáí sí ových spotøebièù, trazistory pro spíáí stejosmìrých obvodù, jede digitálí vstup), COMOSC dvoukaálový digitálí osciloskop s rozlišeím 8 bitù a maximálí vzorkovací rychlostí 100 ksps (= 100 000 vzorkù za sekudu, tj samples per secod), USBMC uiverzálí mìøicí karta pro USB (D/A pøevodíky, A/D pøevodíky, digitálí vstupy a výstupy, èítaè a èasovaè) Pro všechy kostrukce jsou vytvoøey speciálí tøídy, které zajiš ují jejich ovládáí Tak mohou èteáøi velmi sado zaèleòovat publikovaý kód do svých kostrukcí a vytváøet vlastí obslužé programy s miimálím úsilím 8 D MATOUŠEK: UDÌLEJTE SI Z PC V DELPHI 1 DÍL A

DÙVOD VZNIKU TÉTO KNIHY Úvodem struèì vysvìtlím, proè jsem se rozhodl apsat kihu zamìøeou a ovládáí hardwarových zaøízeí pomocí vývojového prostøedí Delphi Po vydáí prvího a druhého dílu kihy Udìlejte si z PC mì reakce èteáøù vedly k pozatku, že moho zaèíajících programátorù je odrazeo zdálivou složitostí programováí v jazyce C++ Tato složitost je opravdu je zdálivá a vlastì je zpùsobea esmírou bohatostí programátorských ástrojù (zde mám hlavì a mysli velké možství klíèových slov) oproti pøehledìjšímu Pascalu Nicméì vývojové prostøedí C++ Builder, které jsem do této doby ve všech kihách používal, je velmi podobé Delphi (víte, že C++ Builder má èást kódu zapsaou v Pascalu?) Takže iformace podaé v [15] až [17] jsou dobøe použitelé i pro vývoj aplikací v Delphi Vzhledem k tomu, že však moho zaèáteèíkù erozumí rozdílùm sytaxe ebo eí schopo si programové kódy jedoduše pøepsat do Pascalu, rozhodl jsem se spolu s paem Liborem Kubicou z akladatelství BEN techická literatura vydat tuto kihu, která by rámcovì zahrula možosti ovládáí zaøízeí pøipojeých a paralelí ebo sériový port poèítaèe èi a stále více se prosazující sbìrici USB Nejde však o obaleí starých aplikací do ového kabátu Rozhodl jsem se pøiést øadu ových zapojeí, která mají praktické použití apøíklad ve vaší elektrodílì, pro podporu výuky elektropøedmìtù, v øízeí domácích spotøebièù a sad i mohem obecìji A D MATOUŠEK: UDÌLEJTE SI Z PC V DELPHI 1 DÍL 9

10 D MATOUŠEK: UDÌLEJTE SI Z PC V DELPHI 1 DÍL A