{"id":1680,"date":"2021-11-18T19:25:10","date_gmt":"2021-11-18T18:25:10","guid":{"rendered":"https:\/\/www.onetimenexttime.sk\/arduino\/?post_type=product&#038;p=1680"},"modified":"2024-02-21T18:50:25","modified_gmt":"2024-02-21T17:50:25","slug":"ds1232","status":"publish","type":"product","link":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/","title":{"rendered":"DS1232"},"content":{"rendered":"<h1 class=\"detialsTitle\" data-spm-anchor-id=\"2114.12057483.detail.i9.371e6a4dfVlU84\">DS1232<\/h1>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u010dip s n\u00e1zvom DS1232 MicroMonitor\u2122, ktor\u00fd je navrhnut\u00fd na monitorovanie a riadenie nieko\u013ek\u00fdch d\u00f4le\u017eit\u00fdch podmienok pre mikroprocesor. Tieto podmienky zah\u0155\u0148aj\u00fa nap\u00e1janie, vykon\u00e1vanie softv\u00e9ru a extern\u00e9 riadenie. \u010cip m\u00e1 nieko\u013eko funkci\u00ed, vr\u00e1tane monitorovania nap\u00e1jania, riadenia resetu pomocou tla\u010didla a funkcie str\u00e1\u017eneho psa. Popisuje tie\u017e pinout \u010dipu a jeho opera\u010dn\u00e9 vlastnosti, ako napr\u00edklad \u010dasovanie resetov a detekciu ch\u00fdb nap\u00e1jania. Taktie\u017e uv\u00e1dza odpor\u00fa\u010dan\u00e9 a maxim\u00e1lne hodnoty nap\u00e4tia a teploty, pri ktor\u00fdch m\u00f4\u017ee by\u0165 \u010dip bezpe\u010dne prev\u00e1dzkovan\u00fd.<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Supply Voltage (VCC)<\/td>\n<td>4.5V to 5.5V (recommended DC operating conditions)<\/td>\n<\/tr>\n<tr>\n<td>Input High Level (VIH)<\/td>\n<td>2.0V to VCC+0.3V (ST and PBRST input)<\/td>\n<\/tr>\n<tr>\n<td>Input Low Level (VIL)<\/td>\n<td>-0.3V to +0.8V (ST and PBRST input)<\/td>\n<\/tr>\n<tr>\n<td>Input Leakage (IIL)<\/td>\n<td>-1.0\u03bcA to +1.0\u03bcA<\/td>\n<\/tr>\n<tr>\n<td>Output Current (IOH)<\/td>\n<td>-8mA to -10mA (output current @ 2.4V)<\/td>\n<\/tr>\n<tr>\n<td>Output Current (IOL)<\/td>\n<td>+8mA to +10mA (output current @ 0.4V)<\/td>\n<\/tr>\n<tr>\n<td>Low Level Output (VOL)<\/td>\n<td>0.4V (output voltage @ -500\u03bcA)<\/td>\n<\/tr>\n<tr>\n<td>High Level Output (VOH)<\/td>\n<td>VCC-0.5V to VCC-0.1V (output voltage @ -500\u03bcA)<\/td>\n<\/tr>\n<tr>\n<td>Operating Current (ICC)<\/td>\n<td>0.5mA to 2.0mA<\/td>\n<\/tr>\n<tr>\n<td>Trip Point (TOL=GND)<\/td>\n<td>4.50V to 4.74V (VCC trip point)<\/td>\n<\/tr>\n<tr>\n<td>Trip Point (TOL=VCC)<\/td>\n<td>4.25V to 4.49V (VCC trip point)<\/td>\n<\/tr>\n<tr>\n<td>Input Capacitance (CIN)<\/td>\n<td>5pF<\/td>\n<\/tr>\n<tr>\n<td>Output Capacitance (COUT)<\/td>\n<td>7pF<\/td>\n<\/tr>\n<tr>\n<td>PBRST = VIL (tPB)<\/td>\n<td>20ms (pushbutton reset)<\/td>\n<\/tr>\n<tr>\n<td>RESET Active Time (tRST)<\/td>\n<td>250ms to 1000ms (reset active time)<\/td>\n<\/tr>\n<tr>\n<td>ST Pulse Width (tST)<\/td>\n<td>20ns (strobe input)<\/td>\n<\/tr>\n<tr>\n<td>VCC Fail Detect to RST and RST Transition (tRPD)<\/td>\n<td>100\u03bcs to 175\u03bcs<\/td>\n<\/tr>\n<tr>\n<td>VCC Slew Rate (4.75V to 4.25V)<\/td>\n<td>300\u03bcs<\/td>\n<\/tr>\n<tr>\n<td>VCC Detect to RST and RST Transition (tRPU)<\/td>\n<td>250ms to 1000ms<\/td>\n<\/tr>\n<tr>\n<td>PBRST Stable Low to RST and RST (tPDLY)<\/td>\n<td>20ms<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Tieto parametre poskytuj\u00fa inform\u00e1cie o elektrick\u00fdch vlastnostiach \u010dipu a \u010dasov\u00fdch charakteristik\u00e1ch jeho oper\u00e1cie. Ulo\u017ete t\u00fato tabu\u013eku na v\u00e1\u0161 web, aby ste mali preh\u013ead o vlastnostiach \u010dipu DS1232 MicroMonitor\u2122 k dispoz\u00edcii.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Parametre produktu:<\/strong><\/p>\n<p>Ve\u013ekos\u0165: 35 mm x 15 mm x 10 mm d\u013a\u017eka x \u0161\u00edrka x v\u00fd\u0161ka<br \/>\nHlavn\u00fd \u010dip: DS1232<br \/>\nDS1232 je funkcia str\u00e1\u017eneho psa, ktor\u00e1 m\u00e1 \u010dip na monitorovanie nap\u00e1jania, nap\u00e1janie, nap\u00e1janie, prechodov\u00e9 nap\u00e4tie a pokles, ke\u010f sa pri hav\u00e1rii vyd\u00e1 resetovac\u00ed impulz, je ve\u013emi vhodn\u00fd ako resetovac\u00ed obvod mikrokontrol\u00e9ra.<\/p>\n<p><img decoding=\"async\" class=\"n3VNCb\" src=\"https:\/\/ae01.alicdn.com\/kf\/UT8dZDpXt4XXXagOFbXy\/FREE-Shipping-DS1232-external-watchdog-module.jpg\" alt=\"FREE Shipping! ! ! DS1232 external watchdog module|module|module electronic - AliExpress\" data-noaft=\"1\" \/>,<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/datasheet.octopart.com\/DS1232%2B-Dallas-Semiconductor-datasheet-9676143.pdf\">https:\/\/datasheet.octopart.com\/DS1232%2B-Dallas-Semiconductor-datasheet-9676143.pdf<\/a><\/p>\n<div>\n<h5>V\u00ddHODY POU\u017dITIA MICROMONITOR A JEDNODUCH\u00c1 APLIK\u00c1CIA DEMON\u0160TRUJ\u00daCA POU\u017dITIE DS1232<\/h5>\n<\/div>\n<div>Abstrakt:\u00a0Diskutuje o tom, ako sa d\u00e1 DS1232 pou\u017ei\u0165 na MicroMonitor syst\u00e9m zalo\u017een\u00fd na 8051.\u00a0Tento kontroln\u00fd obvod poskytuje vstupn\u00e9 resetovanie pri zapnut\u00ed (POR), manu\u00e1lny reset (stla\u010denie tla\u010didla), \u010dasova\u010d str\u00e1\u017eenia (\u010dasova\u010d stroboskopu) a kompar\u00e1tor skor\u00e9ho zlyhania nap\u00e1jania.\u00a0Prahov\u00fa toleranciu resetovania mo\u017eno nastavi\u0165 tak, aby monitorovala syst\u00e9my tolerancie dod\u00e1vky 5 % aj 10 %.\u00a0Okrem toho je k dispoz\u00edcii oneskorenie \u010dasov\u00e9ho limitu resetovania volite\u013en\u00e9 pomocou kol\u00edkov.Na zjednodu\u0161enie pou\u017e\u00edvania zariadenia je zahrnut\u00fd program na spustenie softv\u00e9ru, ktor\u00fd ukazuje, ako mo\u017eno pou\u017ei\u0165 procesor 8051 v spojen\u00ed s DS1232.<\/div>\n<p>&nbsp;<\/p>\n<div id=\"secondRTE\"><\/div>\n<div class=\"mytext\">\n<h5>\u00davod<\/h5>\n<p>\u010cip DS1232 MicroMonitor od Maxima je vysoko integrovan\u00e9 rie\u0161enie, ktor\u00e9 prid\u00e1va do v\u00e1\u0161ho mikroprocesorov\u00e9ho syst\u00e9mu oneskorenie pri re\u0161tarte, tla\u010didlov\u00fd ovl\u00e1da\u010d resetovania, robustn\u00e9 monitorovanie v\u00fdpadku nap\u00e1jania a funkciu \u010dasova\u010da str\u00e1\u017eenia v\u00e1\u0161ho mikroprocesorov\u00e9ho syst\u00e9mu.\u00a0\u010cip tie\u017e pon\u00faka akt\u00edvne aj n\u00edzke resetovacie sign\u00e1ly a selektivitu \u010dasov\u00e9ho limitu watchdog a \u00farovne monitorovania nap\u00e4tia.\u00a0Vysok\u00e1 \u00farove\u0148 integr\u00e1cie zni\u017euje n\u00e1klady na implement\u00e1ciu a potrebn\u00fd priestor na tabuli.\u00a0\u010cipy s\u00fa dostupn\u00e9 v nieko\u013ek\u00fdch baleniach vr\u00e1tane 8-pinov\u00e9ho mSOP, SOIC a DIP.<\/p>\n<h4>V\u00fdhody pou\u017eitia mikromonitoru Dallas Semiconductor DS1232<\/h4>\n<h4>Oneskorenie re\u0161tartu pri zapnut\u00ed umo\u017e\u0148uje stabilizova\u0165 zdroje dosky pred spusten\u00edm vykon\u00e1vania<\/h4>\n<p>Presn\u00e9 ovl\u00e1danie resetovacieho kol\u00edka mikrokontrol\u00e9ra je d\u00f4le\u017eit\u00e9 v\u017edy po\u010das prev\u00e1dzky obvodu.\u00a0Preto je nevyhnutn\u00e9, aby bol resetovac\u00ed kol\u00edk ovl\u00e1dan\u00fd ako po\u010das norm\u00e1lnej prev\u00e1dzky, tak aj po\u010das doby zapnutia obvodu.\u00a0Jedn\u00fdm z be\u017en\u00fdch probl\u00e9mov s mnoh\u00fdmi mikroprocesorov\u00fdmi obvodmi je to, \u017ee mikrokontrol\u00e9r za\u010dne vykon\u00e1va\u0165 svoju \u010dinnos\u0165 sk\u00f4r, ako m\u00e1 pam\u00e4\u0165 a I\/O zdroje, ktor\u00e9 m\u00e1 k dispoz\u00edcii, stabiln\u00e9 nap\u00e1janie.\u00a0Niektor\u00e9 \u010dipy vy\u017eaduj\u00fa stovky milisek\u00fand, aby sa sam\u00e9 resetovali a boli pripraven\u00e9 na prev\u00e1dzku.\u00a0Ak mikroprocesor za\u010dne vykon\u00e1va\u0165 \u010dinnos\u0165 v priebehu mikrosek\u00fand od resetovania, m\u00f4\u017ee sa spusti\u0165 na z\u00e1klade neplatn\u00e9ho vstupu zo syst\u00e9mov\u00fdch zdrojov.\u00a0D\u00e1 sa to vyrie\u0161i\u0165 pridan\u00edm obvodu POR (power-on reset), ktor\u00fd udr\u017e\u00ed mikroprocesor v resete po\u010das sekvencie zap\u00ednania po dobu 100 s po resetovan\u00ed.<\/p>\n<h4>Tla\u010didlo Reset Circuit vypne chv\u00ed\u013ekov\u00fd sp\u00edna\u010d a poskytuje trval\u00fd resetovac\u00ed impulz<\/h4>\n<p>\u010eal\u0161\u00edm be\u017en\u00fdm probl\u00e9mom v mikroprocesorov\u00fdch obvodoch je, \u017ee menej ako dokonal\u00fd resetovac\u00ed sign\u00e1l sp\u00f4sob\u00ed, \u017ee sa mikroprocesor nieko\u013ekokr\u00e1t resetuje, pr\u00edpadne nieko\u013ekokr\u00e1t vykon\u00e1 nejak\u00fd fragment inicializa\u010dnej rutiny, k\u00fdm sa reset kone\u010dne stabilizuje.\u00a0V niektor\u00fdch okruhoch je to trivi\u00e1lne.\u00a0V in\u00fdch okruhoch by to v\u0161ak mohlo sp\u00f4sobi\u0165 ve\u013ek\u00e9 syst\u00e9mov\u00e9 probl\u00e9my.\u00a0DS1232 m\u00e1 vn\u00fatorn\u00e9 obvody, ktor\u00e9 odr\u00e1\u017eaj\u00fa tla\u010didlo a poskytuj\u00fa syst\u00e9mu \u010dist\u00fd resetovac\u00ed sign\u00e1l.\u00a0To eliminuje potrebu ma\u0165 samostatn\u00fd obvod resetovania pri zapnut\u00ed a obvody tla\u010didiel pripojen\u00e9 samostatne k resetovaciemu kol\u00edku.\u00a0Navy\u0161e, DS1232 udr\u017e\u00ed resetovac\u00ed kol\u00edk na n\u00edzkej \u00farovni najmenej 250 ms, aby sa zaru\u010dilo, \u017ee ru\u010dn\u00fd reset mikroprocesor prijme v\u017edy spr\u00e1vne.<\/p>\n<h4>DS1232 poskytuje monitorovanie zlyhania nap\u00e1jania<\/h4>\n<p>V\u00fdpadky a v\u00fdpadky nap\u00e1jania s\u00fa realitou pre v\u00e4\u010d\u0161inu mikroprocesorov\u00fdch syst\u00e9mov.\u00a0Ke\u010f\u017ee neexistuje sp\u00f4sob, ako sa vyhn\u00fa\u0165 ob\u010dasn\u00fdm cyklom nap\u00e1jania, robustn\u00e9 mikroprocesorov\u00e9 rie\u0161enie mus\u00ed po\u010d\u00edta\u0165 s r\u00f4znymi re\u017eimami v\u00fdpadku nap\u00e1jania.\u00a0DS1232 monitoruje nap\u00e1janie mikroprocesora a prin\u00fati mikroprocesor do stavu resetovania, ak d\u00f4jde k v\u00fdpadku pr\u00fadu alebo ak d\u00f4jde k \u00fapln\u00e9mu v\u00fdpadku nap\u00e1jania.\u00a0To zaru\u010duje, \u017ee sa syst\u00e9m nebude pok\u00fa\u0161a\u0165 fungova\u0165 pri nepravideln\u00fdch podmienkach nap\u00e1jacieho nap\u00e4tia a m\u00f4\u017ee zabr\u00e1ni\u0165 mikroprocesoru vykona\u0165 k\u00f3d, ke\u010f by mal skuto\u010dne \u010daka\u0165 na n\u00e1vrat nap\u00e1jacieho nap\u00e4tia do platn\u00e9ho stavu.<\/p>\n<h4>Intern\u00fd \u010dasova\u010d Watchdog M\u00d4\u017dE resetova\u0165 mikroprocesor, ale extern\u00fd Watchdog ho resetuje<\/h4>\n<p>Watchdog \u010dasova\u010de sa pou\u017e\u00edvaj\u00fa na zabezpe\u010denie toho, \u017ee ak sa k\u00f3d pracuj\u00faci na mikroprocesore dostane do neo\u010dak\u00e1van\u00e9ho stavu, procesor sa po uplynut\u00ed ur\u010dit\u00e9ho minim\u00e1lneho \u010dasu resetuje.\u00a0Mnoh\u00e9 mikroprocesory maj\u00fa intern\u00fd str\u00e1\u017eny \u010dasova\u010d, ktor\u00fd t\u00fato funkciu zvl\u00e1da bez extern\u00e9ho komponentu.\u00a0Intern\u00fd str\u00e1\u017eny \u010dasova\u010d v\u0161ak m\u00f4\u017ee by\u0165 deaktivovan\u00fd pseudon\u00e1hodn\u00fdm k\u00f3dom, ktor\u00fd sa vykon\u00e1va na mikroprocesore.\u00a0Extern\u00fd str\u00e1\u017eny \u010dasova\u010d na DS1232 nemo\u017eno deaktivova\u0165.\u00a0To v\u00e1m d\u00e1va pokoj s vedom\u00edm, \u017ee ak MicroMonitor neblik\u00e1, mikrokontrol\u00e9r sa resetuje.\u00a0\u010eal\u0161ou pr\u00edjemnou vlastnos\u0165ou DS1232 je, \u017ee peri\u00f3du stroboskopu mo\u017eno meni\u0165 na jednu z troch r\u00f4znych hodn\u00f4t.\u00a0Zariadenie teda funguje dobre s r\u00fdchlej\u0161\u00edmi a pomal\u0161\u00edmi mikroprocesormi, preto\u017ee \u010dasova\u010d watchdog m\u00f4\u017eete naprogramova\u0165 na vhodn\u00fa r\u00fdchlos\u0165 pre ak\u00fdko\u013evek mikrokontrol\u00e9r.\u00a0\u010eal\u0161ou v\u00fdhodou extern\u00e9ho str\u00e1\u017eneho \u010dasova\u010da je, \u017ee stroboskopick\u00fd sign\u00e1l je vidite\u013en\u00fd pre vonkaj\u0161\u00ed svet, preto\u017ee je na I\/O pine.\u00a0To umo\u017e\u0148uje jednoduch\u0161ie ladenie probl\u00e9mov s\u00favisiacich s watchdogom.<\/p>\n<h4>Hardv\u00e9r potrebn\u00fd na pou\u017eitie DS1232 s mikrokontrol\u00e9rom<\/h4>\n<p>Najv\u00e4\u010d\u0161ou v\u00fdhodou DS1232 je, \u017ee v\u0161etky vy\u0161\u0161ie uveden\u00e9 funkcie s\u00fa implementovan\u00e9 v jednom bal\u00edku.\u00a0T\u00e1to funkcia nevy\u017eaduje zlo\u017eit\u00fd \u010dipset.\u00a0Sch\u00e9ma ni\u017e\u0161ie ukazuje, ako sa DS1232 pou\u017e\u00edva s mikrokontrol\u00e9rom Dallas Semiconductor DS87C520.\u00a0Preto\u017ee v\u00e4\u010d\u0161ina syst\u00e9mov obsahuje tla\u010didlov\u00fd reset, jedin\u00e9 pridan\u00e9 veci s\u00fa DS1232, pull-up rezistor pre akt\u00edvny n\u00edzky v\u00fdstup a odde\u013eovac\u00ed kondenz\u00e1tor na zn\u00ed\u017eenie mo\u017enosti \u0161umu na nap\u00e1jacom zdroji sp\u00f4sobuj\u00faceho reset.\u00a0Pull-up rezistor je tu pridan\u00fd, preto\u017ee sa pou\u017e\u00edva na generovanie grafov osciloskopu zobrazen\u00fdch na nasleduj\u00facich stran\u00e1ch.\u00a0Akt\u00edvny-n\u00edzky v\u00fdstup RST DS1232 nie je potrebn\u00fd pre DS87C520.\u00a0LED di\u00f3dy na diagrame sa pou\u017e\u00edvaj\u00fa na signaliz\u00e1ciu, kedy sa vykon\u00e1va servis ISR (Interrupt Service Request).<\/p>\n<\/div>\n<p><img decoding=\"async\" src=\"https:\/\/www.maximintegrated.com\/content\/dam\/images\/design\/tech-docs\/581\/581Fig01.gif\" alt=\"Obr\u00e1zok 1. Obvod kompatibiln\u00fd s 8051 pou\u017e\u00edvaj\u00faci DS1232 ako ovl\u00e1da\u010d resetovania.\" \/><\/p>\n<h2>Pou\u017eitie DS1232 s mikrokontrol\u00e9rom<\/h2>\n<p>Po nakonfigurovan\u00ed hardv\u00e9ru za\u010dne DS1232 ovl\u00e1da\u0165 resetovacie sign\u00e1ly pre zapnutie, reset tla\u010didla, reset pri v\u00fdpadku nap\u00e1jania a reset \u010dasova\u010da str\u00e1\u017eneho psa.\u00a0Akt\u00edvne vysok\u00e9 (RST) a akt\u00edvne n\u00edzke (akt\u00edvne-n\u00edzke RST) resety pri zapnut\u00ed (POR) s\u00fa zobrazen\u00e9 na obr\u00e1zkoch 2 a 3, v tomto porad\u00ed.\u00a0Akt\u00edvny sign\u00e1l vysok\u00e9ho resetovania st\u00fapa s V\u00a0<sub>CC<\/sub>\u00a0a zost\u00e1va vysok\u00fd medzi 250 ms a 1 sekundou.\u00a0Akt\u00edvny n\u00edzky reset zost\u00e1va 0 V, k\u00fdm neuplynie oneskorenie a potom je \u0165ahan\u00fd odporom vytiahnut\u00fd vysoko.\u00a0Pull-up rezistor je potrebn\u00fd, preto\u017ee akt\u00edvny-n\u00edzky RST je v\u00fdstup s otvoren\u00fdm kolektorom.\u00a0V ni\u017e\u0161ie uveden\u00fdch pr\u00edkladoch RST aj akt\u00edvny-n\u00edzky RST vy\u017eaduj\u00fa pribli\u017ene 450 ms, aby sa stali neakt\u00edvnymi.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.maximintegrated.com\/content\/dam\/images\/design\/tech-docs\/581\/581Fig02.gif\" alt=\"Obr\u00e1zok 2. Typick\u00fd sign\u00e1l RST po\u010das sekvencie zap\u00ednania: 1) VCC 2) RST.\" \/><img decoding=\"async\" src=\"https:\/\/www.maximintegrated.com\/content\/dam\/images\/design\/tech-docs\/581\/581Fig03.gif\" alt=\"Obr\u00e1zok 3. Typick\u00fd akt\u00edvny-n\u00edzky RST sign\u00e1l po\u010das sekvencie zap\u00ednania: 1) VCC 2) akt\u00edvny-n\u00edzky RST.\" \/><\/p>\n<p><i>Obr\u00e1zok 3. Typick\u00fd akt\u00edvny-n\u00edzky RST sign\u00e1l po\u010das sekvencie zap\u00ednania: 1) V\u00a0<sub>CC<\/sub>\u00a02) akt\u00edvny-n\u00edzky RST.<\/i><\/p>\n<p>Potom, \u010do sa resetovac\u00ed sign\u00e1l stane neakt\u00edvnym, mikrokontrol\u00e9r mus\u00ed pred uplynut\u00edm \u010dasova\u010da str\u00e1\u017eenia aktivova\u0165 n\u00edzky sign\u00e1l ST.\u00a0\u010casova\u010d watchdog DS1232 sa ned\u00e1 deaktivova\u0165, tak\u017ee k tomu mus\u00ed d\u00f4js\u0165 v r\u00e1mci\u00a0<i>n<\/i>ms resetovac\u00edch sign\u00e1lov sa stane neakt\u00edvnym, alebo sa mikroprocesor resetuje.\u00a0Hodnoty \u010dasov\u00e9ho limitu str\u00e1\u017eneho psa pre DS1232 s\u00fa programovate\u013en\u00e9 a \u0161pecifikovan\u00e9 s trochu \u0161irok\u00fdmi rozsahmi.\u00a0Najlep\u0161ie je v\u0161ak aktivova\u0165 kol\u00edk ST r\u00fdchlej\u0161ie, ako je \u0161pecifik\u00e1cia minim\u00e1lneho \u010dasov\u00e9ho limitu str\u00e1\u017eenia, preto\u017ee to eliminuje mo\u017enos\u0165, \u017ee r\u00fdchly str\u00e1\u017eny pes sp\u00f4sob\u00ed chybn\u00e9 resetovanie syst\u00e9mu.\u00a0\u010casov\u00fd limit watchdog je mo\u017en\u00e9 nastavi\u0165 na jednu z troch hodn\u00f4t \u00fapravou hodnoty kol\u00edka TD pod\u013ea tabu\u013eky 1.<\/p>\n<p><b>Tabu\u013eka 1. Hodnoty \u010dasov\u00e9ho limitu pre ka\u017ed\u00fd stav kol\u00edka TD<\/b><\/p>\n<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\">\n<tbody>\n<tr class=\"tablehead\">\n<td class=\"tablehead\">Stav PIN TD<\/td>\n<td class=\"tablehead\">Minim\u00e1lny \u010dasov\u00fd limit<\/td>\n<td class=\"tablehead\">Typick\u00fd \u010dasov\u00fd limit<\/td>\n<td class=\"tablehead\">Maxim\u00e1lny \u010dasov\u00fd limit<\/td>\n<\/tr>\n<tr class=\"tablebody\">\n<td>Ground<\/td>\n<td>62,5 ms<\/td>\n<td>150 ms<\/td>\n<td>250 ms<\/td>\n<\/tr>\n<tr class=\"tablebodyalt\">\n<td>Pl\u00e1vaj\u00face<\/td>\n<td>250 ms<\/td>\n<td>600 ms<\/td>\n<td>1000 ms<\/td>\n<\/tr>\n<tr class=\"tablebody\">\n<td>V\u00a0<sub>CC<\/sub><\/td>\n<td>500 ms<\/td>\n<td>1200 ms<\/td>\n<td>2000 ms<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Obr\u00e1zok 1 zobrazuje kol\u00edk TD uzemnen\u00fd, a preto mus\u00ed ST vidie\u0165 z\u00e1porn\u00fa hranu ka\u017ed\u00fdch 62,5 ms, aby sa zaru\u010dilo, \u017ee mikroprocesor nebude resetovan\u00fd.\u00a0Ak bude blika\u0165 typickou r\u00fdchlos\u0165ou 150 ms, existuje \u0161anca, \u017ee bude fungova\u0165 s jedn\u00fdm MicroMonitorom, ale nie s in\u00fdm.\u00a0Zahrnutie minim\u00e1lnych, typick\u00fdch a maxim\u00e1lnych hodn\u00f4t informuje koncov\u00e9ho u\u017e\u00edvate\u013ea o spr\u00e1van\u00ed sa str\u00e1\u017eneho psa.\u00a0Naprogramujte TD tak, aby mikroprocesor mohol aktivova\u0165 kol\u00edk ST predt\u00fdm, ako dosiahne minim\u00e1lny \u010dasov\u00fd limit, a pl\u00e1nujte, \u017ee resetovanie mikrokontrol\u00e9ra bude trva\u0165 tak dlho, ako je maxim\u00e1lny \u010dasov\u00fd limit.\u00a0Typick\u00e1 hodnota neplat\u00ed pre \u017eiadny \u0161pecifick\u00fd MicroMonitor;\u00a0jednoducho ukazuje, \u017ee kritick\u00fd \u010das je medzi minim\u00e1lnou a maxim\u00e1lnou hodnotou \u010dasov\u00e9ho limitu.\u00a0Typick\u00e1 hodnota pre ak\u00fdko\u013evek dan\u00fd MicroMonitor sa teda m\u00f4\u017ee pohybova\u0165 kdeko\u013evek medzi minim\u00e1lnymi a maxim\u00e1lnymi hodnotami \u010dasov\u00e9ho limitu.<\/p>\n<p><b>Obr\u00e1zok 4<\/b>\u00a0(ni\u017e\u0161ie) zobrazuje stroboskopick\u00fd sign\u00e1l, ktor\u00fd bol pou\u017eit\u00fd pre rovnak\u00e9 nastavenie hardv\u00e9ru.\u00a0Stopa # 1 ukazuje V\u00a0<sub>CC<\/sub>\u00a0a # 2 ukazuje ST.\u00a0Ke\u010f\u017ee rovnak\u00fd hardv\u00e9r bol pou\u017eit\u00fd s resetovac\u00edmi sign\u00e1lmi zn\u00e1zornen\u00fdmi na obr\u00e1zkoch 2 a 3, reset bol zru\u0161en\u00fd pri ~460 ms.\u00a0Prv\u00e1 z\u00e1porn\u00e1 hrana z\u00e1bleskov\u00e9ho sign\u00e1lu nastane po 496 ms alebo 36 ms po tom, \u010do sa reset stane neakt\u00edvnym.\u00a0Toto je dostato\u010dne skoro na to, aby sa zaru\u010dilo, \u017ee watchdog neresetuje syst\u00e9m, pokia\u013e mikrokontrol\u00e9r neprejde do neo\u010dak\u00e1van\u00e9ho stavu.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.maximintegrated.com\/content\/dam\/images\/design\/tech-docs\/581\/581Fig04.gif\" alt=\"Obr\u00e1zok 4. Z\u00e1bleskov\u00fd sign\u00e1l Watchdog (ST) na za\u010diatku vykon\u00e1vania: 1)VCC 2) ST.\" \/><br \/>\n<i>Obr\u00e1zok 4. Z\u00e1bleskov\u00fd sign\u00e1l Watchdog (ST) na za\u010diatku vykon\u00e1vania: 1)V\u00a0<sub>CC<\/sub>\u00a02) ST.<\/i><\/p>\n<p>Ako m\u00f4\u017eete vidie\u0165 na\u00a0<b>obr\u00e1zku 5<\/b>(ni\u017e\u0161ie), sign\u00e1l ST prij\u00edma z\u00e1porn\u00fa hranu pribli\u017ene ka\u017ed\u00fdch 20 ms.\u00a0S r\u00fdchlej\u0161\u00edm mikroprocesorom nie je d\u00f4vod neblika\u0165 \u010dastej\u0161ie, ako je potrebn\u00e9.\u00a0Na tomto grafe je tie\u017e \u013eahk\u00e9 vidie\u0165, \u017ee z\u00e1blesky sa za\u010dn\u00fa objavova\u0165 po 496 ms po priveden\u00ed nap\u00e4tia.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.maximintegrated.com\/content\/dam\/images\/design\/tech-docs\/581\/581Fig05.gif\" alt=\"Obr\u00e1zok 5. Zoom zobrazuj\u00faci frekvenciu sign\u00e1lu ST: 1)VCC 2) ST.\" \/><br \/>\n<i>Obr\u00e1zok 5. Zoom zobrazuj\u00faci frekvenciu sign\u00e1lu ST: 1)V\u00a0<sub>CC<\/sub>\u00a02) ST.<\/i><\/p>\n<p>DS1232 tie\u017e vypne chv\u00ed\u013ekov\u00e9 prepnutie bez dodato\u010dn\u00e9ho hardv\u00e9ru, \u010do u\u013eah\u010duje pridanie resetovania tla\u010didla na prekonanie syst\u00e9mu.\u00a0Tla\u010didlo je zn\u00e1zornen\u00e9 na obr\u00e1zku 1 a sign\u00e1ly RST a akt\u00edvne a n\u00edzke RST, ktor\u00e9 sp\u00f4sobuje, s\u00fa zn\u00e1zornen\u00e9 na\u00a0<b>obr\u00e1zkoch 6<\/b>\u00a0a\u00a0<b>7<\/b>.\u00a0V\u0161imnite si, \u017ee tla\u010didlo po pripojen\u00ed k DS1232 neposkakuje a \u017ee reset je podr\u017ean\u00fd pribli\u017ene rovnak\u00fa dobu ako reset po\u010das zap\u00ednania (typicky 610 ms).\u00a0Tie\u017e si v\u0161imnite, \u017ee pre tla\u010didlo nie je potrebn\u00fd pull-up rezistor, preto\u017ee intern\u00fd pull-up rezistor je k dispoz\u00edcii v r\u00e1mci DS1232.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.maximintegrated.com\/content\/dam\/images\/design\/tech-docs\/581\/581Fig06.gif\" alt=\"Obr\u00e1zok 6. Tla\u010didlo sp\u00f4sobuj\u00face reset bez sk\u00e1kania: 1) akt\u00edvny-n\u00edzky PBRST 2) RST. \" \/><br \/>\n<i>Obr\u00e1zok 6. Tla\u010didlo sp\u00f4sobuj\u00face reset bez sk\u00e1kania: 1) akt\u00edvny-n\u00edzky PBRST 2) RST.<\/i><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.maximintegrated.com\/content\/dam\/images\/design\/tech-docs\/581\/581Fig07.gif\" alt=\"Obr\u00e1zok 7. Tla\u010didlo sp\u00f4sobuj\u00face reset bez poskakovania: 1) akt\u00edvny-n\u00edzky PBRST 2) akt\u00edvny-n\u00edzky RST.\" \/><br \/>\n<i>Obr\u00e1zok 7. Tla\u010didlo sp\u00f4sobuj\u00face reset bez poskakovania: 1) akt\u00edvny-n\u00edzky PBRST 2) akt\u00edvny-n\u00edzky RST.<\/i><\/p>\n<p>DS1232 obsahuje aj monitor v\u00fdpadku nap\u00e1jania.\u00a0DS1232 neust\u00e1le monitoruje V\u00a0<sub>CC<\/sub>\u00a0a resetuje mikrokontrol\u00e9r, ak nap\u00e4tie klesne pod V\u00a0<sub>CCTP<\/sub>\u00a0(\u00a0vyp\u00ednac\u00ed bod\u00a0V\u00a0<sub>CC<\/sub>\u00a0).\u00a0V\u00a0<sub>CCTP<\/sub>mo\u017eno naprogramova\u0165 na 5 % alebo 10 % pod V\u00a0<sub>CC<\/sub>\u00a0a MicroMonitor udr\u017e\u00ed sign\u00e1ly resetovania akt\u00edvne 250 ms a\u017e 1 sekundu po tom, ako sa V\u00a0<sub>CC<\/sub>\u00a0obnov\u00ed a vr\u00e1ti sa nad V\u00a0<sub>CCTP<\/sub>\u00a0.\u00a0V\u00a0<sub>CCTP<\/sub>\u00a0sa programuje pomocou kol\u00edka TOL.\u00a0Ak je kol\u00edk TOL uzemnen\u00fd, zvol\u00ed sa tolerancia 5 %;\u00a0ak je viazan\u00fd na V\u00a0<sub>CC<\/sub>\u00a0, potom sa zvol\u00ed tolerancia 10 %.\u00a0To umo\u017e\u0148uje dizajn\u00e9rom vybra\u0165 toleranciu, ktor\u00e1 najlep\u0161ie vyhovuje ich syst\u00e9mom, \u010do umo\u017e\u0148uje maxim\u00e1lnu flexibilitu dizajnu.\u00a05% tolerancia vyn\u00fati reset niekde medzi 4,50V a 4,74V a 10% tolerancia vyn\u00fati aktiv\u00e1ciu resetovac\u00edch kol\u00edkov medzi 4,25V a 4,49V.<\/p>\n<p>Pre referen\u010dn\u00fd dizajn zn\u00e1zornen\u00fd na obr\u00e1zku 1 bola zvolen\u00e1 tolerancia 5 %.\u00a0Pri poh\u013eade na graf osciloskopu v<b>obr\u00e1zok 8<\/b>\u00a0,\u00a0mo\u017eno ur\u010di\u0165\u00a0V\u00a0<sub>CCTP<\/sub>\u00a0pre tento \u0161pecifick\u00fd MicroMonitor.\u00a0X2 na pozemku je zarovnan\u00fd s okrajom RST a kr\u00ed\u017eov\u00fd bod Y2 je pri 4,6V.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.maximintegrated.com\/content\/dam\/images\/design\/tech-docs\/581\/581Fig08.gif\" alt=\"Obr\u00e1zok 8. Spr\u00e1vanie kol\u00edka RST, ke\u010f VCC klesne pod VCCTP: 1) VCC 2) RST.\" \/><br \/>\n<i>Obr\u00e1zok 8. Spr\u00e1vanie kol\u00edka RST, ke\u010f V\u00a0<sub>CC<\/sub>\u00a0klesne pod V\u00a0<sub>CCTP<\/sub>\u00a0: 1) V\u00a0<sub>CC<\/sub>\u00a02) RST.<\/i><\/p>\n<p>R\u00fdchlos\u0165 zo\u0161ikmenia V\u00a0<sub>CC<\/sub>\u00a0pri p\u00e1de je ~500 mv\/10 ms alebo ~50 V\/s.\u00a0\u0160pecifik\u00e1cia \u00fadajov\u00e9ho listu DS1232 vy\u017eaduje, aby \u010das p\u00e1du medzi 4,75 V a\u017e 4,25 V bol v\u00e4\u010d\u0161\u00ed alebo rovn\u00fd 300 ms, \u010do d\u00e1va maxim\u00e1lnu r\u00fdchlos\u0165 1,667 kV\/s.\u00a0Ako vid\u00edte, tento syst\u00e9m nap\u00e1jania to \u013eahko sp\u013a\u0148a.<\/p>\n<p>\u010eal\u0161\u00ed graf osciloskopu ukazuje postupnos\u0165 zap\u00ednania, ke\u010f V\u00a0<sub>CC<\/sub>\u00a0op\u00fa\u0161\u0165a stav &#8220;hnednutia&#8221;.\u00a0V\u00a0<sub>CC<\/sub>bol statick\u00fd pri 4,3 V a vr\u00e1ti sa na 5,0 V.\u00a0DS1232 podr\u017e\u00ed reset akt\u00edvny po\u010das akt\u00edvneho \u010dasu resetovania 250 ms a\u017e 1 sekundy po tom, \u010do d\u00f4jde k prechodu na V\u00a0<sub>CC<\/sub>\u00a0.\u00a0V ni\u017e\u0161ie uvedenom pr\u00edpade udr\u017eal MicroMonitor reset akt\u00edvny pribli\u017ene 460 ms.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.maximintegrated.com\/content\/dam\/images\/design\/tech-docs\/581\/581Fig09.gif\" alt=\"Obr\u00e1zok 9. Nap\u00e4tie sa obnov\u00ed z 4,3 V \u201eBrownout\u201c: 1) VCC 2) RST.\" \/><br \/>\n<i>Obr\u00e1zok 9. Nap\u00e4tie sa obnov\u00ed z 4,3 V &#8220;Brownout&#8221;: 1) V\u00a0<sub>CC<\/sub>\u00a02) RST.<\/i><\/p>\n<h2>Softv\u00e9r mikrokontrol\u00e9ra 8051 na pou\u017e\u00edvanie mikromonitorov\u00e9ho \u010dipu DS1232<\/h2>\n<p>Softv\u00e9r navrhnut\u00fd na pr\u00e1cu s hardv\u00e9rom na obr\u00e1zku 1 je uveden\u00fd v pr\u00edlohe A. Softv\u00e9r funguje s mikromonitorom DS1232 a mikrokontrol\u00e9rom kompatibiln\u00fdm s Dallas Semiconductor DS87C520 8051.\u00a0Poskytuje robustn\u00fd syst\u00e9m monitorovania nap\u00e1jania a k\u00f3du s redundantn\u00fdm monitorovan\u00edm nap\u00e1jania a k\u00f3du.\u00a0Softv\u00e9r dok\u00e1\u017ee rozl\u00ed\u0161i\u0165 medzi t\u00fdm, kedy MicroMonitor resetuje ovl\u00e1da\u010d a kedy intern\u00fd POR mikrokontrol\u00e9ra alebo \u010dasova\u010d watchdog sp\u00f4sob\u00ed reset.<\/p>\n<p>Tento k\u00f3d je 100% riaden\u00fd udalos\u0165ou, a preto je hlavn\u00fd program jednoducho nekone\u010dnou slu\u010dkou.\u00a0Softv\u00e9r vyu\u017e\u00edva sch\u00e9mu priority preru\u0161enia Maxima a umo\u017e\u0148uje hardv\u00e9ru preru\u0161enia najprv obsl\u00fa\u017ei\u0165 intern\u00e9 preru\u0161enie v\u00fdpadku nap\u00e1jania (nezamaskovate\u013en\u00e9), potom intern\u00e9 preru\u0161enie watchdog a nakoniec preru\u0161enie \u010dasova\u010da 0, ktor\u00e9 sa pou\u017e\u00edva na zapnutie extern\u00e9ho watchdogu. DS1232.\u00a0Redundancia poskytovan\u00e1 pou\u017eit\u00edm intern\u00e9ho aj extern\u00e9ho nap\u00e1jania a monitorovania k\u00f3du zais\u0165uje, \u017ee tieto kritick\u00e9 funkcie sa vykon\u00e1vaj\u00fa bezchybne.<\/p>\n<p>Rutiny preru\u0161enia interaguj\u00fa tak, ako je zn\u00e1zornen\u00e9 na\u00a0<b>obr\u00e1zku 10<\/b>\u00a0ni\u017e\u0161ie.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.maximintegrated.com\/content\/dam\/images\/design\/tech-docs\/581\/581Fig10.gif\" alt=\"Obr\u00e1zok 10. Interakcia s preru\u0161en\u00edm \/ v\u00fdvojov\u00fd diagram programu.\" \/><br \/>\n<i>Obr\u00e1zok 10. Interakcia s preru\u0161en\u00edm \/ v\u00fdvojov\u00fd diagram programu.<\/i><\/p>\n<p>\u010casova\u010d 0 je preru\u0161enie s najni\u017e\u0161ou prioritou.\u00a0M\u00f4\u017ee by\u0165 teda preru\u0161en\u00fd bu\u010f Watchdog Interrupt (vysok\u00e1 priorita) alebo Power-Fail Interrupt (najvy\u0161\u0161ia priorita).\u00a0Ak \u010dasova\u010d 0 nie je preru\u0161en\u00fd, prepne stroboskop (ST) na DS1232 ka\u017ed\u00fdch 10 ms a prepne LED srdcov\u00e9ho tepu ka\u017ed\u00fdch 50 prepnut\u00ed cez ISR (500 ms).\u00a0Na konci svojho vykon\u00e1vania vr\u00e1ti riadenie hlavn\u00e9mu programu.<\/p>\n<p>Ak je \u010dasova\u010d ISR (Interrupt Service Rutine) preru\u0161en\u00fd watchdogom a\/alebo preru\u0161en\u00edm v\u00fdpadku nap\u00e1jania, potom sa riadenie okam\u017eite prenesie na \u010dakaj\u00face preru\u0161enie s najvy\u0161\u0161ou prioritou.\u00a0Ak uplynie \u010dasova\u010d watchdog, potom sa funkcie watchdog (uveden\u00e9 na diagrame) vykonaj\u00fa a\u017e do konca a potom sa riadenie prenesie bu\u010f na preru\u0161enie v\u00fdpadku nap\u00e1jania, alebo sp\u00e4\u0165 na preru\u0161enie \u010dasova\u010da 0, v z\u00e1vislosti od toho, \u010di do\u0161lo k v\u00fdpadku nap\u00e1jania. prijat\u00e9 po\u010das vykon\u00e1vania funkci\u00ed str\u00e1\u017eneho psa.\u00a0Ak nebolo prijat\u00e9 \u017eiadne preru\u0161enie v\u00fdpadkom nap\u00e1jania, potom sa preru\u0161enie \u010dasova\u010da 0 pok\u00fasi ukon\u010di\u0165.\u00a0Ak \u010dasova\u010d 0 ISR nebude \u010falej ob\u0165a\u017eovan\u00fd v\u00fdpadkom nap\u00e1jania, dokon\u010d\u00ed sa a vr\u00e1ti sa do hlavn\u00e9ho programu.\u00a0Ak je \u010dasova\u010d 0 preru\u0161en\u00fd preru\u0161en\u00edm v\u00fdpadku nap\u00e1jania, umo\u017en\u00ed to najsk\u00f4r preru\u0161enie v\u00fdpadku nap\u00e1jania.<\/p>\n<p>Ak d\u00f4jde k preru\u0161eniu v\u00fdpadku nap\u00e1jania, riadenie sa prenesie na\u0148 a ISR sa vykon\u00e1va a\u017e do \u00farovne nap\u00e4tia V\u00a0<sub>CC<\/sub>sa vr\u00e1ti nad \u00farove\u0148 varovania pred skor\u00fdm v\u00fdpadkom nap\u00e4tia DS87C520s.\u00a0Ke\u010f\u017ee toto ISR m\u00e1 najvy\u0161\u0161iu prioritu, nem\u00f4\u017ee by\u0165 preru\u0161en\u00e9 preru\u0161en\u00edm watchdog alebo preru\u0161en\u00edm \u010dasova\u010da 0.\u00a0To znamen\u00e1, \u017ee ISR pri v\u00fdpadku nap\u00e1jania mus\u00ed aktivova\u0165 intern\u00e9 aj extern\u00e9 str\u00e1\u017ene jednotky, inak str\u00e1\u017ene jednotky resetuj\u00fa s\u00fa\u010diastku, ke\u010f nap\u00e4tie klesne.\u00a0V skuto\u010dnosti sa to s najv\u00e4\u010d\u0161ou pravdepodobnos\u0165ou nestane, preto\u017ee DS1232 je nastaven\u00e1 na pr\u00edsnej\u0161iu toleranciu ako intern\u00fd monitor nap\u00e4tia na mikrokontrol\u00e9ri, a preto by DS1232 resetoval mikrokontrol\u00e9r sk\u00f4r, ako by sa dosiahla \u00farove\u0148 varovania pred skor\u00fdm v\u00fdpadkom nap\u00e4tia mikrokontrol\u00e9ra.\u00a0Inak povedan\u00e9, intern\u00e9 monitorovanie nap\u00e4tia DS87C520 sa pravdepodobne nikdy nepou\u017eije a je v tomto syst\u00e9me nadbyto\u010dnou funkciou.\u00a0K preru\u0161eniu d\u00f4jde iba v pr\u00edpade, \u017ee DS1232 zlyh\u00e1.<\/p>\n<p>Ke\u010f sa preru\u0161enie pri v\u00fdpadku nap\u00e1jania dokon\u010d\u00ed, vykon\u00e1 sa servis \u010fal\u0161ieho najvy\u0161\u0161ieho \u010dakaj\u00faceho ISR.\u00a0Ak teda k preru\u0161eniu dohliadacieho zariadenia do\u0161lo po\u010das obsluhy preru\u0161enia pri v\u00fdpadku nap\u00e1jania, potom by bolo obsluhovan\u00e9 ako prv\u00e9.\u00a0Po dokon\u010den\u00ed sa \u010dasova\u010d 0 ISR pok\u00fasi dokon\u010di\u0165.<\/p>\n<p>Ka\u017ed\u00e9 preru\u0161enie blik\u00e1 samostatnou LED di\u00f3dou, ktor\u00e1 indikuje, ktor\u00fd ISR \u200b\u200bje moment\u00e1lne rutinne obsluhovan\u00fd.<\/p>\n<p>Ak pre konkr\u00e9tnu aplik\u00e1ciu nie je potrebn\u00e1 redundancia, je mo\u017en\u00e9 odstr\u00e1ni\u0165 ISR pri v\u00fdpadku nap\u00e1jania a str\u00e1\u017een\u00ed.\u00a0Ich odstr\u00e1nenie bude tie\u017e vy\u017eadova\u0165 zmenu tabu\u013eky vektorov\u00fdch skokov na za\u010diatku programu.\u00a0Odpor\u00fa\u010da sa umiestni\u0165\u00a0<i>za\u010diatok<\/i>\u00a0na miesto v\u0161etk\u00fdch nepou\u017e\u00edvan\u00fdch vektorov\u00fdch adries.\u00a0K\u00f3d, ktor\u00fd inicializuje a povo\u013euje v\u00fdpadok nap\u00e1jania a preru\u0161enie str\u00e1\u017eneho psa v\u00a0<i>MainInit<\/i>je tie\u017e potrebn\u00e9 odstr\u00e1ni\u0165 rutinu.\u00a0Zostane v\u00e1m tak iba \u010dasova\u010d 0 ISR, rutina detekcie resetovania, pr\u00e1zdny hlavn\u00fd program a podporn\u00e9 funkcie pre s\u00e9riov\u00fd port.\u00a0Dobr\u00fd za\u010diatok pre ak\u00fako\u013evek aplik\u00e1ciu 8051!<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<pre>;*********************************************************************\r\n;* DS87C520 APPS DEVELOMENT SYSTEM *\r\n;* *\r\n;* Application: *\r\n;* *\r\n;* This program was created to demonstrate using a DS1232 for its *\r\n;* power on reset, system power monitoring, pushbutton reset *\r\n;* controller, and watchdog timer. A DS1077 running at 22.2MHz *\r\n;* clocks the system, the and serial port is used to relay status *\r\n;* messages for testing. *\r\n;*********************************************************************\r\n;* Software Revision History *\r\n;* *\r\n;* 1.0 03\/21\/01 - power management with a DS1232. *\r\n;* *\r\n;* Hardware Description *\r\n;* *\r\n;* P1.0 - LED1 P0.0 - SN74F373N *\r\n;* P1.1 - LED2 P0.1 - \" *\r\n;* P1.2 - RXD1 to PC P0.2 - \" *\r\n;* P1.3 - TXD1 to PC P0.3 - \" *\r\n;* P1.4 - P0.4 - \" *\r\n;* P1.5 - P0.5 - \" *\r\n;* P1.6 - P0.6 - \" *\r\n;* P1.7 - P0.7 - \" *\r\n;* *\r\n;* P3.0 - RXD0, Not used P2.0 - Upper *\r\n;* P3.1 - TXD0, Not used P2.1 - Address *\r\n;* P3.2 - P2.2 - Byte *\r\n;* P3.3 - P2.3 - \" *\r\n;* P3.4 - ST DS1232 P2.4 - \" *\r\n;* P3.5 - LED P2.5 - \" *\r\n;* P3.6 - WR\\ P2.6 - \" *\r\n;* P3.7 - RD\\ P2.7 - \" *\r\n;* *\r\n;* R0 - Used for HeartBeat in timer0 interrupt. Do Not Destroy! *\r\n;* R5-R7 - Used for wt routine in non-interrupt functions *\r\n;* Do not DESTROY! *\r\n;* *\r\n;* Window 0 = Main Program Execution *\r\n;* Window 3 = Interrupt Execution *\r\n;*********************************************************************\r\n$include (c:\\firmware\\reg520.inc) ; SFR register defs for compiler\r\n;************* Variable Declarations *************\r\n;** General Variables **\r\nstack equ 02Fh ; bottom of stack\r\n; stack starts at 30h\r\n\r\n;************* SFR Declarations *************\r\n;** General SFR Names **\r\nsmod_1 equ 0DFh ; buad rate doubler bit declared\r\n\r\n;** Port 1 Signal Names **\r\nLED1 equ 90h ; P1.0 is LED1\r\nLED2 equ 91h ; P1.1 is LED2\r\nRX1 equ 92h ; P1.2 is Serial Port 1 RX\r\nTX1 equ 93h ; P1.3 is Serial Port 1 TX\r\n\r\n;** Port 3 Signal Names **\r\nST equ 0B4h ; P3.4 is Watchdog Strobe\r\nLED equ 0B5h ; P3.5 is LED Indicator\r\n;*********************************************************************\r\n;* Hardware Interrupt Vectors (Table on page 95 of DS databook) *\r\n;*********************************************************************\r\n\r\n\torg 0000h ; Power up and Reset, main program\r\n\tljmp start\r\n\torg 0003h ; External Interrupt 0\r\n\tljmp start\r\n\torg 000Bh ; Timer 0 Interrupt\r\n\tljmp tmr0_interrupt\r\n\torg 0013h ; External Interrupt 1\r\n\tljmp start\r\n\torg 001Bh ; Timer 1 Interrupt\r\n\tljmp start\r\n\torg 0023h ; Serial Port 0 Interrupt\r\n\tljmp start\r\n\torg 002Bh ; Timer 2 Interrupt\r\n\tljmp start\r\n\torg 0033h ; PowerFail Interrupt (DS Priority 1)\r\n\tljmp pf_interrupt\r\n\torg 003Bh ; Serial Port 1 Interrupt (DALLAS)\r\n\tljmp start\r\n\torg 0043h ; External Interrupt 2 (DALLAS)\r\n\tljmp start\r\n\torg 004Bh ; External Interrupt 3 (DALLAS)\r\n\tljmp start\r\n\torg 0053h ; External Interrupt 4 (DALLAS)\r\n\tljmp start\r\n\torg 005Bh ; External Interrupt 5 (DALLAS)\r\n\tljmp start\r\n\torg 0063h ; Watchdog Interrupt (DALLAS)\r\n\tljmp wd_interrupt\r\n\torg 006Bh ; Real-Time Clock (DALLAS)\r\n\tljmp start\r\n;*********************************************************************\r\n;**** Main Program ****\r\n;**** This program detects the cause of the last reset, then ****\r\n;**** blinks LED while the DS87C520(8051) strobes both the ****\r\n;**** internal and external watchdog timers to keep the watch- ****\r\n;**** dogs from resetting the part. ****\r\n;*********************************************************************\r\n\torg 0080h;\r\nstart:\r\n\t;Code Between start and ASMMain executes after reset only\r\n\t\r\n\tclr EA ; Disable Interrupts\r\n\tlcall MainInit ; Initialize Main Program\r\n\t\r\n\t;Place Application Specific Startup Code Here!!!\r\nASMMain:\r\n\t; Insert Your Application Here! Note: Timing in this interrupt\r\n\t; environment will be interrupted every 10ms by timer 0, and every\r\n\t; 2^17 clock cycles by the watchdog interrupt. Thus, application\r\n\t; timing may not be like expected. If timing requirements\r\n\t; are critical, the timer 0 interrupt can be modified to allow\r\n\t; simple events to occur on multiples 10ms, but even those events\r\n\t; will occasionally be briefly interrupted by the WD interrupt.\r\n\t\r\n\tsjmp ASMMain ; Infinite Loop Main Program Does Nothing\r\n\t\t\t\t; But Wait For Events to Trigger Interrupts\r\n;*********************************************************************\r\n;**** Main Initialization Routine ****\r\n;**** Initializes Serial Port 1, Timer 1 and 0, Enables the ****\r\n;**** Power Fail Interrupt, Enables Timer 0 Interrupt, ****\r\n;**** Turns on Global Interrupt Enable, Detects Last Rest ****\r\n;**** Cause, Displays Welcome Message on POR ****\r\n;*********************************************************************\r\n;* requires outstr routine *\r\n;* destroys registers A, DPL, DPH, R5, R6, and R7 *\r\n;*********************************************************************\r\nMainInit:\r\n\tlcall initSP1 ; Initialize Ser Port 1 &amp; Timer 1\/0\r\n\tmov R2, #0 ; clear R2 for heartbeat\r\n\tsetb EPFI ; Enable Power Fail Interrupt\r\n\tmov IE, #02h ; Enable Timer 0 Interrupt.\r\n\tmov TA, #0AAh ; Timed Access Write\r\n\tmov TA, #55h ; \" \"\r\n\tsetb EWT ; Enable Watchdog Reset\r\n\tsetb PWDI ; Give Watchdog Priority Over Timer 0\r\n\tsetb EWDI ; Enable Watchdog Interrupt\r\n\tsetb EA ; Turn On Global Interrupt Enable\r\n\t\r\n\tlcall reset_detect ; Determines Reset Cause\r\n\tcjne A, #0, Main_Init_End ; If POR, Display Welcome Message\r\n\tlcall intro ; Welcome Message, Serial Port 1\r\nMain_Init_End:\r\n\tret\r\n;*********************************************************************\r\n;**** Timer 0 Interrupt ****\r\n;**** Selects Reg Window 3, Reset Timer 0 High Register to ****\r\n;**** B8h (forces interrupt to occur every 9.96ms), beats ****\r\n;**** LED every 50 interrupt occurrences, toggles ST every ****\r\n;**** occurrence ****\r\n;*********************************************************************\r\n;* requires no routines, R0 Window 3 is heartbeat counter *\r\n;*********************************************************************\r\ntmr0_interrupt:\r\n\torl PSW, #18h ; select register window 3\r\n\tmov TH0, #0B8h ; force overflow every 10ms\r\n\tinc R0 ; inc. heartbeat (hb) counter\r\n\tcjne R0, #50, tmro_interrupt_end ; if hb counter = 50 then beat\r\n\tcpl LED ; beat code, P3.5 = hb LED\r\n\tmov R0, #0 ; reset hb counter\r\ntmro_interrupt_end:\r\n\tcpl ST ; Complement Strobe Pin (ST)\r\n\t\t\t\t; Done each tmr0 interrupt pass\r\n\t\t\t\t; Neg Edge every 20 ms\r\n\r\n\tanl PSW, #0E7h ; reselect register window 0\r\n\treti ; Interrupt Return\r\n\t\r\n;*********************************************************************\r\n;**** Watchdog Timer Interrupt ****\r\n;**** Called when watchdog timer elapses every 2^17cc. Resets ****\r\n;**** the timer by a timed access write to RWT ****\r\n;*********************************************************************\r\n;* requires no routines or registers. *\r\n;*********************************************************************\r\nwd_interrupt:\r\n\tclr EA ; Turns Off Global Interrupt Enable,\r\n\t\t\t\t; Disables Nested Interrupts, prohibits PF\r\n\t\t\t\t; interrupt from stopping internal WD strobe.\r\n\tmov TA, #0AAh ; Timed Access Write\r\n\tmov TA, #55h ;\r\n\tsetb RWT ; Reset Watchdog Timer\r\n\tmov TA, #0AAh ; Timed Access Write\r\n\tmov TA, #55h ;\r\n\tclr WDIF ; Clear Watchdog Interrupt Flag\r\n\tcpl LED2 ; Complement P1.2 every time interrupt is\r\n\t\t\t\t; serviced.\r\n\tsetb EA ; Turns On Global Interrupt Enable\r\n\treti\r\n;*********************************************************************\r\n;**** Power Fail Interrupt ****\r\n;**** Writes informative message, waits 500ms, attempts to ****\r\n;**** return to normal operation if power not reset. ****\r\n;*********************************************************************\r\n;* requires outstr routine *\r\n;* destroys registers A, R5, R6, and R7 *\r\n;*********************************************************************\r\npf_interrupt:\r\n\torl PSW, #18h ; selects register window 3\r\n\tmov TA, #0AAh ; timed access write\r\n\tmov TA, #55h ; \" \"\r\n\tsetb RWT ; Reset Internal Watchdog Timer\r\n\tcpl ST ; Complement ST, strobe every other\r\n\t\r\n\t; time the instruction is hit.\r\n\t; provide system specific code required incase a brownout or\r\n\t; or total power failure!\r\n\t\r\nwait_powerup:\r\n\tclr PFI ; clear pf interrupt status flag\r\n\tmov R5, #128 ; set regs for wait function\r\n\tmov R6, #1 ; to provide 1.7 ms delay\r\n\tmov R7, #1 ; \" \"\r\n\tlcall wt ; call delay function\r\n\tmov TA, #0AAh ; timed access write\r\n\tmov TA, #55h ; \" \"\r\n\tsetb RWT ; Reset Watchdog Timer\r\n\tcpl ST ; Complement ST, strobe every other\r\n\t\t\t\t; time the instruction is hit.\r\n\tinc R0 ; Increment reset counter\r\n\tcjne R0, #0, wait_powerup ; complement LED1 Every 256 resets\r\n\tcpl LED1 ; complement P1.0\r\n\tjb PFI, wait_powerup ; If pf interrupt flag still set\r\n\t\t\t\t; remain in interrupt.\r\n\r\n\tANL PSW, #0E7h ; reselect register window 0\r\n\treti ; into the pf interrupt\r\n\t\r\n;*********************************************************************\r\n;**** reset_detect ****\r\n;**** Checks reset status flags to determine what the cause ****\r\n;**** of the latest reset was. Can execute reset type ****\r\n;**** specific code if desired. Does not check for WD rst. ****\r\n;*********************************************************************\r\n;* requires outstr routine *\r\n;* destroys registers DTRP, A, R5, R6, and R7 *\r\n;*********************************************************************\r\nreset_detect:\r\n\tjb POR, reset_por ; if por reset detected, elseif\r\n\tjb WDRF, reset_wd ; wd reset detected, else\r\n\t\r\n\tmov DPTR, #mess_DS1232_reset ; point to DS1232 reset message\r\n\tlcall outstr ; send reset message\r\n\tmov A, #1 ; set reset type flag\r\n\t\r\n\t; insert code for non internal WD\/POR reset here\r\n\t\r\n\tsjmp end_reset_detect ; Goto end of routine, clear\r\n\t\t\t\t; POR and WD reset flags.\r\nreset_wd:\r\n\tmov DPTR, #mess_wd ; point to wd reset message\r\n\tlcall outstr ; send reset message\r\n\tmov A, #1 ; set reset type flag\r\n\t\r\n\t; insert code for internal watchdog reset\r\n\t\r\n\tsjmp end_reset_detect ; Goto end of routine, clear\r\n\t\t\t\t; POR and WD reset flags.\r\nreset_por:\r\n\tmov DPTR, #mess_por ; point to por reset message\r\n\tlcall outstr ; send reset message\r\n\tmov A, #0 ; set reset type flag\r\n\t\r\n\t; insert POR reset specific code here\r\nend_reset_detect:\r\n\tmov TA, #0AAh ; Timed Access Write\r\n\tmov TA, #55h ; \" \"\r\n\tclr WDRF ; Clear WD reset flag\r\n\tmov TA, #0AAh ; Timed Access Write\r\n\tmov TA, #55h ; \" \"\r\n\tclr POR ; Clear POR reset flag\r\n\tret\r\n\t\r\n;*********************************************************************\r\n;**** Initialize Serial Port 1 for PC interface ****\r\n;**** Set up serial port 1 for use with a 22.1 MHz crystal ****\r\n;**** Uses timer 1 for 19200 baud, Mode 1 ****\r\n;*********************************************************************\r\n;* Uses no other routines or registers *\r\n;*********************************************************************\r\ninitSP1:\r\n\tsetb smod_1 ;enable baud rate doubler\r\n\tmov SCON1, #50h ;Serial Port 0 asynch, 10 bits\r\n\tmov TMOD,#21H ;MSB-T1 on and in 8bit auto-load-mode\r\n\t\t\t\t;LSB-T0 on and in 16-bit count mode\r\n\t\t\t\t; T0 is free running 2^16cc\r\n\t\t\t\t; overflow rate (35.59ms)\r\n\tmov TCON, #50H ;t1\/0 enabled, not using ext int\r\n\t\t\t\t; edge\/level select and detect\r\n\t\t\t\t; flag\/reg\r\n\tmov TH1, #0FAH ;set t1 reset val \/ baud rate=19200\r\n\tret\r\n;*********************************************************************\r\n;**** Intro Display Message Routine ****\r\n;**** Sends out a greeting message ****\r\n;*********************************************************************\r\n;* Uses outstr function *\r\n;* Destroys DPTR *\r\n;*********************************************************************\r\nintro: mov DPTR, #mess_welcome ;send welcome message\r\n\tlcall outstr\r\n\tmov DPTR, #mess_ret ;send (2) CR and (2) LF\r\n\tlcall outstr\r\n\tmov dptr, #mess_app ;send application specific message\r\n\tlcall outstr\r\n\tmov DPTR, #mess_ret ;send (2) CR and (2) LF\r\n\tlcall outstr\r\n\tret\r\n;*********************************************************************\r\n;**** Outstring Routine - Serial Port 1 ****\r\n;**** writes a null terminated string to PC via Ser. Port 1 ****\r\n;*********************************************************************\r\n;* Uses outchar routine *\r\n;* Destroys dptr and A *\r\n;*********************************************************************\r\noutstr: clr A ; clear A to get data\r\n\tmovc A,@A+DPTR ; get data from string at data pointer\r\n\tjz exitstr ; if data zero, eos\r\n\tlcall outchar ; else send character\r\n\tinc dptr ; increment data pointer\r\n\tsjmp outstr ; continue, zero condition will terminate\r\nexitstr:\r\n\tret\r\n;*********************************************************************\r\n;**** Outchar routine - Serial Port 1 ****\r\n;**** writes character in Acc to the PC via serial port 1 ****\r\n;*********************************************************************\r\n;* Uses no routines or registers *\r\n;*********************************************************************\r\noutchar:\r\n\tmov SBUF1,A ; place A into Serial Port 1 Buffer\r\nwaitchar:\r\n\tjnb SCON1.1, waitchar ; wait buffer empty flag is set\r\n\tclr SCON1.1 ; clear buffer empty flag\r\n\tret\r\n;*********************************************************************\r\n;**** General Wait Function ****\r\n;**** Can wait anywhere between 14.42us to 221 sec. ****\r\n;**** Waits R7 * 867.6 ms if R5 = R6 = 255 ****\r\n;**** Waits R6 * 3.4 ms if R5 = 255 and R7 = 1 ****\r\n;**** Waits R5 * 13.34us if R6 = R7 = 1 ****\r\n;*********************************************************************\r\n;* requires WriteBits3 routine *\r\n;* destroys R2 and A registers *\r\n;*********************************************************************\r\nwt:\r\n\tlcall wait16us ; 12.8us of waits\r\n\tlcall wait16us\r\n\tlcall wait16us\r\n\tlcall wait16us\r\n\tlcall wait16us\r\n\tlcall wait16us\r\n\tlcall wait16us\r\n\tlcall wait16us\r\n\tdjnz R5, wt ;3.4ms if R5=255, R6 = R7 = 1\r\n\tdjnz R6, wt ;867.6ms if R5=255 and R7=1\r\n\tdjnz R7, wt ;R7*867.6ms if R5 = R6 = 255\r\n\tret\r\n;*********************************************************************\r\n;**** Wait 1.6 us Function ****\r\n;**** Wastes 1.6us of processor time with call, nop and return ****\r\n;*********************************************************************\r\n;* Requires no other routines or registers *\r\n;*********************************************************************\r\nwait16us:\r\n\tnop ; 1 nops @4cc each + lcall @16cc + ret @16cc\r\n\t\t\t\t; produces approximately 1.6us of delay with a\r\n\t\t\t\t; 22.22MHz clock\r\n\tret\r\n;*********************************************************************\r\n;**** MESSAGES ****\r\n;*********************************************************************\r\nmess_welcome:\r\n\tdb ' Jason''s Proto-board, Rev. 0.2',0Dh,0Ah\r\n\tdb ' Now uses DS1077 for a clock, DS1267 for a 3-Wire Demo,'\r\n\tdb 0Dh,0Ah\r\n\tdb ' and a DS1803 for a 2-Wire Demo., and a DS1232 for',0Dh,0Ah\r\n\tdb ' power management.',0\r\n\t\r\nmess_ret:\r\n\tdb 0Dh,0Ah,0DH,0AH,0\r\n\t\r\nmess_app:\r\n\tdb ' This program demonstrates using a DS1232 MicroMonitor and'\r\n\tdb 0Dh, 0Ah\r\n\tdb ' interrupts to provide robust power management, and event'\r\n\tdb 0Dh, 0Ah\r\n\tdb ' event handling',0\r\n\r\nmess_wd:\r\n\tdb 'Internal Watchdog Reset',0Dh,0Ah,0\r\n\t\r\nmess_por:\r\n\tdb 'POR reset', 0Dh, 0Ah, 0\r\n\t\r\nmess_DS1232_reset:\r\n\tdb 'DS1232 Reset (PushButton\/Power Failure\/External Watchdog)'\r\n\tdb 0Dh,0Ah,0\r\n\t\r\nEND ;End of program<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>DS1232 &nbsp; &nbsp; \u010dip s n\u00e1zvom DS1232 MicroMonitor\u2122, ktor\u00fd je navrhnut\u00fd na monitorovanie a riadenie nieko\u013ek\u00fdch d\u00f4le\u017eit\u00fdch podmienok pre mikroprocesor.&hellip;<\/p>\n","protected":false},"featured_media":1681,"template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"product_cat":[16,50,21,30,62,42],"product_tag":[],"class_list":{"0":"post-1680","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-ard","7":"product_cat-pc","8":"product_cat-pw","9":"product_cat-programovanie","10":"product_cat-security","11":"product_cat-smart","13":"first","14":"instock","15":"shipping-taxable","16":"purchasable","17":"product-type-simple"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>DS1232 - Arduino e-shop<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/\" \/>\n<meta property=\"og:locale\" content=\"sk_SK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DS1232 - Arduino e-shop\" \/>\n<meta property=\"og:description\" content=\"DS1232 &nbsp; &nbsp; \u010dip s n\u00e1zvom DS1232 MicroMonitor\u2122, ktor\u00fd je navrhnut\u00fd na monitorovanie a riadenie nieko\u013ek\u00fdch d\u00f4le\u017eit\u00fdch podmienok pre mikroprocesor.&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/\" \/>\n<meta property=\"og:site_name\" content=\"Arduino e-shop\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-21T17:50:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.onetimenexttime.sk\/arduino\/wp-content\/uploads\/2021\/11\/gyj.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"480\" \/>\n\t<meta property=\"og:image:height\" content=\"450\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Predpokladan\u00fd \u010das \u010d\u00edtania\" \/>\n\t<meta name=\"twitter:data1\" content=\"23 min\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/\",\"url\":\"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/\",\"name\":\"DS1232 - Arduino e-shop\",\"isPartOf\":{\"@id\":\"https:\/\/www.onetimenexttime.sk\/arduino\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.onetimenexttime.sk\/arduino\/wp-content\/uploads\/2021\/11\/gyj.jpg\",\"datePublished\":\"2021-11-18T18:25:10+00:00\",\"dateModified\":\"2024-02-21T17:50:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/#breadcrumb\"},\"inLanguage\":\"sk-SK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sk-SK\",\"@id\":\"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/#primaryimage\",\"url\":\"https:\/\/www.onetimenexttime.sk\/arduino\/wp-content\/uploads\/2021\/11\/gyj.jpg\",\"contentUrl\":\"https:\/\/www.onetimenexttime.sk\/arduino\/wp-content\/uploads\/2021\/11\/gyj.jpg\",\"width\":480,\"height\":450},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Domov\",\"item\":\"https:\/\/www.onetimenexttime.sk\/arduino\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Obchod\",\"item\":\"https:\/\/www.onetimenexttime.sk\/arduino\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"DS1232\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.onetimenexttime.sk\/arduino\/#website\",\"url\":\"https:\/\/www.onetimenexttime.sk\/arduino\/\",\"name\":\"Arduino e-shop\",\"description\":\"Home Assistant\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.onetimenexttime.sk\/arduino\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sk-SK\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DS1232 - Arduino e-shop","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/","og_locale":"sk_SK","og_type":"article","og_title":"DS1232 - Arduino e-shop","og_description":"DS1232 &nbsp; &nbsp; \u010dip s n\u00e1zvom DS1232 MicroMonitor\u2122, ktor\u00fd je navrhnut\u00fd na monitorovanie a riadenie nieko\u013ek\u00fdch d\u00f4le\u017eit\u00fdch podmienok pre mikroprocesor.&hellip;","og_url":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/","og_site_name":"Arduino e-shop","article_modified_time":"2024-02-21T17:50:25+00:00","og_image":[{"width":480,"height":450,"url":"https:\/\/www.onetimenexttime.sk\/arduino\/wp-content\/uploads\/2021\/11\/gyj.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Predpokladan\u00fd \u010das \u010d\u00edtania":"23 min\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/","url":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/","name":"DS1232 - Arduino e-shop","isPartOf":{"@id":"https:\/\/www.onetimenexttime.sk\/arduino\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/#primaryimage"},"image":{"@id":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/#primaryimage"},"thumbnailUrl":"https:\/\/www.onetimenexttime.sk\/arduino\/wp-content\/uploads\/2021\/11\/gyj.jpg","datePublished":"2021-11-18T18:25:10+00:00","dateModified":"2024-02-21T17:50:25+00:00","breadcrumb":{"@id":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/#breadcrumb"},"inLanguage":"sk-SK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/"]}]},{"@type":"ImageObject","inLanguage":"sk-SK","@id":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/#primaryimage","url":"https:\/\/www.onetimenexttime.sk\/arduino\/wp-content\/uploads\/2021\/11\/gyj.jpg","contentUrl":"https:\/\/www.onetimenexttime.sk\/arduino\/wp-content\/uploads\/2021\/11\/gyj.jpg","width":480,"height":450},{"@type":"BreadcrumbList","@id":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/produkt\/ds1232\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Domov","item":"https:\/\/www.onetimenexttime.sk\/arduino\/"},{"@type":"ListItem","position":2,"name":"Obchod","item":"https:\/\/www.onetimenexttime.sk\/arduino\/"},{"@type":"ListItem","position":3,"name":"DS1232"}]},{"@type":"WebSite","@id":"https:\/\/www.onetimenexttime.sk\/arduino\/#website","url":"https:\/\/www.onetimenexttime.sk\/arduino\/","name":"Arduino e-shop","description":"Home Assistant","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.onetimenexttime.sk\/arduino\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sk-SK"}]}},"_links":{"self":[{"href":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/wp-json\/wp\/v2\/product\/1680"}],"collection":[{"href":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/wp-json\/wp\/v2\/media\/1681"}],"wp:attachment":[{"href":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/wp-json\/wp\/v2\/media?parent=1680"}],"wp:term":[{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/wp-json\/wp\/v2\/product_cat?post=1680"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.onetimenexttime.sk\/arduino\/index.php\/wp-json\/wp\/v2\/product_tag?post=1680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}