Berikut ini beberapa istilah dalam komunikasi serial, yaitu :
1 Synchronous (sinkron) adalah kondisi pengiriman data serial yang disertai dengan pengiriman detak (clock).
2 Asynchronous (asinkron) adalah kondisi dengan detak tidak dikirim bersamaan dengan data serial sehingga masing-masing perangkat keras yang berkomunikasi harus menciptakan detaknya sendiri.
3 Baud rate merupakan istilah yang digunakan untuk kecepatan aliran data. Satuan baud rate adalah bps (bit per second). Contohnya, 9600 bps atau 19200 bps.
4 Full duplex adalah jenis komunikasi serial yang menyatakan hubungan antara dua perangkat keras, A dan B. Jika A sedang melakukan pengiriman data, pada saat yang sama, A dapat menerima data dari B, dan sebaliknya. Kondisi ini dinamakan full duplex atau komunikasi dua arah. Contohnya, telepon.
5 Half duplex merupakan kondisi ketika proses pengiriman dan penerimaan data tidak dapat dilakukan secara bersamaan seperti pada full duplex namun dilakukan secara bergantian. Contohnya, pesawat intercom dan walkie talkie.
Jenis komunikasi serial diantaranya UART (Universal Asynchronous Receiver/Transmitter), SPI, dan I2C (Inter Integrated Circuit). Pada komunikasi serial asinkron jenis full duplex digunakan tiga jalur yaitu, jalur Tx (transmit / pengiriman), jalur Rx(receive / penrimaan), dan jalur ground. Umumnya jumlah data yang dikirim adalah satu bit start, delapan bit data, dan satu bit stop sehingga dalam satu frame data terdapat sepuluh bit (format 1-8-1).
Komunikasi serial pada mikrokontroler AT89S51 bergantung pada kondisi pin Rx dan Tx. Data yang akan dikirim dan diterima harus diletakkan atau ditampung pada register SBUF (serial buffer). SBUF pada mikrokontroler dipisahkan antara pengiriman data dan penerimaan data tetapi dalam pemrogramannya hanya ada satu yaitu SBUF saja. Tugas compiler untuk memahami SBUF yang dimaksud oleh program dan menterjemahkannya ke dalam kode mesin untuk masing-masing SBUF.
Register lain yang berkaitan dengan komunikasi serial adalah SCON (Serial Port Control Register) dan PCON (Power Control Register). Bit kedua dan bit ketiga SCON hanya digunakan untuk komunikasi serial dengan data sembilan bit sedangkan bit-bit yang lain digunakan di hampir setiap mode komunikasi serial.
Register PCON digunakan untuk pengaturan baud rate atau kecepatan transmisi serial yaitu melalui bit yang bernama SMOD. Register PCON terdiri atas delapan bit seperti diilustrasikan berikut.
Saat pertama kali mikrokontroler dihidupkan atau dalam kondisi reset, semua nilai bit pada PCON adalah 0 (nol). Dari lima bit yang ada pada register PCON, mikrokontroler MCS-51 hanya menggunakan tiga bit saja yaitu SMOD, PD, dan IDL. Dari tiga bit tersebut, yang berhubungan dengan komunikasi serial adalah SMOD. GF1 dan GF0 digunakan untuk fungsi umum atau general purpose register.
Port serial AT89S51 dapat digunakan untuk empat mode sesuai pengaturan bit SM0 dan SM1 seperti pada gambar dibwah ini. Mode yang umum dipakai adalah UART 8 bit (mode 1) sedangkan aplikasi yang rentan terhadap gangguan menggunakan mode 2 dan mode 3.
Berikut penjelasan masing-masing mode, yaitu :
1 Mode 0
Mode 0 merupakan mode sinkron dengan detak juga ikut dikirimkan bersamaan dengan data serial. Detak dikirim melalui TxD (dengan kecepatan fosc/12). Sedangkan, pin RxD digunakan untuk mengirim dan menerima data. Sifat mode 1 adalah half duplex. Jika CPU difungsikan untuk menerima data, maka RI dikosongkan terlebih dahulu (RI=0) dan REN=1.
2 Mode 1
Mode 1 merupakan mode asinkron full duplex. Format data yang digunakan adalah 1 bit start, 8 bit data, dan 1 bit stop dengan protokol RS-232 tetapi dengan level tegangan TTL. Sepuluh bit paket data tersebut dikirim melalui pin TxD dan dapat diterima melalui pin RxD.
3 Mode 2
Mode 2 adalah mode asinkron full duplex dengan sebelas bit paket data yaitu, 1 bitstart, 8 bit data, 1 bit RB8 (atau TB8) dan 1 bit stop. RB8 digunakan untuk menerima bit data ke-9 sedangkan TB8 digunakan untuk menampung bit data ke-9 yang akan dikirimkan. Bit data ke-9 sering disebut juga sebagai Parity (P). mode 2 mendukung pemanfaatan multiprosesor. Baud rate dapat dipilih antara fosc/32 ataufosc/64 tergantung pada pilihan SMOD di register PCON. Jika SMOD=0 maka baud rate adalah fosc/64 dan jika SMOD=1 maka baud rate adalah fosc/32.
4 Mode 3
Mode 3 sama dengan mode 2. Perbedaannya hanyalah terletak pada baud rate.Baud rate pada mode ini daopat diatur melalui timer 1.
Mode 1 dan mode 3 sering digunakan untuk komunikasi RS-232 dengan format berikut :
- Mode 1 : 1 + 8 + 1
- Mode 3 : 1 + 8 + P + 1
Pengaturan baud rate pada mikrokontroler AT89S51 disesuaikan dengan mode yang dipilih.
Rumus baud rate untuk setiap mode komunikasi serial, yaitu :