1. Velmi jemný úvod do programování
microprocesorů
Ing. Pavel Bánský
2. Agenda
Trocha historie
Trocha teorie
Programování
Komunikace s okolním světem
3. 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
4. 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é
6. 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
9. 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í
10. 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
11. Různé technologie
Arduino
Založeno na procesorech Atmel-AVR
Programovací jazyk podobný C++
Snadné použití
http://arduino.cc/en/Reference/HomePage
12. 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
13. 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);
}
14. 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
16. 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