Le port série est un port full-duplex, c'est à dire qu'il peut fonctionner en émission et réception simultanées. Il possède un tampon de réception d'un octet. Le registre de réception et d'emission est le même : SBUF (099H). En effet une écriture à cette adresse provoque une émission et une lecture, une réception.
Un registre (SCON 098H) permet le contrôle de l'interface de communication série. Il y a 4 modes de fonctionnement :

Description du registre de contrôle SCON

SM0 SM1 Mode Description fréquence de communication
0 0 0 registre à décalage fosc / 12
0 1 1 UART 8 bits variable
1 0 2 UART 9 bits fosc/64 ou fosc/32
1 1 3 UART 9 bits variable

Les TIMERS et le port série :

Le TIMER 1 peut être utilisé comme horloge. Il doit être configuré en compteur 8 bits à rechargement automatique (voir chapitre sur les timers). La fréquence de communiquation (FC) est alors :

FC = ( K * fosc ) / ( 32 * 12 * ( 256 - TH1))

avec fosc = fréquence de l'oscillateur du micro et K = 1 si SMOD = 0 ou K = 2 si SMOD = 1

Le constructeur Intel conseille un quartz de 11.059 MHz pour utiliser l'UART.

Pour vous éviter des calculs, voici un tableau des fréquences de communication qui donne les informations nécessaires :

Fréquence de
communication
Fréquence de
l'oscillateur
SMOD TH1
19200 11.059 MHz 1 FDH
9600 11.059 MHz 0 FDH
4800 11.059 MHz 0 FAH
2400 11.059 MHz 0 F4H
1200 11.059 MHz 0 E8H
300 6 MHz 0 CCH
110 6 MHz 0 72H

L'utilisation du générateur de fréquence de communication du 80C537

Ce générateur de fréquence ne sert qu'au deuxième port série du 80C537. Le registre de contrôle de ce deuxième port est S1CON (9BH) et son organisation est la même que pour le registre SCON sauf qu'il n'a pas 2 bits SM0 et SM1 mais un seul bit SM. Ceci entraîne qu'il n'a que deux modes de fonctionnement : SM = 0, UART 9 bits et SM = 1, UART 8 bits.
La fréquence de communication est fixée par le quartz et par la valeur placée dans le registre S1REL. On a:

SIREL = 256 - (fosc / (32 * FC))