 |
|
Mode
0 : data serial masuk dan keluar melalui RXD.
TXD mengeluarkan sinyal clock. 8 bit data dikirim
/ diterima dengan bit LSB (Least Significant Bit)
yang pertama. Baud rate tetap pada 1/12 frekuensi
osilator.
Mode 1 : 10 bit dikirim melalui TXD atau
diterima melalui RXD yang terdiri dari sebuah start
bit (0), 8 bit data (LSB pertama), dan sebuah stop
bit (1). Pada penerimaan, stop bit menuju RB8 pada
SFR SCON. Baud rate variabel.
Mode 2 : 11 bit dikirim melalui TXD atau
diterima melalui RXD, sebuah start bit (0), 8 bit
data (LSB pertama), bit data ke 9 yang terprogram,
dan sebuah stop bit (1). Pada saat pengiriman, bit
data ke 9 (TB8 pada SCON) dapat diberi nilai 0 atau
1. Sebagai contoh bit parity (P pada PSW) dapat
dipindahkan ke TB8. Pada penerimaan, bit data ke
9 masuk ke RB8 pada SCON sedangkan stop bit diabaikan.
Baud rate dapat diprogram 1/32 atau 1/64 frekuensi
osilator.
Mode 3 : 11 bit dikirim melalui TXD atau
diterima melalui RXD, sebuah start bit (0), 8 bit
data (pertama LSB), bit data ke 9 yang terprogram
dan sebuah stop bit (1). Sebenarnya Mode 3 sama
seperti Mode 2, namun baud rate Mode 3 variabel.
Pada semua mode di atas, pengiriman diinisialisasi
dengan instruksi yang menggunakan SBUF sebagai register
tujuan. Penerimaan diinisialisasi pada Mode 0 dengan
kondisi RI = 0 dan REN = 1. Pada mode lain penerimaan
diinisialisasi dengan diterimanya start bit dengan
syarat REN = 1.
|
|
Komunikasi
Multiprosesor
Mode 2 dan 3 mempunyai kemampuan untuk komunikasi multiprosesor.
Pada kedua mode ini, 9 bit data diterima. Bit ke 9 masuk
ke RB8. Kemudian diterima sebuah stop bit. Port serial dapat
diprogram sedemikian rupa sehingga ketika stop bit diterima,
interupt port serial akan aktif hanya bila RB8 = 1. Fasilitas
ini dapat diaktifkan dengan men-set bit SM2 pada SCON. Cara
menggunakan fasilitas ini untuk komunikasi multiprosesor
adalah sebagai berikut : Ketika prosesor master ingin mengirimkan
satu blok data ke beberapa slave, master mengirim byte alamat
terlebih dahulu untuk mengidentifikasi slave yang dituju.
Byte alamat berbeda dari byte data pada bit ke 9 yaitu '1'
untuk byte alamat dan '0' untuk byte data. Dengan SM2 =
1, tidak ada slave yang diinterupsi oleh byte data. Sedangkan
byte alamat akan menginterupsi semua slave, sehingga setiap
slave akan memeriksa byte yang diterima apakah sama dengan
alamatnya. Slave yang dialamati akan me-reset bit SM2-nya
dan bersiap untuk menerima byte data dari master. Sedangkan
slave yang tidak dialamati akan membiarkan bit SM2-nya '1'
dan melanjutkan tugasnya masing-masing tanpa perlu memperhatikan
byte data yang dikirim. SM2 tidak berpengaruh pada Mode
0, sedang pada Mode 1 dapat dipakai untuk memeriksa ke-valid-an
stop bit. Pada penerimaan Mode 1, bila SM2 = 1, interupt
penerima tidak akan diaktifkan kecuali stop bit yang diterima
valid.
Serial Port Control Register
Kontrol dan status port serial terdapat pada SFR SCON ditunjukkan
gambar 10. Register ini berfungsi bit untuk memilih mode
operasi, bit data ke 9 untuk penerimaan dan pengiriman (TB8
dan RB8), serta bit interupt port serial (TI dan RI). Pada
89C51, baud rate untuk Mode 1 dan Mode 3 ditentukan oleh
overflow rate Timer 1. |