Bits, Bytes und Nibbles

Kategorie: Mikrocontroller

Der  Mikrocontroller rechnet digital, also mit binären Werten. Um in diesen Wust von Nullen und Einsen eine Struktur zu bringen, werden die binären Zahlen zusammengefasst.

Aus Bits werden Bytes und Nibbles. Die Zahlendarstellung ist binär und hexadezimal.

Wie das ganze funktioniert und warum die Einführung von Nibbles Sinn macht, versuche in der heutigen Folge zu zeigen.

Dieser Artikel ist Teil des Mikrocontroller-Kurses hier auf ET-Tutorials.de.

Im Video werden wir uns mit Hilfe des Debuggers die einzelnen Schritte beim Rechnen mit binären und hexadezimalen Zahlen angucken und (hoffentlich) sehen, dass eine Umrechnung in Nibbles die Umrechnung von binären in hexadezimale Zahlen und umgekehrt sehr erleichert.


Hier noch einmal der abgespeckte C-Code aus dem Video.

/*——————————————————————————
 HELLO.C

 Copyright 1995-2005 Keil Software, Inc.
 ——————————————————————————*/

 #include <REG52.H>                /* special function register declarations   */
 /* for the intended 8051 derivative         */

 #include <stdio.h>                /* prototype declarations for I/O functions */

 /*————————————————
 The main C function.  Program execution starts
 here after stack initialization.
 ————————————————*/
 void main (void) {

 /*————————————————
 Setup the serial port for 1200 baud at 16MHz.
 ————————————————*/
 #ifndef MONITOR51
 SCON  = 0x50;                /* SCON: mode 1, 8-bit UART, enable rcvr      */
 TMOD |= 0x20;               /* TMOD: timer 1, mode 2, 8-bit reload        */
 TH1   = 221;                /* TH1:  reload value for 1200 baud @ 16MHz   */
 TR1   = 1;                  /* TR1:  timer 1 run                          */
 TI    = 1;                  /* TI:   set TI to send first char of UART    */
 #endif

 /*————————————————
 Note that an embedded program never exits (because
 there is no operating system to return to).  It
 must loop and execute forever.
 ————————————————*/

 while (1) {

 }
 }

[ >> Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .]



ET-Tutorials weiterempfehlen

Hat Dir der Artikel gefallen?
Dann unterstütze ET-Tutorials.de mit einer Empfehlung per Email an Deine Freunde .

Hinweis zum Datenschutz: Ich kann weder Deine noch die Email-Adresse Deiner Freunde sehen.

Ähnliche Artikel

Folgende Artikel aus der gleichen Kategorie könnten Dich ebenfalls interessieren:

» Bedingte Anweisungen mit switch–case
» Funktionen in C, Definition und Deklaration
» Funktionen in C, Parameterübergabe
» Start des Mikrocontroller-Kurses
» Bitweise Manipulation

5 Kommentare
Hier kannst Du den Artikel kommentieren: »

  1. Hi, wenn ich den abgespeckten C-Code eingebe und übersetzen will bekomme ich einen Fehler:
    Der lautet:

    Build target ‘Simulator’
    compiling HELLO.C…
    HELLO.C(22): error C100: unprintable character 0xD7 skipped
    HELLO.C(23): error C100: unprintable character 0xD7 skipped
    Target not created

    Liegt das Problem evtl. am Code?

    Grüße Christian

  2. Hallo Christian,
    danke für den Hinweis.

    Ich habe es eben einmal ausprobiert und muss dagen: Du hast recht.

    In Zeile 22 und 23

    SCON = 0×50; /* SCON: mode 1, 8-bit UART, enable rcvr */
    TMOD |= 0×20; /* TMOD: timer 1, mode 2, 8-bit reload */

    macht Wordpress (das Content Management System / Blog System von ET-Tutorials aus einem x ein ×. Ärgerlich :-(
    Ihr müsst also in diesen Zeilen ein richtiges x einsetzen.

    Dann kann man es kompilieren.

    Und ich werde mich nach einer geeigneten Möglichkeit umgucken, wie man vernünftig Quellcode veröffentlicht.

  3. So, jetzt sollte es gehen.
    Viele Grüße!

  4. Danke, nun funktioniert es.

    Noch eine Frage. Warum benutzen wir für den Kurs eigentlich mVision?
    Wären Programme wie Pelles nicht einfacher für den Anfang?
    Ich bin absoluter Anfänger was das betrifft aber mir persönlich fällt die Arbeit mir Keil wesentlich schwerer als mit Pelles oder dem alten MS Visual C++.

    An dieser Stelle möchte ich diesen Kurs noch loben, die Videos sind sehr verständlich gemacht.

    Grüße Christian

  5. Hallo Christian,
    da der eigentliche Inhalt der Kurses ja die Mikrocontroller-Programmierung ist, benötigen wir eine Entwicklungsumgebung, die uns auch ausführbaren Code für einen Mikrocontroller erzeugt.
    Pelles und MS Visual C++ kann das nicht.
    Für einen reinen C-Kurs wären die von Dir genannten Umgebungen sicher geeignet.

    Nach unserem C-Kurs wird sich jedoch nahtlos ein µC-Kurs für den 8051 anschließen.
    Und dafür brauchen wir eben eine Umgebung wie µVision, o.ä.

    Viele Grüße

    Wolfgang Bengfort

Kommentiere hier den Artikel: