Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat A/D konverter Makan Gergely, Markella Máté, Mellár János, Mingesz Róbert
ADC használata 2
Folytonos jel → szám 3
A/D konverterek 4
Referencia feszültség 5
6
ADC blokkvázlata 7
ADC konfigurálása Referenciafeszültség VDD Engedélyezés Órajel forrása: Timer 2 tólcsordulás Port I/O: P1.6 Analóg bemenet 8
Megszakítások Timer 2: NINCS engedélyezve AD0INT: Engedélyezve Szükséges: ADC megszakításkezelő rutin (NEM Timer 2) 9
Hibakeresés 10
Tipikus hibák Projekt nem megfelelően van elkészítve Nem volatile változók használata Nem megfelelő SYSCLK/TCLK Nem megfelelő timerbeállítás Flag-ek nincsenek törölve 11
Tipikus hibák Túlbonyolított/követhetetlen kód Integer eredmény 0 lesz Integer eredmény túlcsordul Elfogy a processzoridő (starvation) 12
Hibakeresés Megszakítások? Legalább egyszer végrehajtódik? Követés oszcilloszkóppal (szabad portbit segítségével) Változók követése Add to watch Lépésenkénti végrehajtás Insert breakpoint Hibakereső kódrészletek 13
Feladatok 14
1. feladat Digitalizálja a potenciométer állását, majd jelenítse meg a kijelzőn 0 és 99 közötti számként! Az átskálázást egész aritmetikával végezze! A kijelzés frissítésének frekvenciája legyen 200 Hz! A mérést külön timer vezérelje, a mérés frekvenciája legyen 50 Hz! 15
1. Feladat – lépések Jumperek megfelelő beállítása Mikrovezérlő konfigurálása Korábbi óra: szám megjelenítése ADC értékének beolvasása (felső helyi érték megjelenítése a kijelzőn) Átskálázás megvalósítása Végeredmény megjelenítése 16
2. feladat Szabad portbit-ek felhasználásával vizsgálja meg a következőket: Mennyi a kijelzés valós frekvenciája? Mennyi a mérés valós frekvenciája? Mennyi idő alatt hajtódik végre a kijelzéssel foglalkozó megszakítás? Mennyi idő alatt hajtódik végre a mérést végző megszakítás? Megszakítja-e a kijelzés az A/D rutin-t? 17
3. feladat Bővítse a programot a következő funkciókkal Maximum érték tartása, törlése Minimum érték tartása, törlése Előző két funkció kombinálása 18