Bab V Port Serial
Serial Communication RS232
Bila anda bandingkan cara komunikasi yang dilakukan secara paralel dengan cara komunikasi yang dilakukan secara serial, maka masing-masing akan memiliki keuntungan dan kelebihan yang tersendiri. Komunikasi yang dilakukan secara serial mempunyai keuntungan dari sisi pengkabelan, karena hanya memerlukan tiga buah kabel, TX, RX dan Ground.
Gambar 5.1. Komunikasi serial RS232 mikrokontroler dan Komputer
Port serial pada AT89s51 dapat bekerja dalam 4 mode yaitu:
Mode 0 | Pada mode ini data serial masuk dan keluar melalui RxD. TxD mengeluarkan clock shift. 8 bit data ditransmisikan dan diterima ( LSB first ). Baud rate mempunyai frekuensi tetap pada 1/12 dari frekuensi oscilator. |
Mode 1 | 10 bit ditransmisikan melalui TxD atau diterima melalui RxD: sebuah start bit ('0'), 8 bit data ( LSB first ) dan sebuah stop bit ( '1'). Pada proses penerimaan, stop bit akan diteruma pada RB8 pada spesial function register ( SCON ). Baudrate dapat divariasi. |
Mode 2 | 11 bit ditransmisikan melalui TxD atu diterima melalui RxD: sebuah start bit ('0'), 8 bit data ( LSB first ), sebuah programmable bit data ke 9, dan sebuah stop bit ( '1' ). Pada saat mentransmisikan, bit data ke 9 ( TB8 pada SCON ) dapat ditandai dengan logika '1' atau '0', untuk contoh, bit paritas ( P, pada PSW ) dapat dipindahkan ke TB8. Pada saat penerimaan, bit ke 9 akan diterima pada RB8 in special function register SCON, dan bit stop diabaikan. Baud rate dapat diprogram ke 1/32 atau 1/64 dari frekuensi oscilator. |
Mode 3 | 11 bit ditransmisikan melalui TxD atau diterima melalui RxD: sebuah bit start ('0'), 8 data bit ( LSB first ), sebuah data bit programmable, dan sebuah stop bit('1'). Pada kenyataannya mode 3 adalah sama dengan mode 2 kecuali baudrate dapat divariasi. |
Register SMOD
SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
SM0 | SM1 | Mode | Deskripsi | Baud Rate |
0 | 0 | 0 | Shif Register | fosc/ 12 |
0 | 1 | 1 | 8-bit UART | variabel |
1 | 0 | 2 | 9-bit UART | fosc/64 or fosc/32 |
1 | 1 | 3 | 9-bit UART | variabel |
SM2 | Enable comunikasi multiprosessor pada mode 2 dan 3. Pada mode 2 dan 3 jika SM2 di set '1' maka RI tidak akan diaktifkan jika bit data ke 9 yang diterima adalah '0'. Pada mode 1, jika SM2 = 1 maka RI tidak akan diaktifkan jika sebuah bit stop tidak diterima. Pada mode 0, SM2 harus berlogika '0' |
REN | Enable penerimaan data serial. Diset oleh software untuk enable penerimaan. Clear secara software untuk disable penerimaan. |
TB8 | Bit data ke 9 yang akan ditransmisikan pada mode 2 dan 3. Set dan Clear secara software. |
RB8 | Pada mode 2 dan 3, bit data yang akan diterima. Pada mode 1, yaitu SM2=0, RB8 adalah bit stop yang akan diterima. Pada mode 0 RB8 tidak digunakan |
TI | Transmit flag interupsi. Set oleh hardware pada akhir dari bit ke 8 pada mode 0, atau pada awal dari bit stop in mode yang lain. Pada transmisi serial. Harus di Clear secara software. |
RI | Receive flag interupsi. Set oleh hardware pada akhir dari bit ke 8 pada mode0, atau setengah proses menuju bit stop. |
No comments:
Post a Comment