Saturday, December 22, 2012
Komunikasi Serial Mikrokontroler AT89S51
AT89S51 memiliki komunikasi data serial memiliki parameter yang terdiri dari
register SBUF, Register Serial Port Control (SCON), dan register Power Mode
Control (PCON). Register SBUF untuk menahan data dan merupakan bit dalam
register SFR. Register Serial Port Control (SCON) seperti yang diperlihatkan
Gambar 2.13 berfungsi untuk mengontrol komunikasi data.
Register Power Mode Control (PCON) seperti yang terlihat pada gambar 2.14
berfungsi untuk mengontrol data rate ,dan pin RXD dan TXD yang terhubung pada
rangkaian data serial.
Untuk membentuk komunikasi serial AT89S51, ada beberapa ketentuan yang
harus diperhatikan. Sistem Transmisi Serial
Dalam komunikasi serial AT89S51 terdapat dua jenis transmisi serial.
- Synchronous, yaitu detak (clock) yang dikirim bersama dengan data serial itu sendiri.
- Asynchronous, yaitu detak dibangkitkan oleh masing-masing sistem, baik pengirim maupun penerima
Protokol Serial
Proses komunikasi serial membutuhkan protokol yang disebut dengan protokol serial. Protokol serial terdapat pada komunikasi asynchronous. Format yang dipakai dalam protokol serial adalah 12 bit seperti yang diperlihatkan pada gambar 2.15.
Proses komunikasi serial membutuhkan protokol yang disebut dengan protokol serial. Protokol serial terdapat pada komunikasi asynchronous. Format yang dipakai dalam protokol serial adalah 12 bit seperti yang diperlihatkan pada gambar 2.15.
1. Start bit berfungsi untuk menginisialisasikan rangkaian pewaktu. Hal ini
terdeteksi dengan perubahan bit dari high ke low.
2. bit data diawali Least Significant Bit (LSB) dan diakhiri Most Significant
Bit (MSB).
3. Optional bit parity.
4. Stop bit. Pada stop bit, line menjadi high untuk 1 atau 2 bit yang
menandakan karakter telah habis.
Inisialisai UART
Dalam proses inisialisasi ada beberapa buah register yang perlu ditentukan
nilainya, yaitu TMOD, SCON, dan PCON.
TMOD merupakan register 8 bit yang berfungsi untuk mengatur kerja Timer/Counter. Dengan memanfaatkan bit TMOD.5 dan TMOD.1 (Timer 1) atau dengan TMOD.4 dan TMOD.0 (Timer 0), kita dapat memilih mode operasi pencacah biner yang diinginkan. Dengan bantuan register SCON, kita dapat menentukan besarnya laju baud (baud rate) yang diinginkan dengan memanfaatkan bit SCON.7 dan SCON.6 untuk memilih mode jenis baud rate. Perhitungan baud rate dari tiap mode adalah
TMOD merupakan register 8 bit yang berfungsi untuk mengatur kerja Timer/Counter. Dengan memanfaatkan bit TMOD.5 dan TMOD.1 (Timer 1) atau dengan TMOD.4 dan TMOD.0 (Timer 0), kita dapat memilih mode operasi pencacah biner yang diinginkan. Dengan bantuan register SCON, kita dapat menentukan besarnya laju baud (baud rate) yang diinginkan dengan memanfaatkan bit SCON.7 dan SCON.6 untuk memilih mode jenis baud rate. Perhitungan baud rate dari tiap mode adalah
Proses pengiriman data serial dilakukan
per byte data. Proses tersebut menggunakan bit
yang ada pada register SCON, yaitu
bit TI. Bit TI merupakan petanda yang
setara dengan petanda Transmitter Data Register
Empty (TDRE) yang umum dijumpai pada UART
standar. Data yang dikirim disimpan terlebih
dahulu pada register SBUF. Berikut adalah subrutin pengiriman data serial.
01:SerialOut:
02:JNB TI,$
03:MOV SBUF,A
04:CLR TI
05:RET
02:JNB TI,$
03:MOV SBUF,A
04:CLR TI
05:RET
Baris pertama adalah subrutin dengan nama SerialOut. Baris
kedua menunggu data sebelumnya selesai dikirim. Baris ketiga mangirimkan
data melalui port serial dengan cara meletakkan data yang telah disimpan
di akumulator A ke register SBUF. Setelah itu, nilai TI dinolkan
kembali.
Penerimaan Data
Proses penerimaan data serial dilakukan dengan mengecek bit RI pada register SCON. Bit RI merupakan petanda yang setara dengan petanda Receiver Data Register Full (RDRF). Setelah register SBUF menerima data dari port serial, bit RI akan bernilai 1 dengan sendirinya kemudian harus dinolkan denganprogram agar bisa dipakai untuk memantau keadaan SBUF dalam penerimaan data berikutnya. Berikut adalah subrutin penerimaan data serial.
Proses penerimaan data serial dilakukan dengan mengecek bit RI pada register SCON. Bit RI merupakan petanda yang setara dengan petanda Receiver Data Register Full (RDRF). Setelah register SBUF menerima data dari port serial, bit RI akan bernilai 1 dengan sendirinya kemudian harus dinolkan denganprogram agar bisa dipakai untuk memantau keadaan SBUF dalam penerimaan data berikutnya. Berikut adalah subrutin penerimaan data serial.
01:SerialIn:
02:JNB RI,$
03:MOV A,SBUF
04:CLR RI 05:RET
02:JNB RI,$
03:MOV A,SBUF
04:CLR RI 05:RET
Baris
pertama adalah subrutin dengan nama SerialIn.
Baris kedua menunggu register RI bernilai 1 untuk
memastikan sudah ada data baru yang diterima pada
SBUF. Baris ketiga, SBUF ditempatkan pada akumulator A supaya RI
dapat dipakai untuk memantau keadaan SBUF
pada pengiriman data
berikutnya. Selanjutnya, pada baris empat RI dinolkan.
berikutnya. Selanjutnya, pada baris empat RI dinolkan.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment