+ All Categories

Mcu

Date post: 27-May-2015
Category:
Upload: novakova
View: 649 times
Download: 0 times
Share this document with a friend
Description:
miniintervention into robo-world by Ing. Pavel Bansky
16
Velmi jemný úvod do programování microprocesorů Ing. Pavel Bánský
Transcript
Page 1: Mcu

Velmi jemný úvod do programování microprocesorů

Ing. Pavel Bánský

Page 2: Mcu

Agenda Trocha historie Trocha teorie Programování Komunikace s okolním světem

Page 3: Mcu

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

Page 4: Mcu

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é

Page 5: Mcu

Příklad programu (symbolické instrukce)

odecet: clr C mov A,DOLNI2 subb A,DOLNI1 mov POMOCD,A mov A,HORNI2 subb A,HORNI1 mov POMOCH,A clr C mov A,POMOCH rrc A mov POMOCH,A

mov A,POMOCD rrc A mov POMOCD,A

clr C mov A,POMOCH rrc A mov @R0,A

inc R0

mov A,POMOCD rrc A mov @R0,A

inc R0 djnz R1,HLAVNI

mov R1,#POCET mov DPTR,#VYSTUP mov R0,#PROSTOR

ZAPIS: mov POMOCH,@R0 inc R0 mov A,@R0 movx @DPTR,A

inc DPTR

mov A,POMOCHm movx @DPTR,A

inc DPTR inc R0 djnz R1,ZAPIS

KONEC: sjmp KONEC

test1: jnc vymen ljmp odecet

vymen: mov POMOCD,DOLNI1 mov DOLNI1,DOLNI2 mov DOLNI2,POMOCD mov POMOCD,HORNI1 mov HORNI1,HORNI2 mov HORNI2,POMOCD ljmp odecet

v=(ni+1 – ni) / 4

Page 6: Mcu

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

Page 7: Mcu

Jste zděšeni?

Page 8: Mcu

Nebuďte

Page 9: Mcu

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í

Page 10: Mcu

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

Page 11: Mcu

Různé technologie Arduino

Založeno na procesorech Atmel-AVR Programovací jazyk podobný C++ Snadné použití http://arduino.cc/en/Reference/HomePage

Page 12: Mcu

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

Page 13: Mcu

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); }

Page 14: Mcu

Komunikace s okolním světem Digitální vstupy / výstupy

Měření délky pulsů Počítání pulsů

PIN 1

PIN 2

Spouštěcí impuls 10 ms

Impuls úměrný vzálenosti 100 ms – 25ms

Page 15: Mcu

Komunikace s okolním světem Analogové vstupy

Měření vstupního napětí

Page 16: Mcu

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


Recommended