Follow me on Twitter!

Bits, Bytes und Nibbles

 Kategorien:              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 .]


Hat Dir der Artikel geholfen? - Dann hilf dem Artikel ;-)

1 Star2 Stars3 Stars4 Stars5 Stars (Gibt jetzt das erste Rating ab!)
Loading ... Loading ...


Ähnliche Artikel

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

Keinen passenden
Artikel gefunden...?


... dann hilft vielleicht
die Suche!

Funktionen in C, Definition und Deklaration Durch die Verwendung von Funktionen kann man Programme strukturieren und effizienter machen. In unse...

Timer Interrupts 8 bit auto reload In dieser Folge geht es um den Mode 2 des Timer Interrupts, dem 8 bit auto-reload Modus. Im Gegensat...

Interrupts und Polling Heute geht es nun um das Thema Interrupts. Was sind Interrupts? Wozu benötigt man Interrupts? Was is...

Lösung zur Aufgabe: Lesen aus Ports Heute geht es nun um die Lösung der Aufgabe aus der vorherigen Folge. Also darum, wie man aus Ports ...

Timer Interrupt des 8051 Mikrocontrollers Zu den wichtigsten Aufgaben eines Mikrocontrollers gehören Steuerungs-, Regelungs- und Messaufgaben....

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:

Abonnieren ohne einen Kommentar abzugeben