PRAKTIKUM TEKNIK ANTARMUKA KOMPUTER
KOMUNIKASI KOMUNIKASI SERIAL (receiver) II MIRZA ALVIAN ALVIAN N 3 D4 ELEKTRO INDUSTRI A 1310141003 FARID DWI ! MARET 01"
PRAKTIKUM I INTERFA#E MIKROKONTROLER DAN KOMPUTER SE#ARA SERIAL (Receiver) I$
a. b. c. d.
II$
TU%UAN Memahami komunikasi serial. Memahami cara mengggunakan interrupt serial pada mikrokontroller 8051. Memahami cara kerja transfer data lewat komunikasi serial RS! . Mampu membuat serta mengembangkan program bagi transfer data antar mikrokontroller 8051 dengan "ersonal #omputer $
DASAR TEORI $%omunikasi serial adalah komunikasi &ang mengantarkan data digital secara bit per bit secara bergantian melalui media interface serial'( contoh) modem( mouse dll "engiriman data melalui interface serial dapat dilakukan secara bit per bit *setiap satu step waktu+ 1 bit, atau juga dalam satuan baud dimana 1 baud tidak mesti senilai dengan 1 bit per second( tergantung besaran data untuk setiap kali clock transfer.
Ker&'i K*+&i,i Pr.e. "enggunaan kabel &ang lebih pendek( sebab keterbatasan proses transfer Membutuhkan ban&ak kabel penghantar K*e,&ei /er2 K*+&i,i Seri. inggin&a tingkat keamanan terhadap gangguan karena a&unan tegangan *dengan jangkauan ma. 50 /olt, + dapat direalisasikan dengan kabel &ang lebih panjang. Membutuhkan sedikit kabel penghantar *misalkan dg kabel) ( R dan round, Membutuhkan pen&esuaian protokol komunikasi data untuk sinkronisasi antara pengirim dan penerima.
tinggin&a Sehingga tiga utas terutama
Pere i/r K*+&i,i Seri. "erbedaan data rate *jumlah data per waktu, umlah dan jenis penghantar *min. 1 kabel koaial, "enggunaan protokol komunikasi K*+&i,i Acr*e 2 RS -3 (+i$ 1 i+*. 5 1 6/e)
ambar diatas memperlihatkan bentuk gelombang komunikasi serial dengan format 7N1( &aitu 8-bit data, tanpa parity, 1 stop bit .
Pada keadaan idle atau menganggur (idle), jalur RS-232 ditandai dengan mark state atau Logika HIGH. Pengiriman data diawali dengan start bit yang berlogika 0 atau LOW, berikutnya data dikirimkan bit demi bit mulai dari LSB (Least Signi!ant Bit) atau bit ke-". Pengiriman setia# byte diak$iri dengan stop bit yang berlogika 8I98. ambar ini memperlihatkan kondisi LOW setelah stop bit ( ini adalah start bit &ang menandakan data berikutn&a akan dikirimkan. ika tidak ada lagi data &ang ingin dikirim( maka jalur transmisi ini akan dibiarkan dalam keadaan 8I98. 2da &ang disebut 3 Break Signal 4 ( &aitu keadaan LOW &ang laman&a cukup untuk mengirimkan 8-bit data. ika pengirim men&ebabkan jalur komunikasi dalam keadaan seperti ini( penerima akan menganggap ini adalah 3break signal4 atau sin&al rusak. ata &ang dikirimkan dengan cara seperti pada gambar diatas disebut / ' /eri',i (/* e :r+e) oleh start dan stop bit . ika stop bit dalam keadaan 67( berarti telah terjadi framing error. 9iasan&a hal ini terjadi karena perbedaan kecepatan komunikasi antara pengirim dengan penerima.
UART 2 70;1 . UART) %ni&ersal 'syn!$ronous Re!ei&er ransmitter :ungsi ;2R membangun komunikasi aliran data digital secara serial dalam frame &ang ditetapkan. :rame ini terdiri dari S/r/ 6i/ ( 5 sntel 8051( &ang mela&ani pengiriman dan penerimaan data dengan bantuan register S6UF. engan adan&a ;2R( programer han&a butuh membaca data dari register S9;: tanpa harus susah pa&ah mengatur pengiriman data bit demi bit dengan baudrate tertentu. Baudrate * besaran ke!e#atan komunikasi data untuk setia# kali ste# (!lok) #engiriman. Satuannya adala$ baud atau symbol+se!ond Sebelum komunikasi berlangsung( harus dilakukan dulu inisialisasi register-register tertentu pada S:R &ang terkait dengan komunikasi serial termasuk penentuan baudrate. Saat proses pengiriman maupun penerimaan data sedang berlangsung( kosong dan penuhn&a S9;: akan diberitakan melalui bit indikator TI dan RI. "emantauan TI dan RI dapat dilakukan dengan atau tanpa melibatkan sistem interupsi.
1$ Se//i' M*e K*+&i,i Seri.
Sebelum komunikasi dilakukan( programer harus melakukan settingan register) S#7? + apabila komunikasi &ang dilakukan secara sinkron S#7? serta M7 *utk settingan imer Mode,( @1( dan SM7 *salah satu bit register "#7?, A apabila komunikasi dilakukan secara as&nchrone Ii Re'i/er S#ON 9it ?ama 2ddres Bplanation of :unction kebit s C SM0 =: Serial port mode bit 0 D SM1 =B Serial port mode bit 1. 5 SM = Multiprocessor #ommunications Bnable E RB? =# ReceiFer Bnable. ! 98 =9 ransmit bit 8. he =th bit to transmit in mode and !. R98 =2 ReceiFe bit 8. he =th bit receiFed in mode and !. 1 > == ransmit :lag. Set when a b&te has been completel& transmitted. 0 R> =8 ReceiFe :lag. Set when a b&te has been completel& receiFed. Sebagai tambahann&a( tabel diatas berisi mode komunikasi serial &ang sesuai dengan keadaan bit-bit SM0 dan SM1. M*e ,*+&i,i eri. err, i/ 2 SM0 SM1 SM SM Serial Bplanation 9aud Rate 0 1 Mode 0 0 0 8-bit Shift 7scillator < 1 Register 0 1 1 8-bit ;2R erkait dengan imer 1 1 0 =-bit ;2R 7scillator < ! or < DE 1 1 ! =-bit ;2R erkait dengan imer 1 9it ke-C sampai bit ke-E pada S#7? merupakan bit konGgurasi. Seperti tampak pada abel 10.( setting bit SM0 dan bit SM1 memungkinkan kita memilih 1 dari E mode komunikasi. Mode 0 berarti komunikasi asinkron dengan kecepatan transfer 1<1 kali frekuensi osilator. ika kita menggunakan osilator 1 M@H( berarti kecepatan transfern&a 1 Mbaud. Mode 1 adalah mode &ang palign sering dipilih. "ada mode ini( komunikasi dilakukan secara asinkron dengan baudrate ditentukan berdasarkan setting pada imer 1. ika mode 1 ini dipilih( imer 1 harus diset pada mode 8-bit autoreload. "engisian register @1 dan bit SM7 pada register "#7? menentukan baudrate &ang akan berlaku pada komunikasi serial tipe ini.
Mode dan ! adalah mode komunikasi serial dengan bingkai atau frame berukuran =-bit. %arena 1-b&te data han&a terdiri dari 8-bit( bit kesembilan diambil dari bit 98 atau R98 pada register S#7?. 9it 98 adalah bit &ang ditambahkan ketika dilakukan transmit atau pengiriman data( sedangkan bit R98 ditambahkan ketika prosesor sedanga menerima atau receiFe data. 9it SM han&a digunakan untuk komunikasi multiprosesor. 9iasan&a( jika prosesor sedang berperan sebagai penerima data( saat S9;: penuh( bit R> akan berubah menjadi @>@. etapi jika SM diset @>@( maka perubahan R> menjadi @>@ ini bergantung pada bit ke-= &ang diterima( jika bit ke-= ini @>@( maka R> juga ikut menjadi @>@. Meskipun S9;: telah penuh( jika bit ke-= 67( maka bit indikator R> tidak akan berubah menjadi @>@. @al seperti ini berguna pada aplikasi tertentu &ang melibatkan beberapa prosesor untuk berkomunikasi antar mereka. engan kata lain setting SM bisa membuat prosesor bersangkutan menjadi tuli( tidak menghiraukan datangn&a data pada S9;: karena memang data tersebut bukan untukn&a tetapi untuk prosesor lainn&a &ang ada pada jalur komunikasi serial &ang sama. 9it RB? atau ReceiFe Bnable diset jika kita ingin komunikasi berlangsung arah( prosesor juga dapat menerima data selain dapat mengirim data melalui saluran serial. ika bit ini diset 67( maka prosesor menjadi tuli( sama sekali tidak dapat menerima data. Bmpat bit 6S9 pada register S#7? merupakan bit-bit operasional. 9it 98 dan bit R98 terkait dengan komunikasi serial mode dan ! seperti telah dijelaskan sebelumn&a. Sedangkan bit R> dan > merupakan bit indikator &ang men&atakan S9;: telah dalam keadaan penuh atau kosong. ika prosesor mengirim data( data tsb cukup diletakkan di register S9;:( pengiriman bit demi bit dilakukan oleh internal ;S2R. Saat S9;: kosong karena semua bit telah dikirimkan ke saluran serial ( maka bit indikator > *transmit interrupt, akan berubah menjadi @>@. Sedangkan bit indikator R> bekerja sebalikn&a. %etika prosesor sedang menerima data bit demi bit dari saluran serial R( bit indikator R> *receiFe interrupt, akan berubah menjadi @>@ saat S9;: telah dipenuhi 8-bit data. "erlu dicatat bahwa sebenarn&a bit > diset @>@ pada pertengahan pengiriman stop bit( sedangkan bit R> diset pada pertengahan penerimaan stop bit. ;ntuk komunikasi dengan standard RS-E85 programmer tidak boleh melakukan disable saluran komunikasi terlalu cepat( ia harus menunggu paling tidak selama setengah periode stop bit setelah R> atau > berubah menjadi @>@( jika tidak( maka akan terjadi transmission error. $ Se//i' &/&, +ee/&, 6&r/e
Seperti tampak pada tabel sebelumn&a penentuan kondisi bit SM0 dan SM1 berakibat pada pilihan 1 dari E mode komunikasi serial. Mode 0 dan menggunakan baudrate &ang han&a bergantung pada frekuensi
osilator. "ada mode 0( han&a satu macam baudrate &ang diiIinkan( 1 12
&aitu frekuensi kristal. ika kita menggunaka kristal 11.05= MhI( baudrate untuk mode 0 adalah =1D00 baud. ;ntuk mode ( 1
1
32
64
disediakan pilihan baudrate( &aitu atau kali frekuensi kristal( bergantung pada kondisi bit SM7 pada register "#7?. ika SM7 1 32
diset @>@( maka baudrate sama dengan kali frekuensi kristal. ika frekuensi kristal 11.05= MhI dan SM7 diset 67( maka baudrate untuk mode adalah 1C800 baud. ;ntuk mode 1 dan !( penentuan baudrate harus melibatkan imer 1. imer 1 harus digunakan dengan mode 8-bit autoreload dan pengisian @1 harus disesuaikan dengan baudrate &ang diinginkan. Rumus untuk menentukan isi @1 terkait dengan budrate &ang diinginkan adalah sebagai berikut.
TH 1
TH 1
=
=
256
256
−
−
f XTAL 384. BAUD
( jika bit SM7 pada register "#7? diset 67.
f XTAL 192. BAUD
( jika bit SM7 J @>@. Misaln&a( jika kita menggunakan kristal 11.05= MhI( untuk memperoleh baudrate 1=00 baud( @1 harus diisi dengan angka berikut ini( @1 J 5D - **f < !8E, < 9aud, @1 J 5D - **1105=00 < !8E, < 1=00, @1 J 5D - **8(C==, < 1=00, @1 J 5D - 1.5 J 5E.5 etapi karena @1 harus diisi dengan bilangan integer( maka kita harus memilih pembulatan dari 5E.5 menjadi 5E atau 55. ika kita pilih @1 J 5E( maka baudrate &ang akan kita peroleh adalah 1EE00 baud( sedangkan jika kita pilih @1 J 55( maka baudraten&a menjadi 8800 baud. entu saja ini men&ulitkan kita. ;ntuk mengatasin&a( kita dapat memanfaatkan bit SM7 pada register "#7?. ika SM7 diset @>@( maka perhitungan @1 menjadi seperti berikut ini( @1 J 5D - **f < 1=, < 9aud, @1 J 5D - **1105=00 < 1=, < 1=00, @1 J 5D - **5CD==, < 1=00, @1 J 5D - ! J 5! %arena &ang diperoleh adalah bilangan integer( &aitu 5!( maka baudrate &ang kita peroleh akan sama dengan 1=00 baud. Secara ringkas( untuk memperoleh baudrate 1=00 baud( kita harus melakukan langkah-langkah berikut ini( . Pili$ komunikasi serial mode atau 3. 2. Pili$ mode 2 atau -bit autoreload untuk imer .
3. si register / dengan bilangan 203. 1. Set bit S4 #ada register P56 menjadi /7/.
3$ Me'iri+ Meeri+ D/ +e..&i .&r Seri.
Secara ringkas( pengiriman data cukup dilakukan dengan mengisi register S9;: dengan data &ang akan dikirimkan( b&te selanjutn&a dikirim ketika bit > berubah menjadi @>@. Sedangkan penerimaan ada cukup dilakukan dengan mengambil data dari S9;: setelah bit R> menjadi @>@. 9erikut ini adalah contoh potongan program tanpa interupsi untuk mengirimkan 8-b&te data dari R2M mulai alamat !0@ melalui saluran serial dengan kecepatan transfer 1=00 baud. :rekuensi kristal &ang digunakan harus 11.05= M@I.
Jika kita ingin mengambil 8-byte data dari saluran serial RxD kemudian meletakkannya di RAM mulai alamat 30H, maka potongan programnya sebagai berikut,
KM751 SB 7R !0@ 9uLer) 6oop)
S S
10 1
pesan tempat 10-b&te pada R2M mulai !0@ sebagai counter pengulangan
#SB 7R 0@ 6M" S2R 7R !0@ S2R) M7/ S#7?(N010100009 M7/ M7(N001000019 M7/ "#7?(N100000009 M7/ @1(N5! M7/ 61(N5! SB9 R1 M7/ R1(NbuLer M7/ 6oop(N8 ;lang) ?9 R>(K M7/ OR1(S9;: #6R R> >?# R1 ?H 6oop(ulang
cop& data dari S9;: ke R2M internal
;$ Me'&&', 2i T
;ntuk melakukan komunikasi serial dengan standar RS-!( harus dilakukan pen&esuaian leFel sin&al dari leFel 6 menjadi leFel RS-! menggunakan ># tertentu( misaln&a S C5 atau M2P!. ambar 5.1. di bawah ini merupakan contoh penggunaan ># M2P! untuk men&esuaikan tegangan dari prosesor dengan tegangan standar RS! &ang melalui konektor 9=. "in dari prosesor dihubungkan dengan pin 1>? pada M2P!( sedangkan pin R dari prosesor dihubungkan dengan pin R17; pada M2P!.
Keterangan · Pin 1 = Data Carrier Detect (DCD) · Pin 2 = Received Data (RxD) · Pin 3 = Transmitted Data (TxD) · Pin 4 = Data Termina Read! (DTR) · Pin 5 = "i#na $r%&nd (c%mm%n) · Pin 6 = Data "et Read! (D"R) · Pin ' = Re&est T% "end (RT") · Pin 8 = Cear T% "end (CT") · Pin 9 = Rin# ndicat%r (R)
ambar 5.1. #ontoh penggunaan ># pengubah leFel sin&al. ambar 5.. memperlihatkan contoh sambungan prosesor 28=#051 dengan konektor 9=. %arena prosesor terhubung juga dengan driFer stepper motor( maka dapat dibuat program untuk memungkinkan pengendalian stepper tersebut melalui saluran serial. >nformasi dapat berasal dari "# maupun alat lainn&a seperti handphone.
ambar 5.. #ontoh sambungan antara 9= dengan prosesor 28=#051. Me/*e Si,r*ii
"roblem utama komunikasi serial adalah metode sinkronisasi( &akni #engendalian !lo!k #engirim dan #enerima. %edua clok se$arusnya berada pada frekuensi &ang sama( agar penerima dapat mengambil data tepat pada waktun&a. ujuan sinkronisasi adalah menghindari keterlambatan dan kesalahan pengambilan data sehingga perlu dilakukan pen&esuaian clok penerima dengan clok pengirim.
K*+&i,i Si,r* itandai dg) 5lok #enerima disetting $anya #ada awal komunikasi !lok #engirim. erdapat dua bentuk realisasi) 1. Men&ediakan ! penghantar * untuk data &ang dikirim( data &ang diterima dan eternal clok,. engan bantuan penghantar clok( penerima dapat mengendalikan proses pengambilan data *sam#ling data,. . >nterface serial terdiri han&a satu penghantar atau pasangan penghantar( dimana diawal paket data dikirimkan bit #reamble sebagai bit sinkronisasi. #lok penerima akan mengalami settingan selama bit #reamble berjalan. K*+&i,i Acr*e (Ti, Si,r*) itandai dg) 4imana sinkronisasi !lok #engirim dan #enerima terjadi #ada awal dari setia# simbol data yang dikirim.
Realisasin&a) sebelum bits data terdapat satu atau dua /r/i/. Starbit ini menentukan kapan penerima mengambil data( dan ini berjalan dalam sebagian dari periode clok. %omunikasi 2s&nchrone mengirimkan data secara simbol per simbol( dimana disini ditandai a!knowledge untuk setiap pen&elesaian masing-masing simbol. :ormat ata %omunikasi 2s&nchrone tidak standard( berFariasi tergantung pada) . 7ena# atau ganjilnya parity (#arity menandakan gena# atau ganjilnya jumla$ dari bit 89 ) 2. Satu atau dua stopbits
I/er&2i 70;1 "ada Metode nteru#t ( kapan saja deFice butuh la&anan( maka #"; akan sedapat mungkin untuk segera mela&ani( deFice akan memberitahukan pada #"; dengan mengirim sin&al interupsi. Setelah sin&al interupsi ini diterima( #"; akan berhenti mengerjakan tugasn&a dan segera mela&ani deFice tadi. "rogram *instruksi-instruksi, dimana &ang berisi la&anan interupsi( disebut dengan nteru#t Ser&i!e Routine * >SR ,atau juga nteru#t /andler . Sedang pada #olling( #"; secara terus menerus akan memonitor status &ang diberikan oleh deFice-deFice( saat kondisi tertentu di mana nampak deFice membutuhkan la&anan( maka #"; akan mulai mengerjakan la&anann&a. Setelah #"; selasai dengan la&anan( maka #"; akan kembali mengerjakan pekerjaan semula &aitu memmonitor deFice selanjutn&a sampai ketemu deFice &ang meminta la&anan. I/er&2/ Service R*&/ie Setiap interupsi( selalu memiliki nteru#t Ser&i!e Routine *>SR,( atau disebut juga >nterupt @andler. Qaitu rutin-rutin &ang khusus dijalankan sebagai la&anan dari sebuah interupsi. Saat interupsi terjadi( #"; akan mulai menjalankan rutin >SR ini. Setiap >nterupsi selalu memiliki lokasi tetap dalam memor& program &ang disebut nteru#t :e!tor able( seperti ditampilkan pada gambar 11-1.
6angkah-langkah Mengeksekusi >nterupsi Setelah adan&a aktifasi interupsi( 8051 akan mengerjakan tugas seperti langkah-langkah di bawah ini. 1. 9egitu adan&a sin&al interupsi( #"; mulai merespon. ?amun jika saat itu #"; sedang dalam proses menjalankan instruksi( tentu #"; harus men&elesaikan instruksi tersebut( sehingga tidak ada instruksi apapun &ang terhenti di tengah-tengah. 9aru kemudian #"; memulai proses menanggapi interupsi dengan men&impan "# pada stack( agar nantin&a proses benar-benar kembali ke alamat ini. "rosesn&a serupa dengan #266. . #"; juga men&impan secara internal akan status dari semua interupsi.
!. %emudian program #ounter akan melompat pada alamat &ang sudah ditetapkan( &ang disebut >nterupt /ector able( di mana >SR berada. E. Setelah mendapatkan alamat tersebut( #"; mulai mengeksekusi alamat &ang sudah ditetapkan tersebut. Qang berarti >SR dimulai dari alamat ini. Setiap kode-kode-n&a dieksekusi sampai ditemukann&a perintah $RB>$( &ang berarti akhir dari la&anan interupsi. 5. Setelah mengeksekusi perintah $RB>'( mikrokontrolller kembali ke alamat &ang ditinggalkan tadi sesaat sebelum interupsi. Qaitu dengan cara mengambil kembali simpanan alamat &ang tadi diletakkan di S2#%( dengan mem-"7" dua kali dan dimasukkan ke "#. Sekarang "# sudah berisi alamat &ang tadi ditinggalkan. "rosesn&a mirip dengan RB. @arap dicatat( isi dari S2#% adalah sangat penting bagi hal ke 5. Sehingga kita harus hati-hati untuk memodiGkasi S2#%. Qaitu hati-hati dalam penggunaan #266 serta jumlah "7" dan ";S@ &ang harus sama dalam sebuah >SR. Bnam >nterupsi dalam 8051 Sebenarn&a ada 5 interupsi &ang bisa kita gunakan pada 8051. ?amun beberapa datasheet men&ebutkan dengan D interupsi. >tu karena datasheet memasukkan reset sebagai interupsi. 2dapun ke-enam interupsi ini dialokasikan sebagai berikut. 1. RBSB. Saat pin reset diaktifkan( "# menjadi 0000h *2wal program,. Semua isi register dihapus menjadi 00h. Semua port menjadi ::h. Sehingga dengan reset ini( #"; benar-benar memulai dari awal. *sebagaimana &ang dibahas pada 929 E, . ua interupt lainn&a adalah imer. Salah satun&a adalah imer-0 dan satun&a lagi adalah imer-1. 6okasi memor& pada >nterupt /ector able dari imer ini masing-masing adalah 0009h dan 0019h. !. ua >nterupt lainn&a lagi adalah eksternal $ardware interu#t . "in 1 *"!., dan pin 1! *"!.!, pada port ! digunakan sebagai >nterupsi @ardware Bkternal masing-masing >?0 dan >?1. 6okasi memor& untuk kedua interupsi ini adalah 000!h dan 001!h. E. %omunikasi serial juga memiliki satu >nterupsi &ang digunakan oleh kedua mode transfer data( baik itu pengiriman *melibatkan >, dan penerimaan *melibatkan R>,. 6okasi dari >SR interupsi ini adalah 00!h. @arap dilihat pada tabel 11.1 bahwa ada batasan jumlah b&te diantara tiap-tiap interupt Fektor able. Misaln&a untuk >?-0( interupt hardware eksternal 0( total han&a memiliki 8-b&te mulai dari 000!h 0002h. @al &ang sama juga ada pada alamat-alamat &ang lain. 9agaimana kalau tern&ata besar >SR lebih dari 8-b&te. 7leh karena itu buatlah >SR
ditempat lain &ang aman. an berikanlah instruksi $2jmp' atau 6mp' pada >nterupt /ektr able tersebut( sehingga #"; dapat menunjuk pada >SR &ang lokasin&a lebih jauh dan aman. ari tabel 11-1( pada ken&ataann&a han&a ada ! b&te &ang disediakan untuk RBSB. Qaitu alamat 0000( 0001 dan 000. Sedang 000! sudah menjadi milik >?0. engan alasan ini pembuat program selalu menggunakan alamat tersebut untuk diisi instruksi 6M" atau 2M" sebagai instruksi pertama. Sehingga progam dapat melompati >nterupt /ector able. api jika kita memang tidak menggunakan interupsi apapun( tentu saja alamat pada >nterupt /ector able dapat digunakan secara bebas.
Me'i&2, +e+/i, i/er&2/
Setelah reset( semua interupsi dalam keadaan mati *disabled < masked,( &ang berarti #"; tidak akan merespon interupsi apapun. >nterupsi harus dihidupkan melalui software agar mikrokontroller bisa meresponn&a. 2da sebuah register &ang dinamakan >B *>nterupt Bnable, &ang bertugas untuk menghidupkan dan mematikan masing-masing interupsi. ambar 11- menunjukkan register >B ini. >ngat >B adalah register &ang juga bisa dialamati 9it.
ari gambar 11- kita dapat melihat C dari register tersebut adalah B2 *Bnable 2ll,. %ita harus men-set bit ini menjadi 1s agar bit-bit &ang lain dalam register ini berpengaruh. D tidak digunakan( sedang 5 han&a digunakan pada 805. E adalah milik interupt serial( dan demikian seterusn&a. Misaln&a jika kita hendak mengaktifkan interupsi imer-0( maka kita harus men-set 1. >nterupsi masih belum bisa dikatakan aktif( sebelum kita juga men-set C. Sebalikn&a jika C clear atau rendah. Maka semua bit interupsi &ang lain dianggap tidak aktif. 6ho jadi apa kegunaan 9it B2 ini 2da kalan&a kita menginginkan sebuah rutin( dimana rutin tersebut tidak boleh diganggu oleh interupsi apapun( cukup han&a dengan satu instruksi $#6R >B.C' atau $#6R B2$. Setelah rutin selesai kita bisa mengembalikan pada keadaan semua( juga han&a dengan satu instruksi $SB9 >B.C' atau $SB9 B2$. #ara tersebut jauh lebih eGsien dari pada kita harus memeriksa semua bit interupsi &ang aktif. 6angkah-langkah menghidupkan >nterupsi ;ntuk menghidupkan interupsi kita harus ikuti langkah-langkah ini. 1. 9it C dari register >B( &aitu B2 harus di-set menjadi 1s. 2gar bit-bit &ang lain bekerja.
. Setelah B2 J 1( maka setiap bit pada >B &ang bersangkutan akan membuat interupsi bekerja. ?amun jika B2 J 0( tidak akan ada interupsi walaupun bit-bit interupsi &ang lain dalam keadaaan tinggi *1s,. III$ 1. . !. E. IV.
ALAT DAN 6A8AN %omputer < laptop Modul 2RM %abel konektor 2daptor
PROSEDUR PERCOBAAN 1. *&+a s%,t-are "T32 C&/e 2. Tam0ian a-a "T32 C&/e
3. Pii e- Pr%ect +em&dian 0ii C "T324'7$ 4. Pii "RT !an# a+an di#&na+an (isa "RT1 m%de s!ncr%n%&s) dan tent&+an RCC :"; Cr!sta
5. t&r C%c+ C%n,i#&rati%n se0erti 0ada tam0ian di/a-a
6. t&r *a&d Rate< %rd >en#t< Parit!< dan "t%0 *its 0ada "RT1 C%n,i#&rati%n
'. Peri+sa 0en#at&ran diatas. *ia sem&a s&da ses&ai< sim0an ,ie
8. *ia taa0an diatas tea dia+&+an< ma+a 0r%#ram a+an $enerate C%de< !an# sean&tn!a a+an diai+an +e 0r%#ram ?ei &7isi%n 5 &nt&+ 0emr%#raman C.