Získavanie vedomostí
/ Knowledge Discovery >> Získavanie vedomostí >> technológie >> elektronika >> polovodičové elektronika >>

Ako Mikrokontroléry Work

porné hodnoty. Nasledujúci zoznam zobrazuje hodnoty pre 4-bitové číslo 2s-komplementu:
 0111: 70110: 60101: 50100: 40011: 30010: 20001: 10000: 01111: -11110: -21101: -31100: - 41011: -51010: -61001: -71000: -8 

Môžete vidieť, že namiesto 4 bity predstavujúce hodnoty od 0 do 15, 4 bity v rade 2s-komplement predstavujú hodnoty, -8 až 7. Tu sa pozrieť na najviac vľavo bitu na určenie, v prípade, že číslo je negatívne alebo pozitívne. Ak je číslo záporné, môžete invertovať kúsky a pridajte 1 dostať pozitívne vyjadrenia čísla

Tu je to, čo sa deje s digitálnym teplomerom programu tu uvedené :.

  1. používa symbol kľúčové slovo nastaviť niekoľko konštánt, ktoré tvoria program trochu čitateľnejšie (a tiež, aby to pre vás ľahké presunúť čip pre rôzne I /O pinov na pečiatku).
  2. To nastaví . CLK a RST kolíky na DS1620 na ich očakávaných hodnôt
  3. Zapíše príkazový byte EEPROM na DS1620 povedať čipe pracovať v " režim teplomer &Quote .; Vzhľadom k tomu, že je režim uložený v pamäti EEPROM, musíte vykonať iba raz, takže si mohol technicky vziať túto časť kódu z programu po tom, čo ste raz spustiť program (pre uloženie programu vesmírnej).
  4. program odošle príkaz $ EE (" $ " znamená " šestnástkové číslo " - $ EE je 238 v desiatkovej sústave) povedať teplomer naštartovať svoju proces prevodu

    Program potom. vstúpi do slučky. Každú sekundu, odošle príkaz do DS1620 rozpráva DS1620 vrátiť aktuálnu teplotu, a potom to prečíta 9-bitové hodnoty, že DS1620 vracia do premennej W0. Pečiatka vysiela a prijíma dáta 1 bit naraz prepnutím CLK čiaru na DS1620. Pamätajte si, že W0 (16 bitov) premenná prekrýva B0 /B1 (8-bitov) premenné, ktoré prekryje bit0 /bit1 /.../Bit15 (1-bit) premenné, takže keď vložíte kúsok od DS1620 do 8 bitového a rozdeliť W0 o 2, čo robíte, sa presúva každý bit doprava na uloženie 9-bit teploty od DS1620 do W0. Akonáhle teplota bol uložený v W0, na displeji sa podprogram určuje, či je číslo kladné alebo záporné, a zobrazí ho vhodne na displeji ako teplota Celzia. Konverzie od stupňov Celzia na stupne F je:
    dF = DC * 9/5 + 32

    V tomto bode, sa nám podarilo vytvoriť veľmi drahé teplomeru.

    Page << [11] [12]