<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sk">
	<id>http://www.kiwiki.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Matej.svantner</id>
	<title>Kiwiki - Príspevky používateľa [sk]</title>
	<link rel="self" type="application/atom+xml" href="http://www.kiwiki.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Matej.svantner"/>
	<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php/%C5%A0peci%C3%A1lne:Pr%C3%ADspevky/Matej.svantner"/>
	<updated>2026-05-01T19:20:27Z</updated>
	<subtitle>Príspevky používateľa</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Kon%C5%A1trukcia_IF-ELSE_(assembler)&amp;diff=8947</id>
		<title>Konštrukcia IF-ELSE (assembler)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Kon%C5%A1trukcia_IF-ELSE_(assembler)&amp;diff=8947"/>
		<updated>2011-02-08T12:28:39Z</updated>

		<summary type="html">&lt;p&gt;Matej.svantner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória :Konfigurovateľné mikroprocesorové systémy]]&lt;br /&gt;
&lt;br /&gt;
Konštrukciu IF-ELSE používame vtedy, keď je vykonanie časti programu závislé na podmienke. Praktickým použitím je napríklad kontrola, či bolo stlačené tlačidlo, a ak áno, zvýšime hodnotu niektorej premennej.&lt;br /&gt;
&lt;br /&gt;
Okrem splnenia podmienky táto konštrukcia reaguje aj na jej nesplnenie. Vo vyšších programovacích jazykoch sa používa tento všeobecný zápis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
If (podmienka) Then &lt;br /&gt;
	(ak je podmienka splnena)&lt;br /&gt;
Else&lt;br /&gt;
	(ak je podmienka nesplnena)&lt;br /&gt;
End If&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V prípade použitia jazyku C, ktorý používa aj PSoC Designer, píšeme podmienku takto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
if (podmienka) {&lt;br /&gt;
	(ak je podmienka splnená)&lt;br /&gt;
}else{&lt;br /&gt;
	(ak je podmienka nesplnená)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ak je v then alebo else časti len jeden príkaz, nie je potrebné písať {} zátvorky okolo tejto jednej podmienky.&lt;br /&gt;
&lt;br /&gt;
V assembleri používame na IF-ELSE konštrukciu skoky - JUMPs. Procesory Cypress PSoC poznajú šesť skokov, z toho dva nepodmienené a štyri podmienené. Pre naše použitie potrebujeme práve podmienené skoky.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|class=wikitable border=1 cellpadding=5&lt;br /&gt;
|-&lt;br /&gt;
! Názov inštrukcie&lt;br /&gt;
! Zápis inštrukcie&lt;br /&gt;
! Popis&lt;br /&gt;
! Použitie&lt;br /&gt;
|-&lt;br /&gt;
| Jump if No Carry&lt;br /&gt;
| JNC &amp;lt;návestie&amp;gt;&lt;br /&gt;
| Skočí na návestie ak je Carry Flag (CF) rovné nule&lt;br /&gt;
| Ak výsledok predchádzajúcej operácie nepretiekol smerom nahor ani nadol, vykoná sa skok&lt;br /&gt;
|-&lt;br /&gt;
| Jump if Not Zero&lt;br /&gt;
| JNZ &amp;lt;návestie&amp;gt;&lt;br /&gt;
| Skočí na návestie ak je Zero Flag (ZF) rovné nule&lt;br /&gt;
| Ak výsledkom predchádzajúcej operácie nie je nula, vykoná sa skok&lt;br /&gt;
|-&lt;br /&gt;
| Jump if Carry	&lt;br /&gt;
| JC &amp;lt;návestie&amp;gt;&lt;br /&gt;
| Skočí na návestie ak je Carry Flag (CF) rovné jednej&lt;br /&gt;
| Ak výsledok predchádzajúcej operácie pretiekol nahor alebo nadol, vykoná sa skok&lt;br /&gt;
|-&lt;br /&gt;
| Jump if Zero&lt;br /&gt;
| JZ &amp;lt;návestie&amp;gt;&lt;br /&gt;
| Skočí na návestie ak je Zero Flag (ZF) rovné jednej&lt;br /&gt;
| Ak výsledok predchádzajúcej operácie je nula, vykoná sa skok&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Z tabuľky podmienených skokov vyplýva, že skoky závisia od dvoch príznakov - Carry Flag a Zero Flag. Pred príkazom skoku teda používame napríklad porovnávaciu inštrukciu CMP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
CMP A,4       ;A==4&lt;br /&gt;
JZ navestie&lt;br /&gt;
CMP A,4       ;A&amp;lt;&amp;gt;4 &lt;br /&gt;
JNZ navestie&lt;br /&gt;
CMP A,4       ;A&amp;lt;4 &lt;br /&gt;
JC navestie&lt;br /&gt;
CMP A,4       ;A&amp;gt;=4 &lt;br /&gt;
JNC navestie&lt;br /&gt;
CMP A,4       ;A&amp;lt;=4  &lt;br /&gt;
JZ navestie&lt;br /&gt;
JC navestie&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktický príklad porovnania, či hodnota == 10 vyzerá takto.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
podmienka1:&lt;br /&gt;
CMP hodnota,10			;if (hodnota==10)&lt;br /&gt;
JNZ podmienka1FALSE		&lt;br /&gt;
...				;{&lt;br /&gt;
...				;hodnota==10&lt;br /&gt;
...				;}&lt;br /&gt;
JMP podmienka1koniec&lt;br /&gt;
podmienka1FALSE:		;else&lt;br /&gt;
&lt;br /&gt;
...				;{&lt;br /&gt;
...				;hodnota&amp;lt;&amp;gt;10&lt;br /&gt;
...				;}&lt;br /&gt;
podmienka1koniec:		;koniec if-else&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tento príklad najprv porovná, či hodnota==10, a ak to nie je pravda, skočí na návestie &amp;quot;podmienka1FALSE&amp;quot;. Ak hodnota==10, vykonajú sa príkazy tesne pod inštrukciou &amp;quot;JNZ podmienka1FALSE&amp;quot; a následne sa skočí na koniec cyklu, aby sa nevykonali aj príkazy, ktoré patria ELSE vetve.&lt;br /&gt;
&lt;br /&gt;
V prípade, že nám stačí IF-THEN verzia, použijeme tento kód:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
podmienka2:&lt;br /&gt;
CMP hodnota,10			;if (hodnota==10)&lt;br /&gt;
JNZ podmienka2koniec		&lt;br /&gt;
...				;{&lt;br /&gt;
...				;hodnota==10&lt;br /&gt;
...				;}&lt;br /&gt;
podmienka2koniec&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matej.svantner</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Kon%C5%A1trukcia_SWITCH-CASE_(assembler)&amp;diff=8946</id>
		<title>Konštrukcia SWITCH-CASE (assembler)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Kon%C5%A1trukcia_SWITCH-CASE_(assembler)&amp;diff=8946"/>
		<updated>2011-02-08T12:23:24Z</updated>

		<summary type="html">&lt;p&gt;Matej.svantner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória :Konfigurovateľné mikroprocesorové systémy]]&lt;br /&gt;
&lt;br /&gt;
Konštrukciu SWITCH–CASE používame vtedy, keď premenná môže nadobúdať viacero hodnôt a chceme, aby niektoré z nich vykonali nejaký kód. Vo vyšších jazykoch, napríklad C je syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
switch (hodnota) {&lt;br /&gt;
                  case 1:&lt;br /&gt;
                     LED_1_On();&lt;br /&gt;
                     break;&lt;br /&gt;
                  case 2:&lt;br /&gt;
                     LED_2_On();&lt;br /&gt;
                     break;&lt;br /&gt;
                  case 3:&lt;br /&gt;
                     LED_3_On();&lt;br /&gt;
                     break;&lt;br /&gt;
                  case 5:&lt;br /&gt;
                  case 4:&lt;br /&gt;
                     LED_4_On();&lt;br /&gt;
                     break;&lt;br /&gt;
                  default:&lt;br /&gt;
                    LED_1_Off();&lt;br /&gt;
                    LED_2_Off();&lt;br /&gt;
                    LED_3_Off();&lt;br /&gt;
                    LED_4_Off(); &lt;br /&gt;
 		     break ;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
V tomto prípade program porovnáva údaj v premennej hodnota, a ak je výsledok 1, 2, 3 alebo 4, zapne danú LED. &lt;br /&gt;
&lt;br /&gt;
Nasleduje príkaz break, ktorým program vyskočí zo switch cyklu za kučeravú zátvorku. Ak by sme príkazy break nenapísali, v prípade hodnota==2 by sa zapla LED číslo 2, 3 aj 4. &lt;br /&gt;
&lt;br /&gt;
Jednotlivé CASE značky môžeme používať aj viacnásobne pre jeden kus kódu, príkladom je case 5 a case 4. Ak je hodnota==5 alebo hodnota==4, zapne sa LD číslo 4.&lt;br /&gt;
&lt;br /&gt;
Za slovom default: nasledujú príkazy, ktoré sa vykonajú, ak program nenájde CASE výraz pre danú hodnotu. V prípade assembleru opäť používame hlavne podmienené skoky, tento krát JZ a CMP porovnávanie premennej s hodnotami. Alternatívou vyššie uvedeného programu v assembleri je tento kód:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
switch1:&lt;br /&gt;
CMP hodnota,1&lt;br /&gt;
JZ hodnota1&lt;br /&gt;
CMP hodnota,2&lt;br /&gt;
JZ hodnota2&lt;br /&gt;
CMP hodnota,3&lt;br /&gt;
JZ hodnota3&lt;br /&gt;
CMP hodnota,4&lt;br /&gt;
JZ hodnota4&lt;br /&gt;
CMP hodnota,5&lt;br /&gt;
JZ hodnota4&lt;br /&gt;
JMP switch1default&lt;br /&gt;
&lt;br /&gt;
hodnota1:&lt;br /&gt;
CALL LED1on;&lt;br /&gt;
JMP switch1koniec &lt;br /&gt;
&lt;br /&gt;
hodnota2:&lt;br /&gt;
CALL LED2on;&lt;br /&gt;
JMP switch1koniec &lt;br /&gt;
&lt;br /&gt;
hodnota3:&lt;br /&gt;
CALL LED3on;&lt;br /&gt;
JMP switch1koniec &lt;br /&gt;
&lt;br /&gt;
hodnota4:&lt;br /&gt;
CALL LED4on;&lt;br /&gt;
JMP switch1koniec &lt;br /&gt;
&lt;br /&gt;
switch1default:&lt;br /&gt;
CALL LED1off;&lt;br /&gt;
CALL LED2off;&lt;br /&gt;
CALL LED3off;&lt;br /&gt;
CALL LED4off;&lt;br /&gt;
switch1koniec:&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matej.svantner</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Cykly_DO-WHILE,_FOR-LOOP_(assembler)&amp;diff=8945</id>
		<title>Cykly DO-WHILE, FOR-LOOP (assembler)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Cykly_DO-WHILE,_FOR-LOOP_(assembler)&amp;diff=8945"/>
		<updated>2011-02-08T12:19:47Z</updated>

		<summary type="html">&lt;p&gt;Matej.svantner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória :Konfigurovateľné mikroprocesorové systémy]]&lt;br /&gt;
&lt;br /&gt;
Na rozdiel od konštrukcií, ako IF-ELSE a SWITCH-CASE, v ktorých sa pre daný prípad vykoná daná činnosť len raz, &lt;br /&gt;
&lt;br /&gt;
cykly túto činnosť opakujú. V prípade FOR-LOOP cyklu sa činnosť opakuje n-krát. V prípade DO-WHILE sa činnosť &lt;br /&gt;
&lt;br /&gt;
opakuje, kým je splnená podmienka, takže môžeme nastaviť počet opakovaní inkrementáciou premennej, alebo podmieniť &lt;br /&gt;
&lt;br /&gt;
cyklus vonkajším vstupom.&lt;br /&gt;
&lt;br /&gt;
=DO-WHILE cyklus=&lt;br /&gt;
&lt;br /&gt;
While cyklus používame napríklad v hlavnom cykle programu, vtedy väčšinou s podmienkou, ktorá je vždy platná, &lt;br /&gt;
&lt;br /&gt;
napríklad true, alebo 0 == 0. Taktiež ho používame napríklad pri čakaní na stlačenie tlačidla, alebo iný vstup. Kým &lt;br /&gt;
&lt;br /&gt;
nie je tlačidlo stlačené, program je zacyklený vo WHILE cykle a jeho stlačením ho ukončíme. &lt;br /&gt;
&lt;br /&gt;
Vo vyšších jazykoch vyzerá DO-WHILE cyklus napríklad takto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while (hodnota != 100){ &lt;br /&gt;
	hodnota++;&lt;br /&gt;
	CALL LED_1_Invert();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tento istý program prepísaný do assemblera vyzerá nasledovne:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
while1:&lt;br /&gt;
INC hodnota		; hodnota = hodnota+1&lt;br /&gt;
CALL LED_1_Invert	&lt;br /&gt;
CMP hodnota,100		; porovnaj hodnota,100&lt;br /&gt;
JNZ while1		; ak hodnota-100 &amp;lt;&amp;gt; 0, skoč na while1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
V prípade nekonečnej podmienky použijeme obyčajný skok, JMP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
while2:&lt;br /&gt;
...&lt;br /&gt;
JMP while2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=FOR-LOOP cyklus=&lt;br /&gt;
&lt;br /&gt;
For cyklus používame vtedy, ak vieme, koľko krát chceme činnosť opakovať. Môžeme ho použiť napríklad pri meraní a &lt;br /&gt;
&lt;br /&gt;
priemerovaní, kedy meriame vstup napríklad 128×, výsledky spočítavame a následne ich delíme 128. &lt;br /&gt;
&lt;br /&gt;
Vo vyššom jazyku vyzerá FOR cyklus takto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
for (i = 0; i&amp;lt;100; i++){&lt;br /&gt;
	CALL LED_1_Invert();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podobný program prepísaný do assemblera vyzerá takto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
MOV hodnota,0&lt;br /&gt;
for1:&lt;br /&gt;
CALL LED_1_Invert&lt;br /&gt;
INC hodnota&lt;br /&gt;
CMP hodnota,100&lt;br /&gt;
JNZ for1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Všimnite si podobnosť s WHILE cyklom, ktorá vznikla kvôli tomu, že v oboch cykloch vieme, koľko krát časť programu opakujeme.&lt;/div&gt;</summary>
		<author><name>Matej.svantner</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Cykly_DO-WHILE,_FOR-LOOP_(assembler)&amp;diff=8944</id>
		<title>Cykly DO-WHILE, FOR-LOOP (assembler)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Cykly_DO-WHILE,_FOR-LOOP_(assembler)&amp;diff=8944"/>
		<updated>2011-02-08T11:53:16Z</updated>

		<summary type="html">&lt;p&gt;Matej.svantner: Vytvorená stránka „Kategória :Konfigurovateľné mikroprocesorové systémy Kategória :Programové konštrukcie assembleru M8C  Na rozdiel od konštrukcií, ako IF-ELSE a SWITCH-CAS…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória :Konfigurovateľné mikroprocesorové systémy]]&lt;br /&gt;
[[Kategória :Programové konštrukcie assembleru M8C]]&lt;br /&gt;
&lt;br /&gt;
Na rozdiel od konštrukcií, ako IF-ELSE a SWITCH-CASE, v ktorých sa pre daný prípad vykoná daná činnosť len raz, &lt;br /&gt;
&lt;br /&gt;
cykly túto činnosť opakujú. V prípade FOR-LOOP cyklu sa činnosť opakuje n-krát. V prípade DO-WHILE sa činnosť &lt;br /&gt;
&lt;br /&gt;
opakuje, kým je splnená podmienka, takže môžeme nastaviť počet opakovaní inkrementáciou premennej, alebo podmieniť &lt;br /&gt;
&lt;br /&gt;
cyklus vonkajším vstupom.&lt;br /&gt;
&lt;br /&gt;
=DO-WHILE cyklus=&lt;br /&gt;
&lt;br /&gt;
While cyklus používame napríklad v hlavnom cykle programu, vtedy väčšinou s podmienkou, ktorá je vždy platná, &lt;br /&gt;
&lt;br /&gt;
napríklad true, alebo 0 == 0. Taktiež ho používame napríklad pri čakaní na stlačenie tlačidla, alebo iný vstup. Kým &lt;br /&gt;
&lt;br /&gt;
nie je tlačidlo stlačené, program je zacyklený vo WHILE cykle a jeho stlačením ho ukončíme. &lt;br /&gt;
&lt;br /&gt;
Vo vyšších jazykoch vyzerá DO-WHILE cyklus napríklad takto:&lt;br /&gt;
&lt;br /&gt;
 While (hodnota != 100){ &lt;br /&gt;
 	hodnota++;&lt;br /&gt;
 	CALL LED_1_Invert();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Tento istý program prepísaný do assemblera vyzerá nasledovne:&lt;br /&gt;
&lt;br /&gt;
 while1:&lt;br /&gt;
 INC hodnota		; hodnota = hodnota+1&lt;br /&gt;
 CALL LED_1_Invert	&lt;br /&gt;
 CMP hodnota,100		; porovnaj hodnota,100&lt;br /&gt;
 JNZ while1		; ak hodnota-100 &amp;lt;&amp;gt; 0, skoč na while1&lt;br /&gt;
&lt;br /&gt;
V prípade nekonečnej podmienky použijeme obyčajný skok, JMP&lt;br /&gt;
&lt;br /&gt;
 while2:&lt;br /&gt;
 ...&lt;br /&gt;
 JMP while2&lt;br /&gt;
&lt;br /&gt;
=FOR-LOOP cyklus=&lt;br /&gt;
&lt;br /&gt;
For cyklus používame vtedy, ak vieme, koľko krát chceme činnosť opakovať. Môžeme ho použiť napríklad pri meraní a &lt;br /&gt;
&lt;br /&gt;
priemerovaní, kedy meriame vstup napríklad 128×, výsledky spočítavame a následne ich delíme 128. &lt;br /&gt;
&lt;br /&gt;
Vo vyššom jazyku vyzerá FOR cyklus takto:&lt;br /&gt;
&lt;br /&gt;
 For (i = 0; i&amp;lt;100; i++){&lt;br /&gt;
 	CALL LED_1_Invert();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Podobný program prepísaný do assemblera vyzerá takto:&lt;br /&gt;
&lt;br /&gt;
 MOV hodnota,0&lt;br /&gt;
 for1:&lt;br /&gt;
 CALL LED_1_Invert&lt;br /&gt;
 INC hodnota&lt;br /&gt;
 CMP hodnota,100&lt;br /&gt;
 JNZ for1&lt;br /&gt;
&lt;br /&gt;
Všimnite si podobnosť s WHILE cyklom, ktorá vznikla kvôli tomu, že v oboch cykloch vieme, koľko krát časť programu opakujeme.&lt;/div&gt;</summary>
		<author><name>Matej.svantner</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Kon%C5%A1trukcia_SWITCH-CASE_(assembler)&amp;diff=8943</id>
		<title>Konštrukcia SWITCH-CASE (assembler)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Kon%C5%A1trukcia_SWITCH-CASE_(assembler)&amp;diff=8943"/>
		<updated>2011-02-08T11:51:50Z</updated>

		<summary type="html">&lt;p&gt;Matej.svantner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória :Konfigurovateľné mikroprocesorové systémy]]&lt;br /&gt;
[[Kategória :Programové konštrukcie assembleru M8C]]&lt;br /&gt;
&lt;br /&gt;
Konštrukciu SWITCH–CASE používame vtedy, keď premenná môže nadobúdať viacero hodnôt a chceme, aby niektoré z nich &lt;br /&gt;
&lt;br /&gt;
vykonali nejaký kód. Vo vyšších jazykoch, napríklad C je syntax:&lt;br /&gt;
&lt;br /&gt;
 switch (hodnota) {&lt;br /&gt;
                   case 1:&lt;br /&gt;
                      LED_1_On();&lt;br /&gt;
                      break;&lt;br /&gt;
                   case 2:&lt;br /&gt;
                      LED_2_On();&lt;br /&gt;
                      break;&lt;br /&gt;
                   case 3:&lt;br /&gt;
                      LED_3_On();&lt;br /&gt;
                      break;&lt;br /&gt;
                   case 5:&lt;br /&gt;
                   case 4:&lt;br /&gt;
                      LED_4_On();&lt;br /&gt;
                      break;&lt;br /&gt;
                   default:&lt;br /&gt;
                     LED_1_Off();&lt;br /&gt;
                     LED_2_Off();&lt;br /&gt;
                     LED_3_Off();&lt;br /&gt;
                     LED_4_Off(); &lt;br /&gt;
 		     break ;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
V tomto prípade program porovnáva údaj v premennej hodnota, a ak je výsledok 1, 2, 3 alebo 4, zapne danú LED. &lt;br /&gt;
&lt;br /&gt;
Nasleduje príkaz break, ktorým program vyskočí zo switch cyklu za kučeravú zátvorku. Ak by sme príkazy break &lt;br /&gt;
&lt;br /&gt;
nenapísali, v prípade hodnota==2 by sa zapla LED číslo 2, 3 aj 4. &lt;br /&gt;
&lt;br /&gt;
Jednotlivé CASE značky môžeme používať aj viacnásobne pre jeden kus kódu, príkladom je case 5 a case 4. Ak je &lt;br /&gt;
&lt;br /&gt;
hodnota==5 alebo hodnota==4, zapne sa LD číslo 4.&lt;br /&gt;
&lt;br /&gt;
Za slovom default: nasledujú príkazy, ktoré sa vykonajú, ak program nenájde CASE výraz pre danú hodnotu.&lt;br /&gt;
V prípade assembleru opäť používame hlavne podmienené skoky, tento krát JZ a CMP porovnávanie premennej s &lt;br /&gt;
&lt;br /&gt;
hodnotami. Alternatívou vyššie uvedeného programu v assembleri je tento kód:&lt;br /&gt;
&lt;br /&gt;
 switch1:&lt;br /&gt;
 CMP hodnota,1&lt;br /&gt;
 JZ hodnota1&lt;br /&gt;
 CMP hodnota,2&lt;br /&gt;
 JZ hodnota2&lt;br /&gt;
 CMP hodnota,3&lt;br /&gt;
 JZ hodnota3&lt;br /&gt;
 CMP hodnota,4&lt;br /&gt;
 JZ hodnota4&lt;br /&gt;
 CMP hodnota,5&lt;br /&gt;
 JZ hodnota4&lt;br /&gt;
 JMP switch1default&lt;br /&gt;
 &lt;br /&gt;
 hodnota1:&lt;br /&gt;
 CALL LED1on;&lt;br /&gt;
 JMP switch1koniec &lt;br /&gt;
 &lt;br /&gt;
 hodnota2:&lt;br /&gt;
 CALL LED2on;&lt;br /&gt;
 JMP switch1koniec &lt;br /&gt;
 &lt;br /&gt;
 hodnota3:&lt;br /&gt;
 CALL LED3on;&lt;br /&gt;
 JMP switch1koniec &lt;br /&gt;
 &lt;br /&gt;
 hodnota4:&lt;br /&gt;
 CALL LED4on;&lt;br /&gt;
 JMP switch1koniec &lt;br /&gt;
 &lt;br /&gt;
 switch1default:&lt;br /&gt;
 CALL LED1off;&lt;br /&gt;
 CALL LED2off;&lt;br /&gt;
 CALL LED3off;&lt;br /&gt;
 CALL LED4off;&lt;br /&gt;
 switch1koniec:&lt;/div&gt;</summary>
		<author><name>Matej.svantner</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Kon%C5%A1trukcia_SWITCH-CASE_(assembler)&amp;diff=8942</id>
		<title>Konštrukcia SWITCH-CASE (assembler)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Kon%C5%A1trukcia_SWITCH-CASE_(assembler)&amp;diff=8942"/>
		<updated>2011-02-08T11:49:54Z</updated>

		<summary type="html">&lt;p&gt;Matej.svantner: Vytvorená stránka „Kategória :Konfigurovateľné mikroprocesorové systémy Kategória :Programové konštrukcie assembleru M8C  Konštrukciu SWITCH–CASE používame vtedy, keď pr…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória :Konfigurovateľné mikroprocesorové systémy]]&lt;br /&gt;
[[Kategória :Programové konštrukcie assembleru M8C]]&lt;br /&gt;
&lt;br /&gt;
Konštrukciu SWITCH–CASE používame vtedy, keď premenná môže nadobúdať viacero hodnôt a chceme, aby niektoré z nich &lt;br /&gt;
&lt;br /&gt;
vykonali nejaký kód. Vo vyšších jazykoch, napríklad C je syntax:&lt;br /&gt;
&lt;br /&gt;
 switch (hodnota) {&lt;br /&gt;
                   case 1:&lt;br /&gt;
                      LED_1_On();&lt;br /&gt;
                      break;&lt;br /&gt;
                   case 2:&lt;br /&gt;
                      LED_2_On();&lt;br /&gt;
                      break;&lt;br /&gt;
                   case 3:&lt;br /&gt;
                      LED_3_On();&lt;br /&gt;
                      break;&lt;br /&gt;
                   case 5:&lt;br /&gt;
                   case 4:&lt;br /&gt;
                      LED_4_On();&lt;br /&gt;
                      break;&lt;br /&gt;
                   default:&lt;br /&gt;
                     LED_1_Off();&lt;br /&gt;
                     LED_2_Off();&lt;br /&gt;
                     LED_3_Off();&lt;br /&gt;
                     LED_4_Off(); &lt;br /&gt;
		     break ;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
V tomto prípade program porovnáva údaj v premennej hodnota, a ak je výsledok 1, 2, 3 alebo 4, zapne danú LED. &lt;br /&gt;
&lt;br /&gt;
Nasleduje príkaz break, ktorým program vyskočí zo switch cyklu za kučeravú zátvorku. Ak by sme príkazy break &lt;br /&gt;
&lt;br /&gt;
nenapísali, v prípade hodnota==2 by sa zapla LED číslo 2, 3 aj 4. &lt;br /&gt;
&lt;br /&gt;
Jednotlivé CASE značky môžeme používať aj viacnásobne pre jeden kus kódu, príkladom je case 5 a case 4. Ak je &lt;br /&gt;
&lt;br /&gt;
hodnota==5 alebo hodnota==4, zapne sa LD číslo 4.&lt;br /&gt;
&lt;br /&gt;
Za slovom default: nasledujú príkazy, ktoré sa vykonajú, ak program nenájde CASE výraz pre danú hodnotu.&lt;br /&gt;
V prípade assembleru opäť používame hlavne podmienené skoky, tento krát JZ a CMP porovnávanie premennej s &lt;br /&gt;
&lt;br /&gt;
hodnotami. Alternatívou vyššie uvedeného programu v assembleri je tento kód:&lt;br /&gt;
&lt;br /&gt;
 switch1:&lt;br /&gt;
 CMP hodnota,1&lt;br /&gt;
 JZ hodnota1&lt;br /&gt;
 CMP hodnota,2&lt;br /&gt;
 JZ hodnota2&lt;br /&gt;
 CMP hodnota,3&lt;br /&gt;
 JZ hodnota3&lt;br /&gt;
 CMP hodnota,4&lt;br /&gt;
 JZ hodnota4&lt;br /&gt;
 CMP hodnota,5&lt;br /&gt;
 JZ hodnota4&lt;br /&gt;
 JMP switch1default&lt;br /&gt;
 &lt;br /&gt;
 hodnota1:&lt;br /&gt;
 CALL LED1on;&lt;br /&gt;
 JMP switch1koniec &lt;br /&gt;
 &lt;br /&gt;
 hodnota2:&lt;br /&gt;
 CALL LED2on;&lt;br /&gt;
 JMP switch1koniec &lt;br /&gt;
 &lt;br /&gt;
 hodnota3:&lt;br /&gt;
 CALL LED3on;&lt;br /&gt;
 JMP switch1koniec &lt;br /&gt;
 &lt;br /&gt;
 hodnota4:&lt;br /&gt;
 CALL LED4on;&lt;br /&gt;
 JMP switch1koniec &lt;br /&gt;
 &lt;br /&gt;
 switch1default:&lt;br /&gt;
 CALL LED1off;&lt;br /&gt;
 CALL LED2off;&lt;br /&gt;
 CALL LED3off;&lt;br /&gt;
 CALL LED4off;&lt;br /&gt;
 switch1koniec:&lt;/div&gt;</summary>
		<author><name>Matej.svantner</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Kon%C5%A1trukcia_IF-ELSE_(assembler)&amp;diff=8941</id>
		<title>Konštrukcia IF-ELSE (assembler)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Kon%C5%A1trukcia_IF-ELSE_(assembler)&amp;diff=8941"/>
		<updated>2011-02-08T11:48:47Z</updated>

		<summary type="html">&lt;p&gt;Matej.svantner: Vytvorená stránka „Kategória :Konfigurovateľné mikroprocesorové systémy Kategória :Programové konštrukcie assembleru M8C  Konštrukciu IF-ELSE používame vtedy, keď je vykon…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória :Konfigurovateľné mikroprocesorové systémy]]&lt;br /&gt;
[[Kategória :Programové konštrukcie assembleru M8C]]&lt;br /&gt;
&lt;br /&gt;
Konštrukciu IF-ELSE používame vtedy, keď je vykonanie časti programu závislé na podmienke. Praktickým použitím je &lt;br /&gt;
&lt;br /&gt;
napríklad kontrola, či bolo stlačené tlačidlo, a ak áno, zvýšime hodnotu niektorej premennej.&lt;br /&gt;
&lt;br /&gt;
Okrem splnenia podmienky táto konštrukcia reaguje aj na jej nesplnenie. Vo vyšších programovacích jazykoch sa &lt;br /&gt;
&lt;br /&gt;
používa tento všeobecný zápis:&lt;br /&gt;
&lt;br /&gt;
 If (podmienka) Then &lt;br /&gt;
 	(ak je podmienka splnena)&lt;br /&gt;
 Else&lt;br /&gt;
 	(ak je podmienka nesplnena)&lt;br /&gt;
 End If&lt;br /&gt;
&lt;br /&gt;
V prípade použitia jazyku C, ktorý používa aj PSoC Designer, píšeme podmienku takto:&lt;br /&gt;
&lt;br /&gt;
 if (podmienka) {&lt;br /&gt;
 	(ak je podmienka splnená)&lt;br /&gt;
 }else{&lt;br /&gt;
 	(ak je podmienka nesplnená)&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Ak je v then alebo else časti len jeden príkaz, nie je potrebné písať {} zátvorky okolo tejto jednej podmienky.&lt;br /&gt;
&lt;br /&gt;
V assembleri používame na IF-ELSE konštrukciu skoky - JUMPs. Procesory Cypress PSoC poznajú šesť skokov, z toho dva &lt;br /&gt;
&lt;br /&gt;
nepodmienené a štyri podmienené. Pre naše použitie potrebujeme práve podmienené skoky.&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|class=wikitable border=1 cellpadding=5&lt;br /&gt;
|-&lt;br /&gt;
! Názov inštrukcie&lt;br /&gt;
! Zápis inštrukcie&lt;br /&gt;
! Popis&lt;br /&gt;
! Použitie&lt;br /&gt;
|-&lt;br /&gt;
| Jump if No Carry&lt;br /&gt;
| JNC &amp;lt;návestie&amp;gt;&lt;br /&gt;
| Skočí na návestie ak je Carry Flag (CF) rovné nule&lt;br /&gt;
| Ak výsledok predchádzajúcej operácie nepretiekol smerom nahor ani nadol, vykoná sa skok&lt;br /&gt;
|-&lt;br /&gt;
| Jump if Not Zero&lt;br /&gt;
| JNZ &amp;lt;návestie&amp;gt;&lt;br /&gt;
| Skočí na návestie ak je Zero Flag (ZF) rovné nule&lt;br /&gt;
| Ak výsledkom predchádzajúcej operácie nie je nula, vykoná sa skok&lt;br /&gt;
|-&lt;br /&gt;
| Jump if Carry	&lt;br /&gt;
| JC &amp;lt;návestie&amp;gt;&lt;br /&gt;
| Skočí na návestie ak je Carry Flag (CF) rovné jednej&lt;br /&gt;
| Ak výsledok predchádzajúcej operácie pretiekol nahor alebo nadol, vykoná sa skok&lt;br /&gt;
|-&lt;br /&gt;
| Jump if Zero&lt;br /&gt;
| JZ &amp;lt;návestie&amp;gt;&lt;br /&gt;
| Skočí na návestie ak je Zero Flag (ZF) rovné jednej&lt;br /&gt;
| Ak výsledok predchádzajúcej operácie je nula, vykoná sa skok&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Z tabuľky podmienených skokov vyplýva, že skoky závisia od dvoch príznakov - Carry Flag a Zero Flag. Pred príkazom &lt;br /&gt;
&lt;br /&gt;
skoku teda používame napríklad porovnávaciu inštrukciu CMP.&lt;br /&gt;
&lt;br /&gt;
 CMP A,4       ;A==4&lt;br /&gt;
 JZ navestie&lt;br /&gt;
 CMP A,4       ;A&amp;lt;&amp;gt;4 &lt;br /&gt;
 JNZ navestie&lt;br /&gt;
 CMP A,4       ;A&amp;lt;4 &lt;br /&gt;
 JC navestie&lt;br /&gt;
 CMP A,4       ;A&amp;gt;=4 &lt;br /&gt;
 JNC navestie&lt;br /&gt;
 CMP A,4       ;A&amp;lt;=4  &lt;br /&gt;
 JZ navestie&lt;br /&gt;
 JC navestie&lt;br /&gt;
&lt;br /&gt;
Praktický príklad porovnania, či hodnota == 10 vyzerá takto.&lt;br /&gt;
&lt;br /&gt;
 podmienka1:&lt;br /&gt;
 CMP hodnota,10			;if (hodnota==10)&lt;br /&gt;
 JNZ podmienka1FALSE		&lt;br /&gt;
 ...				;{&lt;br /&gt;
 ...				;hodnota==10&lt;br /&gt;
 ...				;}&lt;br /&gt;
 JMP podmienka1koniec&lt;br /&gt;
 podmienka1FALSE:		;else&lt;br /&gt;
 &lt;br /&gt;
 ...				;{&lt;br /&gt;
 ...				;hodnota&amp;lt;&amp;gt;10&lt;br /&gt;
 ...				;}&lt;br /&gt;
 podmienka1koniec:		;koniec if-else&lt;br /&gt;
&lt;br /&gt;
Tento príklad najprv porovná, či hodnota==10, a ak to nie je pravda, skočí na návestie &amp;quot;podmienka1FALSE&amp;quot;. Ak &lt;br /&gt;
&lt;br /&gt;
hodnota==10, vykonajú sa príkazy tesne pod inštrukciou &amp;quot;JNZ podmienka1FALSE&amp;quot; a následne sa skočí na koniec cyklu, &lt;br /&gt;
&lt;br /&gt;
aby sa nevykonali aj príkazy, ktoré patria ELSE vetve.&lt;br /&gt;
&lt;br /&gt;
V prípade, že nám stačí IF-THEN verzia, použijeme tento kód:&lt;br /&gt;
&lt;br /&gt;
 podmienka2:&lt;br /&gt;
 CMP hodnota,10			;if (hodnota==10)&lt;br /&gt;
 JNZ podmienka2koniec		&lt;br /&gt;
 ...				;{&lt;br /&gt;
 ...				;hodnota==10&lt;br /&gt;
 ...				;}&lt;br /&gt;
 podmienka2koniec&lt;/div&gt;</summary>
		<author><name>Matej.svantner</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Konfigurovate%C4%BEn%C3%A9_mikroprocesorov%C3%A9_syst%C3%A9my&amp;diff=8940</id>
		<title>Konfigurovateľné mikroprocesorové systémy</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Konfigurovate%C4%BEn%C3%A9_mikroprocesorov%C3%A9_syst%C3%A9my&amp;diff=8940"/>
		<updated>2011-02-08T11:29:38Z</updated>

		<summary type="html">&lt;p&gt;Matej.svantner: /* Programové konštrukcie assembleru M8C */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[Kategória:Konfigurovateľné mikroprocesorové systémy]]&lt;br /&gt;
[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Aplikovaná informatika]]&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
Názov=Konfigurovateľné mikroprocesorové systémy&lt;br /&gt;
Forma=Prednáška a praktické cvičenia&lt;br /&gt;
Abstrakt=Všeobecnej architektúra počítača a mikrokontroléra, rozdiely a porovnanie. Návrh a tvorb hybridných elektronických systémov na báze mikrokontrolérov PSoC. Komunikácia mikrokontroléra s prostredím. Komunikačné protokoly a štandardy. Pripájanie a riadenie periférií.  &lt;br /&gt;
Rozvrh=3/0/2&lt;br /&gt;
Hodnotenie=Spracovanie projektu a skúška&lt;br /&gt;
Poznámky=Predmetom projektu môže byť téma podľa vlastného výberu z oblasti prednášky a/alebo cvičení spracovaná v písomnej elektronickej podobe a verejne publikovaná na serveri KiWiKi. Hodnotenie a poznámky k projektu budú verejné a zverejnené v diskusii k práci. Pri písaní článkov sa riadte [[Pomoc:Obsah | návodom]] s dôrazom na zadávanie vzťahov vo formáte kiwiki a korektné spracovanie obrázkov. &lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;  padding:15px;position:relative; text-align:left;height:150px;border: none; -moz-border-radius:15px;background-color: #F3F781;&amp;quot; &amp;gt;&lt;br /&gt;
== Všeobecný úvod ==&lt;br /&gt;
* [[Od počítača k mikrokontroléru]]&lt;br /&gt;
* [[Architektúra všeobecného počítača]]&lt;br /&gt;
* [[Architektúra mikrokontroléra]]&lt;br /&gt;
* [[Prehľad aktuálneho stavu mikroprocesorových systémov]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;  padding:15px;position:relative; text-align:left;height:100px;border: none; -moz-border-radius:15px;background-color: #F3F781;&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Úvod do technológie PSoC ==&lt;br /&gt;
* [[Prehľad architektúry PSoC]] &lt;br /&gt;
* [[Elektrické a mechanické parametre architektúry PSoC]]&lt;br /&gt;
* [[Vývojové prostredie pre systémy PSoC]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;  padding:15px;position:relative; text-align:left;height:100px;border: none; -moz-border-radius:15px;background-color: #F3F781;&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Assembler M8C ==&lt;br /&gt;
* Štruktúra assembleru - Assembler M8C&lt;br /&gt;
* Pseudoinštrukcie assembleru - Assembler M8C&lt;br /&gt;
* Makrá - Assembler M8C&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;  padding:15px;position:relative; text-align:left;height:220px;border: none; -moz-border-radius:15px;background-color: #F3F781;&amp;quot; &amp;gt;&lt;br /&gt;
== Inštrukcie procesora M8C ==&lt;br /&gt;
* [[Prehľad inštrukcií procesora M8C]]&lt;br /&gt;
* [[Inštrukcie presunu dát - M8C]]&lt;br /&gt;
* [[Aritmetické inštrukcie - M8C]]&lt;br /&gt;
* [[Logické inštrukcie - M8C]]&lt;br /&gt;
* [[Inštrukcie pre prácu zo zásobníkom - M8C]]&lt;br /&gt;
* [[Skoky a podprogramy - M8C]]&lt;br /&gt;
* Špeciálne inštrukcie - M8C&lt;br /&gt;
* Prerušenia - M8C&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;  padding:15px;position:relative; text-align:left;height:100px;border: none; -moz-border-radius:15px;background-color: #F3F781;&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programové konštrukcie assembleru M8C ==&lt;br /&gt;
* [[Konštrukcia IF-ELSE (assembler)]]&lt;br /&gt;
* [[Konštrukcia SWITCH-CASE (assembler)]]&lt;br /&gt;
* [[Cykly DO-WHILE, FOR-LOOP (assembler)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;  padding:15px;position:relative; text-align:left;height:180px;border: none; -moz-border-radius:15px;background-color: #F3F781;&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GPIO - Všeobecne vstupy a výstupy  PSoC==&lt;br /&gt;
* [[Popis GPIO]]&lt;br /&gt;
* [[Konfigurácia GPIO pomocou designera obvodu]]&lt;br /&gt;
* [[Programová konfigurácia GPIO]]&lt;br /&gt;
* [[Módy portov (M8C)]]&lt;br /&gt;
* [[Pripojenie periférnych obvodov]]&lt;br /&gt;
* [[Pripojenie tlačítok a ošetrenie zákmitov]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;  padding:15px;position:relative; text-align:left;height:200px;border: none; -moz-border-radius:15px;background-color: #F3F781;&amp;quot; &amp;gt;&lt;br /&gt;
== Sériová asynchrónna komunikácia - UART ==&lt;br /&gt;
* [[Historický vývoj UART]]&lt;br /&gt;
* [[Štandard RS232]]&lt;br /&gt;
* [[Štandard RS485]]&lt;br /&gt;
* [[Blok UART]]&lt;br /&gt;
* [[API UART]]&lt;br /&gt;
* Protokol MODBUS/uBUS&lt;br /&gt;
** [[Popis protokolu MODBUS/uBUS]]&lt;br /&gt;
** [[Implementácia protokolu MODBUS/uBUS]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;  padding:15px;position:relative; text-align:left;height:200px;border: 10px; -moz-border-radius:15px;background-color: #F3F781;&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sériové komunikačné zbernice==&lt;br /&gt;
* [[Synchrónna komunikácia I2C]]&lt;br /&gt;
** [[Meranie teploty pomocou LM92]]&lt;br /&gt;
** [[Hodiny reálneho času]] &lt;br /&gt;
* [[Synchrónna komunikácia SPI]]&lt;br /&gt;
* Distribuovaný systém zber dát 1-Wire&lt;br /&gt;
** [[Protokol 1-Wire]]&lt;br /&gt;
** [[Meranie teploty pomocou teplomera DS18S20]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;  padding:15px;position:relative; text-align:left;height:250px;border: 10px; -moz-border-radius:15px;background-color: #F3F781;&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Čítače, časovače a šírkové modulátory PSoC==&lt;br /&gt;
* Blok čítača a časovača (M8C)&lt;br /&gt;
* API čítača a časovača (M8C)&lt;br /&gt;
* Generovanie časových intervalov (M8C)&lt;br /&gt;
* Meranie času a frekvencie (M8C)&lt;br /&gt;
** [[Presné meranie kapacity]]&lt;br /&gt;
** Meranie polohy pomocou magnetostrikčného senzoru&lt;br /&gt;
* [[Šírkový modulátor PWM]]&lt;br /&gt;
* API PWM&lt;br /&gt;
** Riadenie modelárskeho servomotora pomocou PWM&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;  padding:15px;position:relative; text-align:left;height:250px;border: 10px; -moz-border-radius:15px;background-color: #F3F781;&amp;quot; &amp;gt;&lt;br /&gt;
== Analógové spracovanie signálov ==&lt;br /&gt;
* [[Prevodníky ADC]]&lt;br /&gt;
** Aproximačné prevodníky&lt;br /&gt;
** [[Delta-Sigma prevodníky]]&lt;br /&gt;
* [[Prevodníky DAC]]&lt;br /&gt;
* [[Analógové spracovanie signálov - zosilňovače]]&lt;br /&gt;
* [[Analógové spracovanie signálov - komparátor]]&lt;br /&gt;
** Spracovanie prerušenia od komparátora&lt;br /&gt;
* [[Analógové spracovanie signálov - filtre]]&lt;br /&gt;
** Návrh a realizácia filtrov&lt;br /&gt;
* [[Šumy v elektronických systémoch]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;  padding:15px;position:relative; text-align:left;height:150px;border: 10px; -moz-border-radius:15px;background-color: #F3F781;&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Všeobecné zásady tvorby programov ==&lt;br /&gt;
* [[Všeobecné zásady tvorby programov - analýza]]&lt;br /&gt;
* [[Všeobecné zásady tvorby programov - návrh]] &lt;br /&gt;
* [[Všeobecné zásady tvorby programov - implementácia]]&lt;br /&gt;
* [[Všeobecné zásady tvorby programov - testovanie a ladenie programu]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:600px;  padding:15px;position:relative; text-align:left;height:150px;border: 10px; -moz-border-radius:15px;background-color: #F3F781;&amp;quot; &amp;gt;&lt;br /&gt;
== RC-5 ==&lt;br /&gt;
* [[Protokol RC-5]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Podklady k cvičeniam ==&lt;br /&gt;
# [[Binárne čísla]]&lt;br /&gt;
## Reprezentácia a formáty zobrazenia čísel&lt;br /&gt;
## Prevody medzi číselnými sústavami&lt;br /&gt;
## Matematické operácie s binárnymi číslami&lt;br /&gt;
# Vývojové prostredie PSoC&lt;br /&gt;
## Tvorba programov v PSoC Designer&lt;br /&gt;
## Vývojový kit CY3210&lt;/div&gt;</summary>
		<author><name>Matej.svantner</name></author>
		
	</entry>
</feed>