Inhaltsverzeichnis
Welches Register steuert den Arbeitsmodus der seriellen Schnittstelle? Das Register, das den Arbeitsmodus der seriellen Schnittstelle steuert, ist SCON
Heim häufiges Problem Welches Register steuert die Funktionsweise der seriellen Schnittstelle?

Welches Register steuert die Funktionsweise der seriellen Schnittstelle?

Jul 22, 2022 am 10:53 AM
寄存器

Das Register, das den Arbeitsmodus der seriellen Schnittstelle steuert, ist das SCON-Steuerregister, das zur Steuerung der Auswahl, des Empfangs und der Übertragung serieller Kommunikationsmethoden verwendet wird und den Status der seriellen Schnittstelle anzeigt kann entweder byteadressierbar oder bitadressierbar sein, die Byteadresse ist „98H“ und die Adressbits sind „98H~9FH“.

Welches Register steuert die Funktionsweise der seriellen Schnittstelle?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, DELL G3-Computer.

Welches Register steuert den Arbeitsmodus der seriellen Schnittstelle? Das Register, das den Arbeitsmodus der seriellen Schnittstelle steuert, ist SCON

SCON (Serial Control Register), ein Steuerregister für die serielle Schnittstelle, das zur Steuerung der Auswahl verwendet wird der seriellen Kommunikationsmethoden Empfangen und Senden, die den Status des seriellen Ports anzeigen. SCON kann entweder byteadressierbar oder bitadressierbar sein. Seine Byteadresse ist 98H und die Adressbits sind 98H~9FH.

Struktur:

Welches Register steuert die Funktionsweise der seriellen Schnittstelle?Arbeitsmodus (SM0 SM1)

(1) Modus 0 (SM0 SM1:0 0): Der Arbeitsmodus 0 der seriellen Schnittstelle ist der Schieberegister-E/A-Modus , Es kann an ein externes Schieberegister, einen Erweiterungs-E/A-Port oder ein externes synchrones E/A-Gerät angeschlossen werden. Sendevorgang: Beim Ausführen einer „MOVSBUF,A“-Anweisung wird der Sendevorgang gestartet, der Schiebeimpuls wird von TXD ausgegeben und die Daten in SBUF werden von RXD serialisiert. Nach dem Senden von 8-Bit-Daten wird automatisch TI=1 gesetzt und ein Interrupt angefordert. Um mit dem Senden fortzufahren, muss TI durch eine Anweisung freigegeben werden. Empfangsvorgang: REN ist das Steuerbit für die Empfangsfreigabe der seriellen Schnittstelle. Bei REN=0 ist der Empfang verboten; bei REN=1 ist der Empfang erlaubt. Wenn die Software REN auf „1“ setzt, beginnt sie mit der Eingabe von Daten vom RXD-Port mit der Baudrate fosc/12. Wenn 8-Bit-Daten empfangen werden, wird das Interrupt-Flag RI auf „1“ gesetzt. Bevor erneut Daten empfangen werden, muss RI per Software auf 0 zurückgesetzt werden.

(2) Modus 1 (SM0 SM1:0 1): Der serielle Port ist eine universelle asynchrone 10-Bit-Schnittstelle. Ein Rahmen gesendeter oder empfangener Dateninformationen besteht aus 10 Bits, einschließlich 1 Startbit „0“, 8 Datenbits und 1 Stoppbit „1“. Daten senden: Daten werden vom TXD-Port ausgegeben. Wenn die Daten in den Sendepuffer SBUF geschrieben werden, wird der Sender mit dem Senden begonnen. Setzen Sie nach dem Senden eines Datenrahmens das Interrupt-Flag TI = 1, beantragen Sie einen Interrupt und benachrichtigen Sie die CPU, dass die nächsten Daten gesendet werden können. Daten empfangen: Stellen Sie zunächst REN = 1 ein (Empfang von Daten zulassen). Wenn ein Datenrahmen abgeschlossen ist, setzen Sie das Interrupt-Flag RI=1, beantragen Sie einen Interrupt und benachrichtigen Sie die CPU, die empfangenen Daten von SBUF zu übernehmen.

(3) Modus 2 (SM0 SM1:1 0): Der serielle Port ist eine asynchrone 11-Bit-Kommunikationsschnittstelle. Das Senden oder Empfangen eines Informationsrahmens umfasst 1 Startbit „0“, 8 Datenbits, 1 programmierbares Bit und 1 Stoppbit „1“. Senden von Daten: Stellen Sie TB8 vor dem Senden zunächst per Software entsprechend dem Kommunikationsprotokoll auf „Paritätsbit“ oder „Datenidentifikationsbit“ ein und schreiben Sie dann die zu sendenden Daten in SBUF, um den Sender zu starten. Der Übertragungsprozess wird gestartet, indem ein beliebiger Befehl mit SBUF als Zielregister ausgeführt wird, 8-Bit-Daten in SBUF geladen werden und TB8 auch in das 9. Bit des Übertragungsschieberegisters geladen wird, und dann von TXD (P3.1) aus gestartet wird gibt einen Datenrahmen aus. Daten empfangen: Setzen Sie zuerst REN=1, um den seriellen Port zum Empfangen von Daten zu aktivieren, und setzen Sie außerdem RI auf „0“. Anschließend wird basierend auf dem Status von SM2 und dem Status des empfangenen RB8 entschieden, ob der serielle Port nach Eintreffen der Informationen RI = 1 setzt und einen Interrupt beantragt, um die CPU über den Empfang der Daten zu informieren. Wenn SM2=0 ist, ist RI=1 gesetzt, unabhängig davon, ob RB8 „0“ oder „1“ ist, und dieser serielle Port empfängt die gesendeten Informationen. Wenn SM2 = 1 und RB8 = 1, bedeutet dies, dass bei der Kommunikation mit mehreren Maschinen die empfangenen Informationen „Adressrahmen“ sind. Stellen Sie zu diesem Zeitpunkt RI = 1 ein und die serielle Schnittstelle empfängt die gesendete Adresse. Wenn SM2 = 1 und RB8 = 0, bedeutet dies, dass es sich bei der Kommunikation mit mehreren Maschinen um einen „Datenrahmen“ handelt, der jedoch nicht an den Slave gesendet wird. Zu diesem Zeitpunkt ist RI nicht auf „ gesetzt. 1", daher gehen die empfangenen Informationen im SBUF verloren. Der Datenrahmen geht verloren.

(4) Modus 3 (SM0 SM1:1 1): Es handelt sich um einen asynchronen 11-Bit-Kommunikationsmodus mit variabler Baudrate. Bis auf den Unterschied in der Baudrate sind die anderen Modi dieselben wie Modus 2.

Weitere Informationen zu diesem Thema finden Sie in der Spalte „FAQ

“!

Das obige ist der detaillierte Inhalt vonWelches Register steuert die Funktionsweise der seriellen Schnittstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welches Register speichert die Offset-Adresse im Codesegment? Welches Register speichert die Offset-Adresse im Codesegment? Jan 22, 2021 pm 01:54 PM

Das Register, das die Offset-Adresse im Codesegment speichert, ist: das Befehlszeigerregister. Das Befehlszeigerregister IP wird verwendet, um die Ausführungssequenz von Befehlen im Programm zu steuern. Während des normalen Betriebs enthält IP die Offset-Adresse des nächsten Befehls (Byte), der von der BIU abgerufen werden soll Einmal aus dem Speicher, wird die IP automatisch um 1 erhöht, um die sequentielle Ausführung von Anweisungen sicherzustellen.

Vertiefendes Verständnis der Registersteuerung der Go-Sprache Vertiefendes Verständnis der Registersteuerung der Go-Sprache Apr 04, 2024 am 09:51 AM

Die Go-Sprache optimiert die Leistung, indem sie die direkte Steuerung von CPU-Registern durch Assembleranweisungen ermöglicht: Register sind temporäre Orte in der CPU, an denen Daten gespeichert werden. Die Go-Sprache stellt Assembleranweisungen über das ASM-Paket bereit, mit denen auf x86- und ARM-Register zugegriffen werden kann. Assembleranweisungen vermeiden den Speicherzuweisungsaufwand von Iteratoren und verbessern die Schleifenleistung. Bei der Verwendung von Montageanleitungen ist aufgrund von Plattform- und Systemabhängigkeiten, potenziellen Programmabsturzrisiken und dem Prinzip „Nur bei Bedarf verwenden“ Vorsicht geboten.

Was ist in der Sprache C die Registerspeicherklasse? Was ist in der Sprache C die Registerspeicherklasse? Aug 30, 2023 am 09:45 AM

In der Programmiersprache C gibt es vier Speicherklassen, nämlich: autoexternstaticregister. Das Schlüsselwort der Registervariablen lautet register. Der Wert einer Registervariablen wird im Register der CPU gespeichert und nicht im Speicher, wo gewöhnliche Variablen gespeichert sind. Register sind temporäre Speichereinheiten in der CPU. Sie ermöglichen Registervariablen schnellere Zugriffszeiten als gewöhnliche Variablen. Beispiel 1 Das Folgende ist die Registerspeicherklasse des C-Programms: Demonstration #include<stdio.h>main(){ registerinti;&

Analysieren Sie die Fähigkeit der Go-Sprache, Register zu manipulieren Analysieren Sie die Fähigkeit der Go-Sprache, Register zu manipulieren Apr 03, 2024 pm 09:03 PM

Die Go-Sprache ermöglicht den Zugriff auf und Operationen an Registern durch Assembler-Inlining. Die Programmleistung kann durch die Verwendung von Registern wie Ganzzahlregistern, Gleitkommaregistern und Vektorregistern erheblich verbessert werden. Anhand einer praktischen Falldemonstration der Optimierung ganzzahliger Multiplikationsoperationen zeigt dieser Artikel, wie Register für effiziente Low-Level-Operationen verwendet werden, um schnellere Go-Anwendungen zu erstellen.

Welches Register steuert die Funktionsweise der seriellen Schnittstelle? Welches Register steuert die Funktionsweise der seriellen Schnittstelle? Jul 22, 2022 am 10:53 AM

Das Register, das den Arbeitsmodus der seriellen Schnittstelle steuert, ist das Steuerregister der seriellen Schnittstelle. Es dient zur Steuerung der Modusauswahl, des Empfangs und der Übertragung der seriellen Kommunikation und zeigt den Status der seriellen Schnittstelle an Sowohl die byteadressierte als auch die bitadressierte Adresse ist „98H“ und die Adressbits sind „98H~9FH“.

Wie nennt man ein Gerät, das eine kleine Datenmenge in der CPU speichert? Wie nennt man ein Gerät, das eine kleine Datenmenge in der CPU speichert? Jul 18, 2022 pm 04:29 PM

Es wird als „Register“ bezeichnet. Register sind kleine Speicherbereiche, die zum Speichern von Daten innerhalb der CPU verwendet werden. Sie werden zum vorübergehenden Speichern von Daten und Operationsergebnissen verwendet, die an Operationen beteiligt sind. Die Funktion des Registers besteht darin, Binärcodes zu speichern, die aus Flip-Flops mit Speicherfunktionen bestehen. Ein Flip-Flop kann 1-Bit-Binärcode speichern. Daher benötigt ein Register, das n-Bit-Binärcodes speichert, n Flip-Flops.

Forschung zu Registerkontrollfunktionen der Go-Sprache Forschung zu Registerkontrollfunktionen der Go-Sprache Apr 04, 2024 am 08:09 AM

Die Go-Sprache bietet eine begrenzte Kontrolle über Register und ermöglicht so Optimierungen auf niedriger Ebene. Assembleranweisungen (MOVQ, MOVL, MOVB, ADDQ, SUBQ) können zur Steuerung von Registern verwendet werden, sie müssen jedoch mit Vorsicht verwendet werden, um zu vermeiden, dass Registerverweise im Garbage-Collection-Mechanismus beschädigt werden. Darüber hinaus erfordert die Verwendung von Assembleranweisungen Kenntnisse der Assemblersprache und ist plattformabhängig.

Können Sprachkontrollregister verwendet werden? Können Sprachkontrollregister verwendet werden? Aug 24, 2023 pm 01:41 PM

Die Go-Sprache kann Register nicht direkt steuern. Die Go-Sprache ist in ihrer Fähigkeit, auf Register zuzugreifen, eingeschränkt, da das Designziel der Go-Sprache darin besteht, eine sicherere und benutzerfreundlichere Programmierumgebung bereitzustellen, anstatt direkt auf Hardware zuzugreifen. Obwohl die Register nicht direkt gesteuert werden können, stehen einige Mechanismen zur Interaktion mit der Hardware zur Verfügung. Entwickler können diese Schnittstellen verwenden, um mit externen Geräten zu kommunizieren und deren Verhalten zu steuern. Die Go-Sprache bietet auch einige Low-Level-Programmierfunktionen, um die Einschränkungen des Typsystems zu umgehen und direkt auf den Speicher zuzugreifen.