Programování PICAXE18M2 v Assembleru

Podobné dokumenty
MIKROKONTROLERY PIC16F84

Popis instrukční sady - procesory PIC Aritmetické a logické operace

Popis vývodů desek, jejich zapojování a spárování robota

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

adcsetup {LET} adcsetup = channels Platí pro PICAXE 08M2, 14M2, 18M2, 20M2, 20X2, 28X2, 40X2 Syntaxe:

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

compsetup COMPSETUP config, ivr Platí pro PICAXE 20X2, 28X2, 40X2 Syntaxe:

Odometrie s řízením rychlosti motorů pomocí PWM. Vzorce pro výpočet konstanty nastavení duty pro instrukci pwmout

Nejčastěji pokládané dotazy

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

Obr. 1 - Hlavní okno prostředí MPLAB

Komunikace modulu s procesorem SPI protokol

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

Jihočeská univerzita v Českých Budějovicích

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


INFORMAČNÍ LED DISPLEJ

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

Program "Světla" pro mikropočítač PMI-80

PIC krok za krokem. Komentované příklady programů pro PIC

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

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

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

EduKitBeta Uživatelská příručka

Buffer 16kB pro sériovou linku RS232 s konverzí rychlosti, parity, počtu datových bitů a stopbitů

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

MIDAM Verze 1.1. Hlavní okno :

Uživatelská příručka

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Mikrořadiče. Ing. Jaroslav Bernkopf

POKLADNÍ DISPLEJ LCD. hotline: strana 1

1. MIKROPROCESOR ATMEGA A/D PŘEVODNÍK MÓDY PŘEVODNÍKU Single Conversion Mode Auto Triggering Start...

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

Úvod do mobilní robotiky AIL028

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

TEPLOMĚR S DIGITÁLNÍM ZOBRAZENÍM TD

Microchip. PICmicro Microcontrollers

Uživatelský manuál. KNXgw232

MIKROKONTROLÉRY. Jednočipový počítač nebo také angl. Microcontroller (Mikrokontrolér, MCU, µc)

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl


DFPlayer Mini s PICAXE procesory

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

PVK. Uživatelská příručka. Zařízení určené k odlaďování aplikací s mikrokontroléry PIC16C5x, PIC16C71 a PIC16F84. Strana 1 / 9

Robotický manipulátor

Přerušení na PC. Fakulta informačních technologií VUT v Brně Ústav informatiky a výpočetní techniky. Personální počítače, technická péče cvičení

Programovatelné automaty PA 44 a PA 82

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

24 bitový dvoukanálový AD převodník s obvodem HX711

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

Založeno Vypracoval: Ing. Vladimír Povolný HATEL. 168 x 118 x 54 mm. provozní teplota -5 až +50 C ochrana IP 30 24V DC (20 až 30V), 0 je uzeměná

TECHNICKÉ ÚDAJE... 2 BEZPEČNOSTNÍ UPOZORNĚNÍ... 3 POPIS PŘÍSTROJE... 5 POUŽITÍ PŘÍSTROJE...

Mikrokontroléry PIC a vestavěné systémy. PIC18 použití assembleru a jazyka C

MPASM a IDE pro vývoj aplikací MCU (Microchip)

SuperCom. Stavebnice PROMOS Line 2. Technický manuál

Struktura a architektura počítačů

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

EC Motor. IO Modul EC200. EC200 Int. EC200 Ext. Verze 1.20, revize PMControl s.r.o.

MXIO. Kompaktní I/O modul. Shrnutí. Použití Kompaktní I/O modul pro sběr dat a řízení procesů. Funkce. Technické údaje

Procesor z pohledu programátora

Konfigurace portů u mikrokontrolérů

Ing. Michal Martin. Spojení PLC CLICK s NA-9289

PVKpro vývojový kit s programátorem pro mikrokontrolér PIC16F84 Připojení k PC: paralelní port Uživatelská příručka

Architektura jednočipových mikropočítačů PIC 16F84 a PIC 16F877. Tato prezentace vznikla jako součást řešení projektu FRVŠ 2008/566.

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ , 5.1 a 5.2 8/14

MIDAM Simulátor Verze 1.5

Modul LCD displeje se čtyřmi tlačítky. Milan Horkel

PCKIT LPT MODUL SBĚRNICE IOBUS PRO PC LPT. Příručka uživatele. Střešovická 49, Praha 6, s o f c o s o f c o n.

Jednočipové mikropočítače (mikrokontroléry)


Návod na použití aplikace Pager v2

Technická dokumentace. typ TENZ

simotion SIMOTION D435 a SINAMICS S120 praktická ukázka

Error [= chyba], Warning [= varování]. Nad ní jsou věty ve tvaru:

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

Firmware USBasp pro modul AVRUSB. Milan Horkel. Parametr Hodnota Poznámka. Rozhraní USB Low Speed. Procesor ATmega8 ATmega88 Varianty překladu

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

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

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

Úvod do mobilní robotiky NAIL028

MXIO. Kompaktní I/O modul. Shrnutí. Použití Kompaktní I/O modul pro sběr dat a řízení procesů. Funkce

Struktura a architektura počítačů (BI-SAP) 7

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Princip funkce počítače


Systém řízení sběrnice

MĚŘICÍ PŘÍSTROJ PRO PC. 4 VSTUPY: 0 10 V ZESÍLENÍ : 1x, 2x, 4x, 8x VÝSTUP: LINKA RS232 RS232 DRAK 4 U1 U2 U3 U4

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

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

STŘEDNÍ PRŮMYSLOVÁ ŠKOLA SDĚLOVACÍ TECHNIKY Praha 1, Panská 856/3, , ,

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: :01:48

Mikrokontrolery. Úvod do obvodů Atmega 328 a PIC16F88

Adresovatelné RGB LED

Signalizace a ovládací prvky. Konektory a připojení

My si nyní takovou sestavu vytvoříme na příkladu jednoduché kanceláře. Začneme vytvořením takové kanceláře.

OEM modul čtečky bezkontaktních karet Rf B1 OEM

Assembler - 5.část. poslední změna této stránky: Zpět

Grove - display 4 digity s řídícím obvodem TM1637

DIGI Timer 8 8 kanálové stopky se záznamem dat

Transkript:

Nastavení programming editoru PICAXE PROGRAMMING EDITOR 6 Programování PICAXE18M2 v Assembleru Nastavit PICAXE Type PICAXE 18M2(WJEC-ASSEMBLER, stejně tak nastavit Simulation Pokud tam není, otevřeme přes File Options okno nastavení. Zde vybereme položku Compiler a zde v části Display following special PICAXE types vybereme PICAXE-18M2(WJEC-ASSEMBLER). Připojení PICAXE18M2 k robotovi pro programování Zapojení S-OUT na TxD pin2 PICAXE18M2 a S-IN na RxD pin 3 PICAXE18M2 (obrázek vlevo). S-Out S-In GND +5V Osazení PICAXE 18M2 do desky procesoru robota HSES PICAXE 18M2 vložíme do patice desky procesoru do dolní části. PIN 1 a 20 zůstane prázdný!!!! Na tyto piny je na desce procesoru přivedeno napájecí napětí GND a +5V. Musíme vyjmout propojky S-Out a S-In a tyto piny dvojvodičem přivést na TxD a RxD procesoru. Stejně tak propojíme GND k pinu 5 procesoru pomocí propojovacího vodiče. K pinu 14 procesoru připojíme +5V například pomocí jedné vyjmuté propojky.

PICAXE18M2 je postaven na mikrokontroleru PIC16F1847. Chceme-li se na něm učit programovat v assembleru, využijeme WJEC Assembler ve spojení s PICAXE18M2, což plnohotně emuluje (chová se stejně, jako by skutečně byl) všechny instrukce mikrokontroler PIC16F88 (bohužel zcela, neemuluje všechny registry a tím ani všechny vnitřní systémy). Studentská referenční příručka pro WJEC Assembler je zde: http://www.picaxe.com/docs/wjec_instruction_set.pdf. Pro tuto chvíli je to pro naši výuku plně dostačující. Při emulaci není rychlost provádění instrukcí stejná, jako bychom mikrokontrolér PIC16F88 přímo naprogramovali v assembleru. Později budeme mikrokontrolery programovat přímo v assembleru. Budou pak schopny provádět až desítky milionů instrukcí za sekundu a plně využívat všechny své vnitřní systémy. Tím vším se budeme podrobně zabývat později. Pokud píšeme programy v assembleru, je obvyklé, že jejich soubory mají příponu ASM. Pokud budeme programovat PICAXE18M2 v assembleru pomocí PICAXE PROGRAMMING EDITORU 6 a překladače WJEC ASSEMBLER, musí mít soubor s programem příponu BAS. Je dobré, aby měl program jasnou strukturu. Lépe se v něm pak orientujeme a předejdeme vzniku nepředvídaných chyb. Doporučená struktura programu je následující: ; Strucny popis cinnosti programu ; jmeno souboru: ; programoval: ; datum posledni zmeny: ; verze programu: ; Deklarace promennych a symbolu a nacteni programovych bloku pwron: goto start ; Podprogramy ; Hlavni program ; inicializace systemu (mikrokontroleru) start: instrukce1 instrukce2 ; vykonna cast programu - vlastni program

Porovnání Basicu a Assembleru Po zapnutí napájení jsou všechny IO piny nastaveny jako vstupy Basic V Basicu je Port B a Port C na pinech jak je na tomto obrázku. Ve Flowchartu je automaticky nastaven Port B jako výstupy a Port C jako vstupy V Basicu použijeme příkazy pro nastavení stavu výstupů příkazy pinsc a pinsb. 1 v odpovídajícím bitu nastavuje výstup, 0 v odpovídajícím bitu nastaveje vstup. Assembler Obsazení pinů levý a střední obrázek se váže k WJEC Assembleru a programování PICAXE18M2 v assembleru. Vpravo pak originální z datového listu Microchip. Seznam instrukcí WJEC Assembleru PICAXE18M2 WJEC Assembler neemuluje plně mikrokontrolér PIC16F88. Emuluje jeho instrukce, ale neemuluje všechny registry. Proto se na něm začneme assembler učit, později však přejdeme na PIC16F88 a budeme jej programovat přímo, ne přes PICAXE PROGRAMMING EDITOR.

Ve WJEC Assembleru budeme používat následující předdefinované: speciální registry PORTA, PORTB TRISA, TRISB STATUS INTCON obousměrný vstupně/výstupní port řídící registry portů (volí, který pin portu bude jako vstup a který jako výstup) stavový registr procesoru řídící registr přerušení Poznámka: při práci s registry PORTA a PORTB musí být nastaven bit STATUS registru RP0=0, při práci s registry TRISA a TRISB musí být nastaven bit STATUS registru RP0=1, při práci s registry STATUS a INTCON nezáleží na nastavení bitu RP0 STATUS registru. univerzální registry Tyto registry jsou přístupné pod názvem B0 až B27. Při práci s nimi je třeba aby byl bit RP1 i RP0 v 0. Můžeme je však přejmenovat pomocí definice symbolů, například redled EQU d'1' wsave EQU B20 předdefinované konstanty pro použití v instrukcích W výsledek uložit do W registru (hodnota 0) F výsledek uložit do registru (hodnota 1) registr STATUS C carry bit přenos Z zero bit výsledek operace je 0 RP0 page selection bit (při přímém adresování 8. bit adresy registru) registr INTCON GIE global interrupt enable INT0IE povolení přerušení od vstupu RB0 INT0IF příznak došlo k vnějšímu přerušení ze vstupu RB0 (je třeba nulovat programem)

Používání zápisu čísel d 123 b 10101010 0b10101010 h FF 0xFF decimal desítková čísla (default) binary dvojková čísla hex čísla v šestnáctkové soustavě Předdefinované podprogramy wait1ms wait10ms wait100ms wait1000ms readadc0 readadc1 readadc2 readtemp0 readtemp1 readtemp2 čekej 1 millisekundu čekej 10 millisekund čekej 100 millisekund čekej 1000 millisekund přečti analogovou hodnotu na A.0 a ulož ji do b0 přečti analogovou hodnotu na A.1 a ulož ji do b1 přečti analogovou hodnotu na A.2 a ulož ji do b2 přečti teplotu z DS18B20 připojeného na A.0 a ulož ji do b0 přečti teplotu z DS18B20 připojeného na A.1 a ulož ji do b1 přečti teplotu z DS18B20 připojeného na A.2 a ulož ji do b2 Práce s I/O porty Inicializace portů v assembleru Na následujícím obrázku je inicializace mikrokontroléru v WJEC Assembleru. Porovnání inicializace portů v Basicu a WJEC Assembleru Basic dirsb = 255 dirsc = 0 pinsc = 0 pinsb = 0 Assembler bsf STATUS,RP0 movlw 0xff movwf TRISB movlw 0x00 movwf TRISA bcf STATUS, RP0 clrf PORTA clrf PORTB

Popis použitých instrukcí CLRF Clear f Vynuluj registr CLRF f 00h do (f) f je adresa registru (dolních 7 bitů adresy, horní 2 bity jsou v bitech RP1 a RP0 registru STATUS) STATUS (bit 2) Z bit nastaví do 1 BSF Bit Set f Nastav bit registru BSF f,b 1 do (f<b>) nastaví jedničku do bitu b (bit 0 až 7) registru na adrese f (dolních 7 bitů adresy, horní 2 bity jsou v bitech RP1 a RP0 registru 03h - STATUS) BCF Bit Clear f Vynuluj bit registru BCF f,b 1 do (f<b>) nastaví nulu do bitu b (bit 0 až 7) registru na adrese f (dolních 7 bitů adresy, horní 2 bity jsou v bitech RP1 a RP0 registru 03h - STATUS) MOVLW Move Literal to W Ulož konstantu do W registru MOVLW k do (W) k uloží konstantu do W registru k konstanta 00h až FFh MOVWF Move W to F Ulož obsah registru W do registru o adrese F MOVWF (W) do (f) f přesune (zkopíruje) obsah W registru do registru f (dolních 7 bitů adresy, horní 2 bity jsou v bitech RP1 a RP0 registru 03h - STATUS)