• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Mcu
 

Mcu

on

  • 1,194 views

miniintervention into robo-world by Ing. Pavel Bansky

miniintervention into robo-world by Ing. Pavel Bansky

Statistics

Views

Total Views
1,194
Views on SlideShare
1,190
Embed Views
4

Actions

Likes
0
Downloads
4
Comments
0

1 Embed 4

http://www.slideshare.net 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Mcu Mcu Presentation Transcript

    • Velmi jemný úvod do programování microprocesorů Ing. Pavel Bánský
    • Agenda Trocha historie  Trocha teorie  Programování  Komunikace s okolním světem 
    • Trocha historie Vysoký stupeň integrace umožnil výrobu  mikroprocesorů „stovky“ klopných obvodů v jednom pouzdře  „tisíce“ tranzistorů v jednom pouzdře  1971 – první mikroprocesor Intel 4004  2009  8 bitové mikroprocesory  16 bitové mikroprocesory  32 bitové mikroprocesory 
    • Trocha teorie Mikroprocesor = mikropočítač  Poslouchá příkazy (velmi atomické instrukce)  Má paměť  Flash – pro uložení programu  RAM – pro běh programu a „přemýšlení“  Vstupně a výstupní obvody  Digitální  Analogové 
    • Příklad programu (symbolické instrukce) mov R1,#POCET odecet: mov DPTR,#VYSTUP clr C mov R0,#PROSTOR mov A,DOLNI2 subb A,DOLNI1 ZAPIS: mov POMOCD,A mov POMOCH,@R0 mov A,HORNI2 inc R0 subb A,HORNI1 mov A,@R0 mov POMOCH,A movx @DPTR,A clr C inc DPTR mov A,POMOCH rrc A mov A,POMOCHm mov POMOCH,A movx @DPTR,A v=(ni+1 – ni) / 4 mov A,POMOCD inc DPTR rrc A inc R0 mov POMOCD,A djnz R1,ZAPIS clr C KONEC: sjmp KONEC mov A,POMOCH rrc A test1: jnc vymen mov @R0,A ljmp odecet inc R0 vymen: mov POMOCD,DOLNI1 mov DOLNI1,DOLNI2 mov A,POMOCD mov DOLNI2,POMOCD rrc A mov POMOCD,HORNI1 mov @R0,A mov HORNI1,HORNI2 mov HORNI2,POMOCD inc R0 ljmp odecet djnz R1,HLAVNI
    • Programování Program se píše v PC  Provádí se překlad (kompilace) do strojového kódu  Výsledný datový soubor se nahraje do mikropočítače  speciálním programovacím obvodem
    • Jste zděšeni?
    • Nebuďte
    • Mikroprocesory pro línější Využívají běžné mikroprocesory  Obsahují interpretr vyššího programovacího jazyka  Na způsob Basic, Pascal, C, Java  Mají překladač/kompilátor vyššího programovacího  jazyka Program se nahrává pomocí seriového  portu, USB, sítě Možnost komunikace s PC pro případ ladění 
    • Různé technologie Microsoft .NET Micro Framework  Profesionální řešení založené na procesorech ARM  Objektový programovací jazyk C#  Vysoká produktivita a možnosti  http://www.microsoft.com/netmf 
    • Různé technologie Arduino  Založeno na procesorech Atmel-AVR  Programovací jazyk podobný C++  Snadné použití  http://arduino.cc/en/Reference/HomePage 
    • Různé technologie Picaxe  Založeno na procesorech Microchip PIC  Obsahuje interpret jazyka Basic  Jednoduché strukurované programování  Dobrá dokumentace  http://www.rev-ed.co.uk/docs/picaxe_manual1.pdf 
    • Příklad programu (vyšší programovací jazyk) I2CDevice.I2CTransaction[] xact = new I2CDevice.I2CTransaction[] { bus.CreateWriteTransaction(new byte[] { 0x02}), bus.CreateReadTransaction(buffer) }; int count = bus.Execute(xact, 2000); if (count == 3) { int azimuth = buffer[0] << 8; azimuth |= buffer[1]; azimuth /= 10; ShowAzimuth(azimuth); }
    • Komunikace s okolním světem Digitální vstupy / výstupy  Měření délky pulsů  Počítání pulsů  Spouštěcí impuls 10 s PIN 1 Impuls úměrný vzálenosti 100 s – 25ms PIN 2
    • Komunikace s okolním světem Analogové vstupy  Měření vstupního napětí 
    • Kam dál http://www.hobbyrobot.cz/  http://shop.snailinstruments.com  Robotický den – Soutěž Eurobot  Sobota 25. Dubna 2009  10 – 17  Retro Music Hall, Francouzská 4, Praha 2 