<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=M%C3%A9r%C3%A9s_Labor_II._Ellen%C5%91rz%C5%91_m%C3%A9r%C3%A9s_gyakorlat</id>
	<title>Mérés Labor II. Ellenőrző mérés gyakorlat - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=M%C3%A9r%C3%A9s_Labor_II._Ellen%C5%91rz%C5%91_m%C3%A9r%C3%A9s_gyakorlat"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=M%C3%A9r%C3%A9s_Labor_II._Ellen%C5%91rz%C5%91_m%C3%A9r%C3%A9s_gyakorlat&amp;action=history"/>
	<updated>2026-05-12T20:31:46Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=M%C3%A9r%C3%A9s_Labor_II._Ellen%C5%91rz%C5%91_m%C3%A9r%C3%A9s_gyakorlat&amp;diff=137580&amp;oldid=prev</id>
		<title>Unknown user: Új oldal, tartalma: „{{GlobalTemplate|Infoalap|MeresLabor2EllGy}}  Aki valamit tud, az ne habozzon kitölteni. Előtte akár utána is nézhet, hogy tényleg jó-e, amit gondol. ;)  %TOC{de…”</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=M%C3%A9r%C3%A9s_Labor_II._Ellen%C5%91rz%C5%91_m%C3%A9r%C3%A9s_gyakorlat&amp;diff=137580&amp;oldid=prev"/>
		<updated>2012-10-21T20:03:15Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „{{GlobalTemplate|Infoalap|MeresLabor2EllGy}}  Aki valamit tud, az ne habozzon kitölteni. Előtte akár utána is nézhet, hogy tényleg jó-e, amit gondol. ;)  %TOC{de…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{GlobalTemplate|Infoalap|MeresLabor2EllGy}}&lt;br /&gt;
&lt;br /&gt;
Aki valamit tud, az ne habozzon kitölteni. Előtte akár utána is nézhet, hogy tényleg jó-e, amit gondol. ;)&lt;br /&gt;
&lt;br /&gt;
%TOC{depth=&amp;quot;2&amp;quot;}%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Megjegyzések a gyakorlati feladatokhoz:==&lt;br /&gt;
*  Az ellenőrző mérés gyakorlati részén ilyen vagy ehhez hasonló feladatokat kapnak a hallgatók. A feladatok nehézsége nem teljesen egyforma, ezeket az eltéréseket a mérésvezetők az osztályzat megállapításánál igyekeznek figyelembe venni.&lt;br /&gt;
* Az 1. mérés speciális részei (pl. hogyan kell egye ellenállást bekötni a breadboardon) technikai okokból nem szerepelnek a gyakorlati feladatok közt, de az ott gyakorolt mérési eszközök, módszerek más mérésekben is szerepeltek, és azokkal kapcsolatban &amp;quot;előkerülnek&amp;quot;. Az írásbeli részen számítani lehet az 1. méréshez kapcsolódó kérdésre.&lt;br /&gt;
* A 2-3. méréshez kapcsolódó feladatok esetében mindjárt az elején célszerű tisztázni az esetleg nem egyértelműnek tűnő feladatokat, lehetőségeket. (Pl. az egyszerűség kedvéért tekinthető-e pergésmentesnek a nyomógomb vagy kapcsoló.) Az első megjegyzésben szereplő &amp;quot;ehhez hasonló&amp;quot; elsősorban itt fog előfordulni: pl. lehet, hogy valamilyen értéket nem a LED soron kell kijelezni, hanem az LCD kijelzőn, de ebben az esetben kérhető egy LCD kezelő rutin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1. A D/A átalakító erősítési hibája és beállása==&lt;br /&gt;
Mérje meg a D/A átalakító erősítési hibáját! A hibát százalékban adja meg, és hasonlítsa össze&lt;br /&gt;
az adatlap adataival. (A tesztpanelen a &amp;quot;VREF Range&amp;quot;, &amp;quot;Output buffer enabled&amp;quot; van beállítva, a&lt;br /&gt;
VREF névleges értéke +2,5 V.)&amp;lt;br&amp;gt;&lt;br /&gt;
Nézze meg oszcilloszkópon a D/A átalakító beállását, a dac_gui alkalmazással beállítható&lt;br /&gt;
legnagyobb amplitúdójú pozitív irányú ugrás esetén. Becsülje meg a beállási időt!&amp;lt;br&amp;gt;&lt;br /&gt;
===Megoldás===&lt;br /&gt;
Erősítési hiba: (Vmax-V0)/(2.5V-1LSB), ahol a Vmax és V&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; a maximum és minimum értékeknél mért feszültétség. LSB = FS/2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;, ahol FS a maximum értékhez tartozó feszültség, n pedig a bitek száma (jelenleg 12).&lt;br /&gt;
Beállási idő: a dac_gui-nál Square Wave-t kell beállítani. A beállás pedig a 0-ról 2.5V-ra történő beállás ideje, ahol 1LSB-s eltéréstől mérünk.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==2. D/A átalakító integrális linearitási hibájának meghatározása==&lt;br /&gt;
Mérje meg a D/A átalakító kimenő feszültségét a tartományon belül nagyjából egyenletesen&lt;br /&gt;
elosztott 10 pontban, a jeltartomány két szélső pontját is belevéve. A mért feszültségeket&lt;br /&gt;
közvetlenül elektronikusan vigye át egy Excel táblába! A linearitási hiba számítását az Excel&lt;br /&gt;
tábla segítségével végezze!&amp;lt;br&amp;gt;&lt;br /&gt;
Az integrális linearitási hiba értékét LSB-ben adja meg! Értékelje is az eredményt!&amp;lt;br&amp;gt;&lt;br /&gt;
===Megoldás===&lt;br /&gt;
Excel tábla felosztva 10 részre, a mért és a számított (lineáris) feszültség különbsége osztva 0.0006-tal (=1LSB) adja az eltérést FSB-ben. Értékelni az adatlap alapján.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==3. D/A átalakító differenciális linearitási hibájának meghatározása és glitch vizsgálata&amp;lt;br&amp;gt;==&lt;br /&gt;
Mérje meg a D/A átalakító differenciális linearitási hibáját az 1022 &amp;amp;#8211; 1026 bemenő&lt;br /&gt;
jeltartományban! A hiba értékét LSB-ben adja meg!&amp;lt;br&amp;gt;&lt;br /&gt;
Az oszcilloszkópon mutasson be egy átváltási tranzienst (glitch), és mérje meg az amplitúdóját a&lt;br /&gt;
kurzorvonalak segítségével.&amp;lt;br&amp;gt;&lt;br /&gt;
===Megoldás===&lt;br /&gt;
Differenciális hiba: Az 1022-tól az 1026-ig való értékek ráadásával miden értéknél meg kell adni a mért feszültséget LSB-ben, és aztán ezek különbségének 1LSB-től való eltérését kell megadni.&lt;br /&gt;
Glitch: dac_gui &amp;quot;Glitch&amp;quot; funkciója. Ezután oszcilloszkóp, és kész...&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==4. Az A/D átalakító tulajdonságainak vizsgálata szinuszjellel&amp;lt;br&amp;gt;==&lt;br /&gt;
A szinuszos mérőjelet az ADC2-es csatornára kell adni. A méréshez a szinuszjel amplitúdóját a&lt;br /&gt;
mérésvezető által megadott paraméterek szerint állítsa be. (Ha nem kapott ilyen előírást, akkor a&lt;br /&gt;
jel a 0 - 2,4 V tartományt töltse ki.) A jel ráadása előtt oszcilloszkóppal ellenőrizze, hogy a&lt;br /&gt;
generátoron beállított jel tényleg nem lépi túl az átalakító jeltartományát, ami 0 .. +2,5 V.&amp;lt;br&amp;gt;&lt;br /&gt;
A jel frekvenciáját úgy válassza meg, hogy koherens mintavételezés legyen, és a mintavételezés&lt;br /&gt;
időtartama a jel periódusidejének k-szorosa legyen. A k értékét a mérésvezető adja meg, a k = 5&lt;br /&gt;
érték nem választható. (A k lehet pl. 3, 7, 9, 11 stb.) Az átalakító mintavételi frekvenciája&lt;br /&gt;
115200 Hz, és az átalakító 8192 egymás utáni mintát tárol a tesztpanel RAM-jában. Ezekkel az&lt;br /&gt;
adatokkal a koherens mintavételezéshez szükséges jelfrekvencia már kiszámítható.&amp;lt;br&amp;gt;&lt;br /&gt;
Nézze meg az átalakított jelet az időtartományban, és ellenőrizze, hogy a mintavétel tényleg&lt;br /&gt;
koherens.&amp;lt;br&amp;gt;&lt;br /&gt;
Nézze meg az átalakított jel spektrumát! Értékelje a spektrumot, hogy az jellegre megfelel-e az&lt;br /&gt;
elvártnak. Térjen ki arra is, hogy a spektrumon látszik-e, hogy a mintavétel koherens volt-e. Az&lt;br /&gt;
értékelés alapjául szolgáló ábrát emelje át a jegyzőkönyvrészletbe, és írja mellé az értékelést.&amp;lt;br&amp;gt;&lt;br /&gt;
===Megoldás:===&lt;br /&gt;
A jel frekvenciája: fm=k*115200/8192.&lt;br /&gt;
Időtartomány: Time-domain mód. Koherens, ha a jobb oldalon a vonal ott ér véget, ahol a bal oldalon levő vonal kezdődik.&lt;br /&gt;
Spektrum: Frequency-domain mód. Látszik az offset a 0. spektrumvonalnál, és az alapharmonikus, valamint pedig a felharmonikusok.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==5. Négyszögjel vizsgálata A/D átalakítóval&amp;lt;br&amp;gt;==&lt;br /&gt;
Adjon az átalakító bemenetére (ADC2-es csatorna) szimmetrikus (50%) kitöltésű négyszögjelet.&lt;br /&gt;
A négyszögjel amplitúdóját a mérésvezető által megadott paraméterek szerint állítsa be. (Ha nem&lt;br /&gt;
kapott ilyen előírást, akkor a jel a 0,4 - 2,0 V tartományt töltse ki.) A jel ráadása előtt&lt;br /&gt;
oszcilloszkóppal ellenőrizze, hogy a generátoron beállított jel tényleg nem lépi túl az átalakító&lt;br /&gt;
jeltartományát, ami 0 .. +2,5 V.&amp;lt;br&amp;gt;&lt;br /&gt;
A jel frekvenciáját úgy válassza meg, hogy koherens mintavételezés legyen, és a mintavételezés&lt;br /&gt;
időtartama a jel periódusidejének k-szorosa legyen. A k értékét a mérésvezető adja meg, a k = 5&lt;br /&gt;
érték nem választható. (A k lehet pl. 3, 7, 9, 11 stb.) Az átalakító mintavételi frekvenciája&lt;br /&gt;
115200 Hz, és az átalakító 8192 egymás utáni mintát tárol tesztpanel RAM-jában. Ezekkel az&lt;br /&gt;
adatokkal a koherens mintavételezéshez szükséges jelfrekvencia már kiszámítható.&amp;lt;br&amp;gt;&lt;br /&gt;
Nézze meg az átalakított jelet az időtartományban, és ellenőrizze, hogy a mintavétel tényleg&lt;br /&gt;
koherens.&amp;lt;br&amp;gt;&lt;br /&gt;
Nézze meg az átalakított jel spektrumát! Értékelje a spektrumot, hogy az megfelel-e az&lt;br /&gt;
elvártnak. Térjen ki arra is, hogy a spektrumon látszik-e, hogy a kitöltési tényező 50%. Az&lt;br /&gt;
értékelés alapjául szolgáló ábrát emelje át a jegyzőkönyvrészletbe, és írja mellé az értékelést.&amp;lt;br&amp;gt;&lt;br /&gt;
===Megoldás===&lt;br /&gt;
Ugyanaz, mint a 4. feladat, csak most négyszögjel.&lt;br /&gt;
Értékelés: a páros sorszámú komponensek lényegesen alulmaradnak amplitúdóban a páratlanokkal szemben. Az alakhűség is látszik az időtartományban.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==6. Alapsávi digitális jel átvitelének vizsgálata&amp;lt;br&amp;gt;==&lt;br /&gt;
A szem-ábra felvételéhez adjon egy, a szem-ábra vizsgálatához alkalmas vizsgáló jelet a&lt;br /&gt;
jelcsatorna bemenetére, és figyelje meg az szem-ábrát a jelcsatorna-modell másik végén! Vegye&lt;br /&gt;
fel a szemábrát 4800 és 9600 Baud jelváltási sebesség esetén, az ábrákat mentse is át egy&lt;br /&gt;
jegyzőkönyv-részletbe. Értékelje a kapott szem-ábrákat!&amp;lt;br&amp;gt;&lt;br /&gt;
Ellenőrizze, hogy a jelcsatorna-modellen átvitt jelet helyesen veszi-e a PC soros portja 9600&lt;br /&gt;
Baud esetén. (A mérésvezető más átviteli sebességet is előírhat.) Vegye is fel a jelcsatorna&lt;br /&gt;
kimenetén látható jelalakot a mérésvezető által megadott karakter átvitele esetén. A karaktert a&lt;br /&gt;
klaviatúra megfelelő gombjának leütésével kell ráadni a csatornára. Az oszcilloszkópot úgy kell&lt;br /&gt;
triggerelni, hogy az minden karakter-jelet kijelezzen a következő karakter érkezéséig, de a&lt;br /&gt;
kijelzési kép megőrzése nem a STOP gomb megnyomásával történik. Értékelje a kapott&lt;br /&gt;
jelalakot!&amp;lt;br&amp;gt;&lt;br /&gt;
===Megoldás===&lt;br /&gt;
Jel: so_rand2 progival. Az oszcilloszkópon infinite persistence megjelenítési mód. Értékelés: nyitottság.&lt;br /&gt;
Helyes jel átvitelének ellenőrzése: tvsio program kell. Az oszcilloszkópon a triggernél a &amp;amp;#8217;pattern&amp;amp;#8217;-t kell állítani, méghozzá lefutó élre (ugyanis a startbit 0). -- [[VargaTamas|Tompika]] - 2006.12.06.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==7. Vegye fel a jelcsatorna-modell frekvenciamenetét (&amp;quot;amplitúdó-menet&amp;quot;), és határozza meg a felső határfrekvenciát!&amp;lt;br&amp;gt;==&lt;br /&gt;
A vizsgált frekvenciatartomány legyen 500 Hz - 10 kHz, és elég 10-15 pontban mérni.&lt;br /&gt;
A frekvenciamenet vizsgálatánál a relatív erősítést mérje meg dB-ben. A mérési eredményeket&lt;br /&gt;
közvetlenül elektronikusa vigye át egy Excel táblába! Határozza meg a -3dB-es felső&lt;br /&gt;
határfrekvenciát, és mérje meg ott a fázistolást!&amp;lt;br&amp;gt;&lt;br /&gt;
A mérési eredményeket ábrázolja Excel &amp;quot;chart&amp;quot;-ként is a hagyományos Bode-diagram&lt;br /&gt;
formájában! A diagramon természetesen fel kell tüntetni a tengelyek skálázását és a&lt;br /&gt;
mértékegységeket is. Amikor a Bode-diagramot átemeli a jegyzőkönyvbe, ne felejtse el a mérési&lt;br /&gt;
eredményeket tartalmazó táblázatot is átemelni.&amp;lt;br&amp;gt;&lt;br /&gt;
===Megoldás===&lt;br /&gt;
500Hz-től 10kHz-ig kell egyenletesen 10-15 pontban mérni. A jel 4 Vp-p, 0 V offszet.&lt;br /&gt;
Relatív erősítés: a digitális multiméterre először a sávközépi jelet kell ráadni (500Hz, sin). Ezt kell a &amp;amp;#8217;shift + db&amp;amp;#8217; gombbal eltárolni, aztán majd ehhez viszonyítja a többit. Így már a relatív erősítést fogjuk kapni.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Kérdéses: 3dB-es határfrekvencia?&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* addig kell állítgatni (tekergetni) a hullámforma-generátoron a frekvenciát, amíg a multiméteren a -3dB -t nem látod. Ez lesz a határfrekvencia. -- [[MartonGabor|Gabesz]] - 2005.12.05.&lt;br /&gt;
A fázistolást mérhetjük automatikusan (gondolom, mert nem kötötték ki, hogy nem), vagy kézzel: (96/207)*360 [(időeltolódás/kimenet periódusideje)*360]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==8. A jelcsatorna-modell erősítésének és határfrekvenciájának vizsgálata&amp;lt;br&amp;gt;==&lt;br /&gt;
Adjon a jelcsatorna-modell bemenetére 1V effektív értékű, 500 Hz frekvenciájú szinuszjelet.&lt;br /&gt;
Multiméterrel mérje meg a kimenő és bemenő feszültséget, és számítsa ki az erősítést. Mérje&lt;br /&gt;
meg a fázistolást is az oszcilloszkóppal, lehetőleg minél pontosabban. A fázistolást nem a&lt;br /&gt;
Quick_Meas funkcióval kell végezni, hanem a képernyőn mért értékekből kell számítani.&amp;lt;br&amp;gt;&lt;br /&gt;
Értékelje is az eredményt! (Mekkora fázistolást vár sávközépen?)&amp;lt;br&amp;gt;&lt;br /&gt;
Ezután keresse meg azt a határfrekvenciát, amelyen az erősítés a felére csökken. Az itt mért&lt;br /&gt;
erősítést számítsa át dB-be.&amp;lt;br&amp;gt;&lt;br /&gt;
Számítsa ki az elméleti csatornakapacitást kétállapotú jelek esetére, az előzőkben mért étékek&lt;br /&gt;
felhasználásával.&amp;lt;br&amp;gt;&lt;br /&gt;
===Megoldás===&lt;br /&gt;
A jel le van írva, erősítés a kimenet/bemenet. Ha dB kell akkor átváltani. A fázistolás megmérése számítással: (időeltolódás/kimenet periódusideje)*360&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Kérdéses: Ezek után el kell kezdenem lépegetni (különböző frekvenciájú jeleket ráadni) és megnézni mikor lesz az erősítés a fele? Meg aztán a dB nem határozható meg e nélkül? Mert ha fele, akkor Uki/Ube=0.5 &amp;amp;#61664; 20*log0.5=-6.02&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* kiszámoltad az erősítést a fenti módszerrel (legyen mondjuk A). Ekkor addig állítgatod a frekit, amíg az erősítés A/2 lesz (=/=0.5). dB-ben: ahogy fent, csak 0.5 helyett A/2. -- [[MartonGabor|Gabesz]] - 2005.12.05.&lt;br /&gt;
Csatornakapacitás: 2*B*log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;2 = 2*B = 2*határfrekvencia&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==11. Bináris számok beolvasása&amp;lt;br&amp;gt;==&lt;br /&gt;
Írjon egy programot az AVR Experiment kártyára, amely 8 bites bináris számot olvas be a&lt;br /&gt;
kapcsolósorról, két részletben. A kapcsolókon (SW0 -SW3) beállított értéket jobbról balra&lt;br /&gt;
növekvő súlyozású 4 bites bináris számként kell kezelni. A 8 bites szám alsó (alacsonyabb&lt;br /&gt;
súlyozású) része a BT0 nyomógombbal, a felső része a BT1 nyomógombbal vihető be.&amp;lt;br&amp;gt;&lt;br /&gt;
A BT1 gomb megnyomása után a bevitt 8 bites szám értéket jelezze ki a LED soron!&lt;br /&gt;
&lt;br /&gt;
==={{InLineFileLink|Infoalap|MeresLabor2EllGy|em11.asm|em11.asm}}===&lt;br /&gt;
&lt;br /&gt;
==12. Gombnyomás számláló&amp;lt;br&amp;gt;==&lt;br /&gt;
Írjon egy programot az AVR Experiment kártyára, amely az INT nyomógomb lenyomására (ill.&lt;br /&gt;
pergésére) keletkező 1-&amp;gt;0 átmeneteket számolja. Az INT nyomógomb változásait&lt;br /&gt;
megszakítással kezelje. A számláló 4 bites, tartalma a LED soron van kijelezve.&amp;lt;br&amp;gt;&lt;br /&gt;
Kiegészítő feladat: A számláló az 1111 érték elérése után nem számol tovább, a számláló egy&lt;br /&gt;
másik nyomógombbal törölhető.&lt;br /&gt;
&lt;br /&gt;
==={{InLineFileLink|Infoalap|MeresLabor2EllGy|em12.asm|em12.asm}} változott!===&lt;br /&gt;
* bugfix: állapotregiszter mentése/visszaállítása az IT-rutinban&lt;br /&gt;
&lt;br /&gt;
==13. LED villogtatás-1&amp;lt;br&amp;gt;==&lt;br /&gt;
Írjon egy programot az AVR Experiment kártyára, amely kb. másodperces ütemezéssel villogtat&lt;br /&gt;
egy LED-et. Az időzítést egy timer egységgel végezze.&amp;lt;br&amp;gt;&lt;br /&gt;
Egy nyomógomb megnyomása után a LED villogás helyett folyamatosan égjen. Ugyanazon&lt;br /&gt;
nyomógombot még egyszer megnyomva megint villogjon. A nyomógomb kezelését interrupttal&lt;br /&gt;
oldja meg.&lt;br /&gt;
&lt;br /&gt;
==={{InLineFileLink|Infoalap|MeresLabor2EllGy|em13.asm|em13.asm}}===&lt;br /&gt;
&lt;br /&gt;
==14. LED villogtatás-2&amp;lt;br&amp;gt;==&lt;br /&gt;
Írjon egy programot az AVR Experiment kártyára, amely kb. másodperces ütemezéssel villogtat&lt;br /&gt;
egy LED-et. Az időzítést egy SW időzítő rutinnal végezze.&amp;lt;br&amp;gt;&lt;br /&gt;
Egy nyomógomb megnyomása után a LED villogás helyett folyamatosan égjen. Ugyanazon&lt;br /&gt;
nyomógombot még egyszer megnyomva megint villogjon. A nyomógomb kezelését interrupttal&lt;br /&gt;
oldja meg.&lt;br /&gt;
&lt;br /&gt;
==={{InLineFileLink|Infoalap|MeresLabor2EllGy|led_vill_02.asm|led_vill_02.asm}}===&lt;br /&gt;
&lt;br /&gt;
==15. Gombnyomás-emlékező&amp;lt;br&amp;gt;==&lt;br /&gt;
Írjon egy programot az AVR Experiment kártyára, amely emlékezik a gombok megnyomási&lt;br /&gt;
sorrendjére. A BT0, BT1, BT2 nyomógombhoz rendre a LED1, LED2, LED3 világító dióda&lt;br /&gt;
tartozik. A gomb megnyomása esetén a hozzá rendelt LED világít. Egyidejűleg tárolásra kerül a&lt;br /&gt;
gombnyomás eseménye. Alapállapot után a felhasználó legfeljebb 8 gombnyomást végezhet. A&lt;br /&gt;
felhasználó egyszerre csak 1 gombot tarthat lenyomva.&amp;lt;br&amp;gt;&lt;br /&gt;
Az IT gomb lenyomása után kb. 0.5 sec ütemezéssel a kártya visszajátssza a lenyomott&lt;br /&gt;
gombokat. (Ehhez kérhető kész időzítő rutin, ha a megoldás túl lassan készül.)&lt;br /&gt;
&lt;br /&gt;
==={{InLineFileLink|Infoalap|MeresLabor2EllGy|gombnyomas_emlekezo.asm|gombnyomas_emlekezeo.asm}}===&lt;br /&gt;
A fenti verziót nem tudtam szimulálni, mert a .inc fájl miatt az AVR Studio nem engedte felüldefiniálni&lt;br /&gt;
a 25-nél nagyobb ill. 16-nál kisebb regisztereket, így ez a megoldás kevesebb regisztert használ:&lt;br /&gt;
(A státuszregiszterrel nem törődtem, mo: lásd. 19. feladat)&lt;br /&gt;
==={{InLineFileLink|Infoalap|MeresLabor2EllGy|em15.asm|em15.asm}}===&lt;br /&gt;
&lt;br /&gt;
==16. Összeadó készítése&amp;lt;br&amp;gt;==&lt;br /&gt;
Írjon egy programot az AVR Experiment kártyára, amely egy összeadót valósít meg. Az&lt;br /&gt;
összeadó 4 bites, előjel nélküli bináris kódolású operandusokkal dolgozik.&amp;lt;br&amp;gt;&lt;br /&gt;
A számokat az SW0..3 kapcsolókon kell beállítani. Az IT gomb első megnyomásának hatására a&lt;br /&gt;
szám betöltődik a 8 bites eredményregiszterbe. Az eredményregiszter tartalmát a LED0..7 jelzi&lt;br /&gt;
ki. Az IT gomb második megnyomása beviszi a kapcsolókon beállított második operandust, és&lt;br /&gt;
rögtön hozzáadja az eredményregiszter tartalmához. Az IT gomb harmadik megnyomása törli az&lt;br /&gt;
eredményregisztert és alapállapotba viszi vissza az összeadót.&lt;br /&gt;
&lt;br /&gt;
==={{InLineFileLink|Infoalap|MeresLabor2EllGy|osszeado.asm|osszeado.asm}}===&lt;br /&gt;
&lt;br /&gt;
==17. Összeadó/kivonó készítése&amp;lt;br&amp;gt;==&lt;br /&gt;
Írjon egy programot az AVR Experiment kártyára, amely egy összeadó/kivonó egységet valósít&lt;br /&gt;
meg. Az egység 4 bites 2-es komplemens kódolású operandusokkal dolgozik.&amp;lt;br&amp;gt;&lt;br /&gt;
A számokat az SW0..3 kapcsolókon kell beállítani. Az BT0 gomb megnyomásának hatására a&lt;br /&gt;
szám betöltődik az eredményregiszterbe. Ezután kell a kapcsolókon beállítani a második&lt;br /&gt;
operandust. Ha ezután a felhasználó a BT1 gombot nyomja meg, akkor a számot hozzáadja az&lt;br /&gt;
eredményregiszterhez, ha pedig a BT2 gombot nyomja meg, kivonja a számot az&lt;br /&gt;
eredményregiszter tartalmából. Az eredmény-regiszter hosszát, a carry kezelését a hallgató&lt;br /&gt;
választja meg. Az eredményregiszter tartalmát a LED0..7 jelzi ki.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Megoldás:&lt;br /&gt;
==={{InLineFileLink|Infoalap|MeresLabor2EllGy|em17.asm|em17.asm}}===&lt;br /&gt;
==18. LED-léptetés&amp;lt;br&amp;gt;==&lt;br /&gt;
Írjon egy programot az AVR Experiment kártyára, amely gombnyomásra lépteti a &amp;quot;fényt&amp;quot; a&lt;br /&gt;
LED-soron. Bekapcsolás után a program gyújtsa ki a LED4 diódát, a többi ne világítson. A&lt;br /&gt;
világító LED-pozíció a BT0 és BT2 nyomógombok segítségével léptethető, BT0-val az egyik&lt;br /&gt;
irányba, BT2-vel a másikba. Minden gombnyomás 1 pozíciónyit léptet az adott irányba. Ha a&lt;br /&gt;
léptetés során elértük a széls&amp;amp;#245; helyzetet, akkor ne lehessen &amp;quot;kiléptetni&amp;quot; a világító LED-et.&lt;br /&gt;
&lt;br /&gt;
==={{InLineFileLink|Infoalap|MeresLabor2EllGy|em18.asm|em18.asm}}===&lt;br /&gt;
&lt;br /&gt;
==19. Kódfigyelő&amp;lt;br&amp;gt;==&lt;br /&gt;
Írjon egy programot az AVR Experiment kártyára, amely a gombok megnyomási sorrendjét&lt;br /&gt;
figyeli. Az SW0...3 kapcsolók egy bináris kódot adnak meg. Ezt a kódot kell bebillentyűzni a&lt;br /&gt;
BT0 és BT1 nyomógombokkal, amikor is a BT0jelzi a 0 értéket, BT1 pedig az 1 értéket. Ha a&lt;br /&gt;
kódot sikerül helyesen beütnünk, akkor a LED0 kigyullad, egészen a következő gombnyomásig.&lt;br /&gt;
Amíg a kódot nem ütjük be, a LED0 nem világít.&amp;lt;br&amp;gt;&lt;br /&gt;
Egy példa az értelmezésre:&amp;lt;br&amp;gt;&lt;br /&gt;
Kapcsolóállás: SW0=1 SW1=0 SW2=0 SW3=1&amp;lt;br&amp;gt;&lt;br /&gt;
Beütendő szekvencia: BT1, BT0 BT0 BT1&lt;br /&gt;
===Megoldás===&lt;br /&gt;
==={{InLineFileLink|Infoalap|MeresLabor2EllGy|em19.asm|em19.asm}}===&lt;br /&gt;
A státuszregisztert lusta voltam elmenteni, de nyilván (IT kezelő rutin elején) in temp, SREG ; push temp ;&lt;br /&gt;
(IT kezelő rutin végén - reti előtt) pop temp ; out SREG, temp ; menthető minden IT rutinban! &lt;br /&gt;
&lt;br /&gt;
==20. Dobókocka&amp;lt;br&amp;gt;==&lt;br /&gt;
Írjon egy programot az AVR Experiment kártyára, mely egy dobókockát szimulál. A &amp;quot;dobás&amp;quot; a&lt;br /&gt;
BT2 gombbal történik. A gomb minden egyes megnyomására 1 - 6 darab LED gyullad ki a LEDsoron,&lt;br /&gt;
a világító LED-ek száma véletlenszerű. (Tipp a véletlenszám előállításához: ha pl. egy&lt;br /&gt;
számláló az emberi akciókhoz képest nagy sebességgel számol, akkor a gomb megnyomása&lt;br /&gt;
biztos nem lehet szinkronban a számlálóval, a számlálónak a gomb megnyomása pillanatában&lt;br /&gt;
aktuális értéke véletlenszerűnek tekinthető.)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==={{InLineFileLink|Infoalap|MeresLabor2EllGy|dobokocka.asm|dobokocka.asm}}===&lt;br /&gt;
 interrupt nélkül, a pergésnél mindig újabb eredmény keletkezik, de az is ugyanannyira véletlen mint az első.&lt;br /&gt;
&lt;br /&gt;
-- [[SzentimreyHarrachDanielMatyas|Đani]] - 2005.12.03.&lt;br /&gt;
-- [[FodorPeter|Peti]] - 2006.12.06.&lt;br /&gt;
&lt;br /&gt;
* {{InLineFileLink|Infoalap|MeresLabor2EllGy|Meres2GyakPeldak.zip|Meres2GyakPeldak.zip}}: Megcsináltam én is az assembly példákat, hiba - tévedés joga fenntartva, persze minden javítást szívesen veszek :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoalap]]&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>