Ride51

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Řádka 66: Řádka 66:
 
Rešení:
 
Rešení:
 
   
 
   
MOV R3,#10
 
  
MOV R4,#0fh
+
<source lang="asm">
         
+
MOV R0,#20h
+
  
ADR1: MOV A,R4  
+
          MOV R3,#10
           
+
          MOV R4,#0fh
MOV@R0,A  
+
          MOV R0,#20h
             
+
ADR1:     MOV A,R4  
INC R0  
+
          MOV@R0,A  
           
+
          INC R0  
DJNZ R3, ADR1  
+
          DJNZ R3, ADR1  
           
+
          NOP  
NOP  
+
           END
            
+
END
+
  
 +
</source>
  
 
'''První příkaz'''
 
'''První příkaz'''
  
''MOV R3,#10 ''
+
<source lang="asm">
 +
MOV R3,#10  
 +
</source>
  
 
''Přesune hodnotu 10(hexadecimálně 0A) do registru R3. V programu určuje kolikrát se bude opakovat cyklus''
 
''Přesune hodnotu 10(hexadecimálně 0A) do registru R3. V programu určuje kolikrát se bude opakovat cyklus''
Řádka 95: Řádka 93:
 
'''Druhý příkaz'''
 
'''Druhý příkaz'''
  
''MOV R4,#0fh''
+
<source lang="asm">
 +
MOV R4,#0fh
  
 +
</source>
 
''Přesune hodnotu která se bude zapisovat(0fh) do registru R4''
 
''Přesune hodnotu která se bude zapisovat(0fh) do registru R4''
  
Řádka 103: Řádka 103:
 
'''Třetí příkaz'''
 
'''Třetí příkaz'''
  
''MOV R0,#20h''
+
<source lang="asm">
 
+
MOV R0,#20h
 +
</source>
 
''Přesune do registru R0 hodnotu 20( hodnota ,kde se zacne zapisovat 0fh)''
 
''Přesune do registru R0 hodnotu 20( hodnota ,kde se zacne zapisovat 0fh)''
  
Řádka 111: Řádka 112:
 
'''Čtvrtý příkaz'''
 
'''Čtvrtý příkaz'''
  
''ADR1: MOV A,R4 ''
+
<source lang="asm">
 
+
ADR1: MOV A,R4  
 +
</source>
 
''ADR1 je návěští(Návěstí umístěné před instrukcí se používá jako pro definici bodu v programu, na který můžeme skočit).  ''
 
''ADR1 je návěští(Návěstí umístěné před instrukcí se používá jako pro definici bodu v programu, na který můžeme skočit).  ''
  
Řádka 121: Řádka 123:
 
'''Pátý příkaz'''
 
'''Pátý příkaz'''
  
''MOV@R0,A ''
+
<source lang="asm">
 
+
MOV@R0,A  
 +
</source>
 
''Zapíše hodnotu uloženou v akumulátoru(0fh) do místa které je uložené v registru R0(20)''
 
''Zapíše hodnotu uloženou v akumulátoru(0fh) do místa které je uložené v registru R0(20)''
  
Řádka 129: Řádka 132:
 
'''Šestý příkaz'''
 
'''Šestý příkaz'''
  
''INC R0 ''
+
<source lang="asm">
 
+
INC R0  
 +
</source>
 
''Incrementace R0 - Připočte hodnotu 1 k hodnotě uložené v registru R0''
 
''Incrementace R0 - Připočte hodnotu 1 k hodnotě uložené v registru R0''
  
Řádka 137: Řádka 141:
 
'''Sedmý příkaz'''
 
'''Sedmý příkaz'''
  
''DJNZ R3, ADR1 ''
+
<source lang="asm">
 
+
DJNZ R3, ADR1  
 +
</source>
 
''Skok zpátky na na návěští ADR1. To znaméná že program se opakuje a do registru R0, kterému se díky inkrementaci zvyšuje hodnota se pořád zapisuje hodnota f0h)  ''
 
''Skok zpátky na na návěští ADR1. To znaméná že program se opakuje a do registru R0, kterému se díky inkrementaci zvyšuje hodnota se pořád zapisuje hodnota f0h)  ''
  

Verze z 26. 5. 2011, 15:50

Instalace programu


Ride51-0.jpg

Potvrzení podmínek

Ride51-1.jpg

Zobrazení souboru readme.txt

Ride51-2.jpg

Výběr verze programu

Ride51-3.jpg

Pojmenování programu

Ride51-4.jpg

Umístění programu

Založení nového projektu

Ride51-5.jpg

Ride51-6.jpg

Vytvoření souboru z programem

Ride51-gg.jpg

Ride51-08.jpg

Svázání souboru z projektem

Kvůli simulaci programu a vytvoření jeho .hex souboru musíme program svázat se založeným projektem. To se dělá následujíím způsobem

Ride51-9.jpg

Poté co máte soubor svázaný z projektem můžete začít psát program.

Základy programováni 8051

Simulace programu

K tomu abyste si ověřili zda váš program funguje, můžete v RIDE 51 nasimulovat jeho chování. Simulace se pouští tímto způsobem

Ride51-111.jpg

Pokud máte v programu chybu program chybu rozpozná a ukáže

Ride-1.jpg

K simulaci je potřebna mít zapnutou strukturu registrů

Ride-2.jpg

Nyní klávesou F7 nebo tlačítkem v rozhraní krokujete program. V simulaci se program vykonává. V struktuře registrů můžete vidět, jak se mění jejich hodnoty podle programu.

Ukázka příkladu

Příklad: Pomocí cyklu vyplňte hodnotou 0fh pole od 20 do 30.

Rešení:


           MOV R3,#10 
           MOV R4,#0fh 
           MOV R0,#20h
ADR1:      MOV A,R4 
           MOV@R0,A 
           INC R0 
           DJNZ R3, ADR1 
           NOP 
           END

První příkaz

MOV R3,#10

Přesune hodnotu 10(hexadecimálně 0A) do registru R3. V programu určuje kolikrát se bude opakovat cyklus

Ride-3.jpg

Druhý příkaz

MOV R4,#0fh

Přesune hodnotu která se bude zapisovat(0fh) do registru R4

Ride-4.jpg

Třetí příkaz

MOV R0,#20h

Přesune do registru R0 hodnotu 20( hodnota ,kde se zacne zapisovat 0fh)

Ride-5.jpg

Čtvrtý příkaz

ADR1: MOV A,R4

ADR1 je návěští(Návěstí umístěné před instrukcí se používá jako pro definici bodu v programu, na který můžeme skočit).

MOV A,R4 přesune hodnotu zapsanou v registru R4 do akumulátoru

Ride-6.jpg

Pátý příkaz

MOV@R0,A

Zapíše hodnotu uloženou v akumulátoru(0fh) do místa které je uložené v registru R0(20)

Ride-7.jpg

Šestý příkaz

INC R0

Incrementace R0 - Připočte hodnotu 1 k hodnotě uložené v registru R0

Ride-8.jpg

Sedmý příkaz

DJNZ R3, ADR1

Skok zpátky na na návěští ADR1. To znaméná že program se opakuje a do registru R0, kterému se díky inkrementaci zvyšuje hodnota se pořád zapisuje hodnota f0h)

Ride-9.jpg

Porgram po provedení všech 10 cyklů

Ride-10.jpg







www:

8051 Předmět: MIT, AplMIT

Osobní nástroje
Jmenné prostory
Varianty
Akce
Rychlá navigace
NEJ aktivity
Nejlepší předměty
Nejlepší MCU
SW-HW
Ostatní
Utility
Nástroje
Tisk/export