A mikrokontrollerekről szóló oldal kb

Ebben a cikkben megismertem Önt az 1-vezetékes busz munkájával és a paraméterek programozásával a Bascom-ban.

Az adatbuszon háromféle kommunikáció létezik:

- elektronikus - alacsony szint, magas jelszint; a felvétel megkezdése például az impulzus bomlásától;

Meg kell jegyeznünk, hogy az 1 vezetékes protokoll egyedülálló annak köszönhetően, hogy csak egy kommunikációs kapcsolatot használnak az adatok fogadására és továbbítására. Ugyanezen a vonalon a slave tápellátása is elvégezhető.

A buszjelek: "Napló 1", "Napló 0.", "Olvasás", "Visszaállítás", "Jelenlét" (lásd 1. ábra).

A mikrokontrollerekről szóló oldal kb

1. ábra - 1-vezetékes buszjelek

A "log 1" jelzéssel a master a buszon alacsony szintet állít be 1 ... 15 μs-n belül. Ha az "0. írási napló" az alacsony szint legalább 60 μs és legfeljebb 120 μs időtartamra van beállítva. Egy "olvasott" jelzéssel a mester alacsony szintet állít 1 ... 15 μs-ig. Ezután a slave (vagy a slave) a buszot alacsony szinten tartja, ha a log.0-t akar átvenni, és a log.1 átvitele során csak a vonalat szabadítja fel. A buszkeresést 15 μs után kell végrehajtani az alacsony szint beállítása után.

Ha a mesterről van szó, az "olvasás" lényegében egy "log-1" jel. Valójában a rabszolga belső állapota meghatározza ezt a jelet "log 1" vagy "read".

Reset jel esetén a master 480 μs alacsony szintet állít be. Ha van egy rabszolga a buszon, akkor a busz kiadása után válaszolnia kell. a "jelenlét" jel alacsony szintű 60 μs-ig.

A 2. ábra egy DS1821 hőmérő chipet és egy ATtiny2313 mikrokontrollert tartalmazó hőmérsékletmérő vázlatos rajza. A hőmérséklet értékek az MT-16S2H típusú LCD kijelzőn jelennek meg, és az RS-232-en keresztül továbbítják a személyi számítógép termináljára.

A mikrokontrollerekről szóló oldal kb

A DS1821 kétféleképpen működik: termosztát üzemmód és hőmérő üzemmód. A hőmérsékletmérési mód érdekel.

A DS1821 hőmérséklet-mérést biztosít a -55 ... + 125 ° C tartományban egy fokozatú felbontással. A hőmérséklet-mérés garantált pontossága a 0 ... + 85 ° C tartományban +/- 1 fok. és a teljes tartományban +/- 2 fok.

Az alábbi regiszterek rendelkezésre állnak a DS1821-ben az 1 vezetékes protokoll szintjén:

- TH - a termosztát felső hőmérséklet küszöb-regisztere;

- TL - a termosztát alacsony hőmérsékleti küszöbérték-regisztere;

A hőmérséklet-átalakítási parancsok a következők:

- ЕЕh - indítsa el a konverziót;

- 22h - állítsa le a konverziót;

- AAh - a hőmérséklet leolvasása.

A termosztát parancsjai:

- 01h a TH rekord;

- 02h - TL rekord;

End 'end program

Képzeld el most, hogy szembe kell néznünk azzal a feladattal, hogy mérjük a test hőmérsékletét a nyolc ponton a DS1821 használatával. Ezt a problémát a következő módon oldjuk meg. A termoelem mikroáramköröket a B porthoz csatlakoztatjuk az 5. ábra szerint. Ezután a fő programciklusban a PB0-PB7 következtetéseit 1-vezetékes buszvezetékként kezdjük el, a szubrutin segítségével és a RS-232-en keresztül továbbítjuk a PC-porthoz.

A DS1821 hőmérsékleti leolvasási alprogramja pontosan megismétli a korábban leírt "1w" programot. A program blokkvázlata a nyolc hőmérsékletérzékelő - "1w8" használatára a 6. ábrán látható.

A mikrokontrollerekről szóló oldal kb

6. ábra - A "1w8" program blokkdiagramja

End 'end program

A Bascom lehetővé teszi a Watchdog (watchdog) funkció végrehajtását a programban. A Watchdog olyan funkció, amely visszaállítja a vezérlőt, ha a program leáll. Valójában ez egy időzítő, amelyet rendszeresen vissza kell állítani. Ha a program lefagy, a számláló nullázása nem történik meg. Miután megtelt, a vezérlő hardveres visszaállítása megtörténik. Ez a funkció olyan alkalmazásoknál szükséges, ahol a stabilitás kritikus, és a készüléknek működnie kell, függetlenül attól, hogy mi történik.

A vezérlőprogramnak kapcsolódnia kell a Watchdog időzítőhöz, mivel a kiváltó egy szabadúszó helyzet, amelyet mind a program, mind a berendezés hibás működése okozhat. Mindenesetre gondoskodni kell a hiba naplózási rendszeréről, különben nagyon nehéz lesz kideríteni a hiba okait. És talán ez a bukás ismét megtörténik.

A Watchdog a következőképpen van konfigurálva:

Config Watchdog 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048

A hangolási tartomány 16-2048 milliszekundum. A számlálót folyamatosan vissza kell állítani a túlfolyás előtt:

Ez szükséges a hardver visszaállításának megakadályozása érdekében.

A Watchdog bármikor indítható vagy leállítható:

Az időzítő kényszergörbe használatának egyik példája az alábbi "watchdog" program:

Kapcsolódó cikkek