User: alciro    User
 Original    Translate to:  Deutsch  English  Français  中文  
 

Microcontroladores 8051

7.2.3. Beispiel UART-Konfiguration

Angenommen, Sie haben die Konfiguration des UART-Bit Übertragung von Daten im Modus 1 (8-Bit-UART) mit einer Geschwindigkeit von 9600 Baud, 1 Stopp. Haben Sie die folgenden Schritte befolgen:

Konfiguration 1, Timer 1

Die TMOD Register soll Autoreload Modus und Timer.

MSB LSB
GATE C / T M1 M0 GATE C / T M1 M0
0 0 1 0 x x x x
Timer 1 Timer 0

  • GATE = 0 Internal Control
  • C / T = 0-Modus Timer
  • M1, M0 = 1, 0 8-Bit Counter Auto-Recharge

Im Datensatz TCOM Flaggenstaatkontrolle von TR1. TR1 Bit startet den Timer und ermöglicht den UART zu arbeiten, so ist es am besten, dieses Bit am Ende der Konfiguration als Kontrolle verwendet zu starten oder zu stoppen Kommunikation zu ermöglichen.

2 ° Stellen Sie die Übertragungsgeschwindigkeit.

Nach der Häufigkeit des Mikrocontrollers setzt den Wert der Zähler TL1 und TH1-Register. Mit Blick auf die Übertragungsgeschwindigkeit Tabelle in Absatz 7.1, für 9600 Baud mit einem Kristall von 11.0592 MHz Zählerwert FDH.

3 º UART Einstellungen

In SCON Register gesetzt UART-Modus 1 ermöglicht den Empfang mit REN = 1, legt den Zustand Fahnen TB8, Tb8, 0 und TI unterbrechen Flan, RI auf 0 setzen.

MSB LSB
SM0 SM1 SM2 REN TB8 Tb8 IT RI
0 1 0 1 0 0 0 0

  • SM0, SM1, SM2 = 0, 1, 0 Mode 1 8-Bit-UART
  • REM = 1 ermöglicht den Empfang
  • TB8, Tb8 = 0, 0 nicht genutzt in diesem
  • TI = 0 Übertragung Flagge
  • RI = 0 Erhalte Flagge

Konfigurationsbeispiel in Assembler.

;-----------------------------------
; Iniciar el puerto serie
;-----------------------------------
InitSerial: ORL TMOD,#00100000B ; Timer 1 en modo 2 (auto recarga)
MOV TL1,#0FDH ; Velocidad de 9600 Bauds
MOV TH1,#0FDH
MOV SCOM,#50H ; Configuración de la UART en modo 2
SETB TR1 ; Arrancar el Timer1 y la UART
RET

C. Beispiel für die Konfiguration

 //---------------------------------------
/ / Start des seriellen Ports
//---------------------------------------
InitSerial void (void) {
	TMOD | = 0x20 / / Timer 1 im Modus 2 (Autoreload)
	TL1 = 0xFD / / 9600 Baud-Rate
	TH1 = 0xFD;
	SCON = 0x50, / / UART Setup-Modus 2
	TR1 = 1, / / Start Timer1 und UART

} 
Loading
copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |