Dalam dunia elektronika, komunikasi serial pada mikrokontroler banyak digunakan dalam pengirima dan penerimaan data. Apliakasi dari system ini antaralain pada interfacing serial (melalui COM1, COM2, USB, TCP/IP card), perangkat Telemetri, komunikasi digital melalui pesawat telepon, komunikasi antar intrumen dan masih banyak contoh lainnya. Komunikasi tersebut bisa dilakukan antara :

  • Mikrokontroler dengan mikrokontroler
  • Mikrokontroler dengan komputer
  • Mikrokontroler dengan instrumen yang menyediakan fasilitas komunikasi serial.

 

Dalam komunikasi serial, satu peralatan berfungsi sebagai pengirim dan peralatan pasangannya diset sebagai penerima, setelah selesai melakukan transfer satu data, keduanya dapat berganti fungsinya. Pada sistem komunikasi ini dapat dilakukan cukup satu kabel saja.

Dalam melakukan komunikasi serial, bagian pengirim maupun penerima harus memiliki kesamaan :

  • Baudrate (Kecepatan mengirim data)
  • Format dan panjang data
  • Level tegangan
  • Sinkronisasi (Keserempakan)

 

Misalnya pada komunikasi serial antara mikrokontroler dengan COM1/COM2 komputer menggunakan aturan (protocol) : baudrate sesuai opsi pada komputer (110 bps, 300 bps, 1200 bps, 2400 bps, 9600 bps, 19200 bps, 38400 bps dst) , format data terdiri 1 bit start, paanjang data 8 bit atau 9 bit, dan 1 bit stop, level tegangan RS232 (12 V), dan asinkron (UART). Aturan tersebut harus ditaati mikrokontroler karena pada komputer telah dilakukan standarisari system secara internasional. Jika komunikasi dilakukan antar mikrokontroler, maka dapat dilakukan pengesetan parameter dan pembuatan protocol secara bebas.

Mengeset Variabel Komunikasi Serial MCS-51

Pada mikrokontroler, variable mikrokontroler diset melalui register SCON. Pada register ini terdapat vasilitas untuk membuat protocol sesuai atuaran yang diaberikan diatas. Register tersebut memiliki format ;

SCONx

Keterangan :
SM0 : pemilihan baudrate
SM1 : pemilian baudrate
SM2 : Pemantau kesalahan frame, diset ‘1’.
Ren : Bit pengaktif port serial (P3.0), aktif jika diberi ‘1’.
TB8 : Bit ke-9 jika lebar data yang diterima/dikirim 9 bit.
RB8 : Bit stop pada suatu pengiriman data, agar tidak terjadi kesalahan frame.
TI : Bit Tanda bahwa mikrokontroler telah mengirim data dan TI menjadi ‘1’
RI : Bit Tanda bahwa mikrokontroler telah menerima data dan RI menjadi ‘1’

Berikut ini tabel SM0, SM1 daan SM2 untuk menentukan baudrate :

SCONDari ke empat mode tersebut, mode 1 yang paling banyak digunakan dalam komunukasi serial, krena memiliki felksibilitas yang tinggi. ika digunakan mode 1 maka baudrate ditentukan melalui rumus :

rumus

TH1 merupahan isi timer TH1 yang harus kita tentukan, dan SMOD merupakan bit yang terdapat pada register PCON. Jika tidak set terlebih dahulu maka dianggap 0 dan jika diperlukan pengesetan maka dapat dilakukan dengan pengalamatan bit (tanpa harus mengeset register PCON).

 

Berikut ini ini contoh pengesetan mode komunikasi serial mode 1:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
         SETING: MOV   TMOD,#21H ; untuk menjalankan TH1
 
                 MOV        SCON,#53H ; mode 1
 
                 MOV        TH1,#0E8H ; baudrate 1200 BPS
 
                 SETB       TR1       ; jalankan TH1
 
 
         KIRIM:  JNB        TI,KIRIM  ;menanti pengiriman data sebelumnya selesai
 
                 CLR        TI        ;hapus TI   
 
                 MOV        SBUF,A    ;kirim data ke Tx