Podobné dokumenty








D DE = = + [ + D[ [ D = - - XY = = + -

červená LED 1 10k LED 2


Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

Podprogram DELAY.INC. - konstanty časových prodlev. RB3 equ 11b DEL1MS: DEL800: DEL400: DEL200 DEL100 DELAY: ret DEL1MS

Rozhraní mikrořadiče, SPI, IIC bus,..


VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

8,1 [9] [9] ± ± ± ± ± ± ± ± ±

M R 8 P % 8 P5 8 P& & %


LABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická

zení Koncepce připojení V/V zařízení POT POT ... V/V zařízení jsou připojena na sběrnici pomocí řadičů. Řadiče Připojení periferních zařízení


IMPLEMENTACE ČTENÍ A ZÁZNAMU NA SD KARTU


UDAQ-1216A UDAQ-1416A. multifunkèní modul pro rozhraní USB



STEDNÍ PRMYSLOVÁ ŠKOLA, OSTRAVA - MORAVSKÁ OSTRAVA, KRATOCHVÍLOVA 7. (studijní text)


PK Design. MB-ATmega16/32 v2.0. Uživatelský manuál. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (21.12.

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Měřič krevního tlaku. 1 Měření krevního tlaku. 1.1 Princip oscilometrické metody 2007/



Klimatizace. Třída: 4.C. Střední Průmyslová Škola Elektrotechnická Havířov Protokol do MIT. Skupina: 3. Zpráva číslo: 3

Středoškolská technika 2015 MODEL STARTOVACÍCH HODIN

Vestavné systémy BI-VES Přednáška 5

Microchip. PICmicro Microcontrollers

9. Kompenzace účiníku u spínaných zdrojů malých výkonů

Mikrořadiče řady 8051.

D/A převodník. Třída: 4.C Elektrotechnická Havířov Protokol do MIT Skupina: 3. Střední Průmyslová Škola. Zpráva číslo: 4


Univerzální jednočipový modul pro řízení krokových motorů

Rozšiřující modul s protokolem MODBUS


2.4 Cykly 2. ZÁKLADY JAZYKA C


Příloha č. 1. Software pro prototyp mikroprocesorově řízeného ohřevu aktivních vložek využívající moderních polovodičových prvků

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 6

Mikrořadiče pro přístrojovou techniku

Mikroprocesory v přístrojové technice

Popis zapojení: < 27 dbµv. < 33 dbµv LW. S/N ratio (60 dbµv): > 57 db FM mono > 52 db AM

Programovatelné automaty PA 44 a PA 82

Překladač - Assembler, úloha SW_ UART


MIKROPROCESOROVÁ TECHNIKA

ZÁVĚREČNÁ PRÁCE Z PŘEDMĚTU MIT


Vysoká škola chemicko-technologická v Praze Fakulta chemicko-inženýrská Ústav počítačové a řídicí techniky. Aplikace mikroprocesorů.


Rozhraní mikrořadiče, SPI, IIC bus,..

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY


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é

Zemní ochrana rotoru generátoru ve spojení proudové injektážní jednotky PIZ 50V a ochrany REJ 521

APLIKACE MIKROKONTROLÉRŮ PIC32MX


VYŠŠÍ ODBORNÁ ŠKOLA Měřič tepové frekvence M-3909

Programátorský model procesoru x51

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY

ČEMU ROZUMÍ MIKROPROCESOR?


A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL. Rozhraní mikrořadiče, SPI, IIC bus,.. A438NVS, kat. měření, ČVUT - FEL, Praha. J.

CH_SW_71 - V1.0. Program vytváří z obvodu PIC16C71 / PIC16C711 přepínač vstupů pro NF zesilovač.

Mikrokontroléry. Doplňující text pro POS K. D. 2001

4.2 Paměti PROM NiCr. NiCr. Obr.140 Proudy v naprogramovaném stavu buňky. Obr.141 Princip PROM. ADRESOVÝ DEKODÉR n / 1 z 2 n

Přerušovací systém s prioritním řetězem

Praktické úlohy- 2.oblast zaměření

5. A/Č převodník s postupnou aproximací

Zadání úlohy: Vestavný systém schodišťový automat se zobrazením

Komunikační jednotka MEg202.2

ST ˇ REDOˇ SKOLSK A ODBORN A ˇ CINNOST Mikroprocesorov y v yukov y syst em Vojtˇ ech Drbohlav Jiˇ c ın 2010

enos dat rnici inicializaci adresování adresu enosu zprávy start bit átek zprávy paritními bity Ukon ení zprávy stop bitu ijíma potvrzuje p

Digitální teploměr s LCD


Liniový registrační přístroj KS 3930 A KS 3930 B

Překladač - Assembler. kat. měření, ČVUT - FEL, Praha A3B38MMP, X38MIP Přednáška 3 - část. J. Fischer

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard


Elektronická stavebnice: Generátor frekvence s optickým a akustickým výstupem

evodníky Univerzita Tomáše Bati ve Zlíně Ústav elektrotechniky a měření Přednáška č. 14 Milan Adámek adamek@fai.utb.cz U5 A

Rozhraní mikrořadiče, SPI, IIC bus,.. Přednáška 11 (12)

Registrační teploměr

1.2 Realizace èekání pomocí jednoduché programové smyèky Pøíklad 3: Chceme-li, aby dítì blikalo baterkou v co nejpøesnìjším intervalu, øekneme mu: Roz

Obsah. Zobrazovací a ovládací prvky na čelním panelu. Účel použití. Elektrické zapojení. Obr : Analogový vstupní modul 07 AI 91

Základy programování 8051

Architektura počítače

Obvody a architektura počítačů. Jednoprocesorové počítače

Transkript:

Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby ètenáø vidìl, jakým zpùsobem je titul zpracován a mohl se také podle tohoto, jako jednoho z parametrù, rozhodnout, zda titul koupí èi ne). Z toho vyplývá, že není dovoleno tuto ukázku jakýmkoliv zpùsobem dále šíøit, veøejnì èi neveøejnì napø. umis ováním na datová média, na jiné internetové stránky (ani prostøednictvím odkazù) apod. redakce nakladatelství BEN technická literatura redakce@ben.cz

11.3. Pøípravek ATSPITST Pro test funkce SPI rozhraní byl navržen pøípravek ATSPITST. Jedná se o jednoduchý SPI pøíjímaè vystavìný na základì posuvného registru typu SIPO s oznaèením 7HCT9 (IO 1 ). Posuvný registr typu 7HCT9 byl popsán napøíklad v [1, nebo 6] a lze jej bez vážnìjších potíží pøipojit na SPI sbìrnici. Schéma zapojení je uvedeno na obr. 11.21. 3,63 *1 6. 026, 66 6/ /. 6, 67 2( *1,2 62 *1 32 Obr. 11.21 Schéma zapojení pøípravku ATSPITST Vývod SI je vstup sériových dat, pøipojí se tedy na signál MOSI od mastera. Podobnì CLK jsou hodiny pøenosu, pøipojí se tedy na signál SCK mastera. Poslední je hodinový vstup STB, který byl pøipojen na vývod 66 (mohl by být ale pøipojen i jinam). Ten jediný musíme ovládat programovì (jeho obsluhu nezajistí SPI rozhraní). Nábìžná hrana tohoto signálu provede pøepis sériovì pøijatých dat na paralelní výstup tvoøený vývody Q 1 až Q 8. Signály SPI sbìrnice jsou pøivedeny na konektor PISP, 8bitová výstupní sbìrnice vèetnì napájení je k dispozici na konektoru PO. Na konektor PO tedy mùžeme pøipojit libovolný z výstupních pøípravkù, napøíklad AT8LED nebo ATDISP. Obr. 11.22 Plošný spoj pøípravku ATSPITST (BEN 020) Obr. 11.23 Osazovací plánek A Práce s mikrokontroléry Atmel AT89LP202/02 167

Rozpis souèástek pro pøípravek ATSPITST (cena asi 0 Kè): C 1 CK 100N/63V 1 ks IO 1 7HCT9 1 ks PISP, PO MLW10G 2 ks 11.3.6 Pøíklad PROG_12 Tento pøíklad ukazuje použití SPI rozhraní pro výstup dat. Pøíklad è.12: Pøipojte konektor PISP pøípravku ATSPITST na port P1. Na konektor PO pøipojte pøípravek AT8LED. Vytvoøte program, který pomocí SPI rozhraní odesílá sekvenci dat odpovídající bìžícímu svìtlu (PROG_03, varianta RLC). V tomto pøípadì budeme používat pouze port P1. Pro jednoduchost jej nakonfigurujeme tak, že všechny jeho bity budou kvaziobousmìrné. Dále musíme povolit alternativní funkci vývodù P1. až P1.7 (vývody SPI rozhraní). Nyní se dostáváme ke konfiguraci SPI rozhraní. Musíme tedy správnì nastavit obsah registru SPCR: n nebudeme používat pøerušení (SPIE = 0), n bit SPE musíme nastavit až po volbì režimu (SPE = 0), n bity musíme odeslat v poøadí LSB až MSB, jinak budou pøetoèeny na výstupu (DORD = 0), n hodinový signál generuje mikrokontrolér (MSTR = 1), n v souladu s obr. 11. volíme CPOL = 0 a CPHA = 0 (datové bity se potvrzují nábìžnou hranou hodin, mají malý pøedstih), n použijeme nejrychlejší hodinový signál, SPR1 = 0, SPR0 = 0 (pro 16 MHz krystal vychází v souladu s tab.11.1 hodinový kmitoèet 8 MHz). Takže do registru SPCR zapíšeme hodnotu 00010000B. Následnì nastavíme bit SPE, takže zapíšeme podobnou hodnotu 01010000B. Tím je SPI rozhraní konfigurováno a aktivováno. Vlastní odesílání dat bude probíhat jejich zápisem do registru SPDR. Narozdíl od pøíkladu PROG_03 nebudeme používat rotaci, ale data budeme tahat z tabulky oznaèené návìštím TAB. Tato tabulka je vytvoøena v programové pamìti, pro pøístup k tìmto konstantám se používá instrukce MOVC A,@A+DPTR. Èili adresa do programové pamìti je dána souètem obsahu akumulátoru a registru DPTR, pøeètený údaj se uloží do akumulátoru. Pøed spuštìním smyèky CYKL naplníme DPTR adresou tabulky konstant a registr B zase jejich poètem. Vývod SS ovládá signál STB, zápis probíhá nábìžnou hranou, na zápis se tedy pøipravíme instrukcí CLR SS (SS = 0). Pøi ètení konstant bude akumulátor nulový, takže budeme zvyšovat adresu obsaženou v registru DPTR (uchovávání jeho obsahu by bylo velmi pracné). 168 Práce s mikrokontroléry Atmel AT89LP202/02 A

Po vykonání instrukce MOV SPDR,A zaène vysílání. Bude však nìjakou dobu trvat. Nové vysílání nemùžeme zaèít døíve, než se dokonèí zapoèatý pøenos. Proto se testuje pøíznak SPIF obsažený v registru SPSR. Nelze k nìmu bohužel pøistoupit bitovou adresu, musíme jej nahrát do akumulátoru a pak jej testovat (jedná se o sedmý bit). Pokud bude pøíznak SPIF nastaven, pøeètením registru SPSR dojde k jeho hardwarovému vynulování. Takže mùžeme pokraèovat dále. Nakonec tedy pøenesený údaj zapíšeme na výstupy obvodu 7HCT9 vykonáním instrukce SETB SS (STB = 1, generovala se nábìžná hrana), zaøadíme krátkou èekací smyèku realizovanou podprogramem CEKANI, zvýšíme adresu obsaženou v registru DPTR. Pokud není vynulován registr B, pokraèuje dalším bajtem. Po odeslání celé tabulky (B = 0) se provede skok na návìští SMYCKA a celá sekvence se opakuje. PROG_12.ASM: $INCLUDE(LP202.INC) SS EQU P1. ;/SS signál POCET EQU 9 ;poèet bajtù RESET: ;inicializace: MOV P1M0,#0 ;P1 konfigurován MOV P1M1,#0 ;kvaziobousmìrnì MOV P1,#11100000B ;alt.f. P1. až P1.7 MOV SPCR,#00010000B ;konfig. SPI MOV SPCR,#01010000B ;nastav SPE SMYCKA: MOV DPTR,#TAB ;DPTR na TAB MOV B,#POCET ;B na poèet CYKL: CLR SS ;STB=0 CLR A ;A=0 MOVC A,@A+DPTR ;èti z TAB MOV SPDR,A ;pošli pøes SPI SPITST: MOV A,SPSR ;test konce JNB ACC.7,SPITST ;SPIF SETB SS ;STB=1 ACALL CEKANI ;èekání 0,1 s INC DPTR ;zvyš pozici DJNZ B,CYKL ;zpìt do cyklu SJMP SMYCKA ;zaèni znovu ;èekací rutina: CEKANI: MOV R0,#0 ;nastavení MOV R1,#208 ;èekací doby MOV R2,#10 ;zhruba 0,1 s A Práce s mikrokontroléry Atmel AT89LP202/02 169

CEKEJ: DJNZ R0,CEKEJ ;1. smyèka DJNZ R1,CEKEJ ;2. smyèka DJNZ R2,CEKEJ ;3. smyèka RET ;data pro vysílání: TAB: DB 11111111B ;zhasnuto DB 11111110B ;D0 DB 11111101B ;D1 DB 11111011B ;D2 DB 11110111B ;D3 DB 11101111B ;D DB 11011111B ;D DB 10111111B ;D6 DB 01111111B ;D7 END Pøíklad najdete na doprovodném CD-ROM v adresáøi PROGRAMY\PROG_12. 11.3.7 Pøípravek ATOSC Pøípravek ATOSC nám umožní vybudovat z mikroprocesoru jednoduchý digitální osciloskop (viz kapitolu 13.). Schéma zapojení je uvedeno na obr. 11.2. Konektor P 1 je urèen pro pøipojení na port P1, konektor P 3 pak zase na port P3. Jádrem zapojení je A/D pøevodník MCP3002 (IO 2 ). Napájecí a referenèní napìtí je získáno pøímo z vývojového kitu (není použit vnìjší zdroj), pouze je vyhlazeno èlánkem L 1, C. Vývody CLK, DOUT, DIN a CS jsou pøipojeny na odpovídající signály SPI kanálu: SCK, MISO, MOSI a 66. Z analogové èásti se používá pouze kanál CH 0, je schopen zpracovat napìtí v rozsahu 0 až U CC. Ochrana proti pøepìtí na vstupu je zajištìna omezovaèem R 6, D 1, D 2. Operaèní sí vystavìná kolem zesilovaèe IO 1 (MCP602) slouží k posuvu vstupního napìtí. Napìtí pøivedené na svorkovnici X 1 mùže bít bipolární v rozsahu zhruba 1/2 U CC až +1/2 U CC (tedy asi ±2, V). Vstupní napìtí pøivedené se ziskem 1 (tedy invertovanì) na výstup se totiž sèítá s polovinou U CC. Aby nebyl nutný záporný zdroj napìtí, byl zvolen operaèní zesilovaè MCP602, který vystaèí s nesymetrickým napájením. Výstup operaèního zesilovaèe je pøiveden ještì na neinvertující vstup analogového komparátoru, který je zabudován v mikrokontroléru (viz kapitolu 12). Invertující vstup je pak pøipojen na integraèní èlánek D/A pøevodníku tvoøený R 7, C. Tento pøevodník je vytvoøen z PWM signálu produkovaného na vývodu T0 (P3.). Dané zapojení bude sloužit pro spouštìní osciloskopu. Když vstupní napìtí dosáhne spouštìcí úrovnì (nastavené D/A pøevodníkem), odstartuje se snímání vstupního signálu. 170 Práce s mikrokontroléry Atmel AT89LP202/02 A

/ 3 8 6. 0,62 026, 66 /. 287,1 6,2 8 + + *1,2 ± ; *1 3 *1 Obr. 11.2 Schéma zapojení pøípravku ATOSC Obr. 11.2 Plošný spoj pøípravku ATOSC (BEN020) Obr. 11.26 Osazovací plánek A Práce s mikrokontroléry Atmel AT89LP202/02 171

Rozpis souèástek pro pøípravek ATOSC (cena asi 10 Kè): C 1 až C 3 CK 100N/63V 3 ks C E100M/16V 1 ks C E1M/0V 1 ks D 1, D 2 1N18 2 ks IO 1 MCP602-I/P 1 ks IO 2 MCP3002-I/P 1 ks L 1 TL. 100µH 1 ks P 1, P 3 MLW10G 2 ks R 1, R 2 RR 10K 2 ks R 3, R RR 100K 2 ks R RR 200K 1 ks R 6 RR 1K 1 ks R 7 RR 10K 1 ks X1 ARK00/2 1 ks Nyní si povíme nìco více o obvodu MCP3002. Jedná se o dvoukanálový A/D pøevodník s rozlišením až 10 bitù. Pracuje na principu postupné aproximace a pøevedený údaj vysílá sériovì, sbìrnicí SPI. Jedná se o pomìrnì rychlý pøevodník, takže z nìj mùžeme data naèítat velmi rychle. Podrobnìjší popis lze nalézt napøíklad v [2]. Na obr. 11.27 je ukázáno, že pro spuštìní pøevodu se musí po lince D IN vyslat startovací sekvence. První bit (start) má vždy hodnotu log. 1, ostatní tøi bity urèují: režim funkce (diferenèní proti zemi), kanál, zpùsob vysílání. Nejdøíve je z obvodu odeslán potvrzovací nulový bit a následuje 10 bitù v poøadí od nejvíce významného po nejménì významný. Poèet pøijímaných bitù je možno zkrátit, pøijmout napøíklad jen 8 bitù (nejnižší dva bity prostì vynecháme), pøedèasným vytažením linky CS na log. 1. W < W 6+ W < 6 W 686 /. 6WDUW 6*/,)) 2 6,*1 06) 2 6,*1,1 KRGQRWDQHPiYOLY 287 Y\VRNiLPSHGDQFH QXORYê ELW Y\VRNiLPSHGDQFH W 6$03/( W 219 W $7$ Obr. 11.27 Èasový diagram komunikace 172 Práce s mikrokontroléry Atmel AT89LP202/02 A