BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
Mikrokontroler 89C51 Bagian II :

MIKROKONTROLER AT89S52

Pendahuluan Mikrokontroler 8051

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

Gambar 1.1. Diagram blok mikrokontroller 8051

4. Port Input/Output Mikrokontroler MCS-51

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

PERTEMUAN MEMORY DAN REGISTER MIKROKONTROLER

Gambar 3.1 Blok Diagram Port Serial RXD (P3.0) D SHIFT REGISTER. Clk. SBUF Receive Buffer Register (read only)

PORT SERIAL MIKROKONTROLER ATMEL AT89C51

I/O dan Struktur Memori

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

PANDUAN DASAR MIKROKONTROLER KELUARGA MCS-51

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

REGISTER-REGISTER Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

BAB 2 TINJAUAN TEORITIS. Sensor TGS 2610 merupakan sensor yang umum digunakan untuk mendeteksi adanya

SISTEM MONITORING SUHU MENGGUNAKAN MIKROKONTROLLER AT89S51 DENGAN TAMPILAN DI PC

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

BAB II TEORI DASAR 2.1 Pendahuluan 2.2 Sensor Clamp Putaran Mesin

Pertemuan 10 Arsitektur Mikrokontroler 8051

Tabel 1. Karakteristik IC TTL dan CMOS

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S52 termasuk kedalam keluarga MCS-51 merupakan suatu. dua macam memori yang sifatnya berbeda yaitu:

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

ORGANISASI MEMORI MIKROKONTROLER MCS-51. Yoyo Somantri dan Erik Haritman Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

Perancangan Serial Stepper

Gambar Komunikasi serial dengan komputer

TIMER DAN COUNTER MIKROKONTROLER ATMEL

AT89S52 8kByte In-System Programmable Mikrokontroler

BAB 2 LANDASAN TEORI. Dalam bab ini penulis akan membahas tentang komponen-komponen yang

Wireless Infrared Printer dengan DST-51 (Komunikasi Infra Merah dengan DST-51)

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

BAB 2 TINJAUAN TEORITIS

BAB II TEORI DASAR. peralatan input / output ( I / O ) pendukung di dalamnya. Suatu sistem mikroprosesor

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

BAB III PERANCANGAN ALAT

Arsitektur Mikrokontroler

BAB 2 TINJAUAN PUSTAKA

BAB II. PENJELASAN MENGENAI System-on-a-Chip (SoC) C8051F Pengenalan Mikrokontroler

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51

BAB I TUGAS MATA KULIAH SISTEM MIKROPROSESOR DOSEN PEMBERI TUGAS : FATAH YASIN, ST, MT.

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

BAB I PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah

Timer Counter. D3 Telekomunikasi.

BAB III PERANCANGAN SISTEM

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

PERTEMUAN TIMER & COUNTER MIKROKONTROLER 89C51

BAB 2 LANDASAN TEORI. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

BAB II LANDASAN TEORI. Definisi PLC menurut National Electrical Manufacturing Association (NEMA)

Mikroprosesor Z80 Suryanto Sutikno

TUGAS MATA KULIAH PENGANTAR MIKROKONTROLER

RANCANG BANGUN PENGAMAN MOBIL BERBASIS MIKROKONTROLER AT89S51 DENGAN APLIKASI TELEPON SELULER SEBAGAI INDIKATOR ALARM

PERTEMUAN PERANGKAT KERAS MIKROKONTROLER

DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR...

I. Pendahuluan. Mikroprosesor CPU. Gambar 1. Perbedaan Mikrokontroler dengan Mikroprosesor

THERMOMETER DIGITAL DENGAN MODUL DST-51, ADC-0809 DAN LCD 2X16

BAB II DASAR TEORI. Laporan Tugas Akhir Controller Aktuator Plant/Process. Gambar 2.1 Sistem Kontrol Closed Loop

Ringkasan Set Instruksi Dan Mode pengalamatan ( Addressing Mode )

BAB 2 TINJAUAN TEORITIS. Mikrokontroller, sebagai suatu terobosan teknologi mikrokontroler dan microkomputer,

SISTEM INTERUPSI MIKROKONTROLER ATMEL

BAB II TEORI DASAR PENUNJANG

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

BAB 3 PERANCANGAN SISTEM

Percobaan 6. SERIAL INTERFACE Menggunakan DT-51 MinSys

Organisasi Sistem Komputer. Port Serial

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 3 PERANCANGAN SISTEM. pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan

MICROCONTROLER AVR AT MEGA 8535

BAB 2 LANDASAN TEORI

BAB III PERANCANGAN SISTEM

BAB V HASIL DAN PEMBAHASAN Perangkat Keras (Hardware)

Beberapa istilah dalam ADC

BAB II LANDASAN TEORI

BAB III KEGIATAN PENELITIAN TERAPAN

Aplikasi Mikrokontroler sebagai Pemroses Depan Pengambilan Data pada Sensor Jamak Berbasis Komputer

RANCANG BANGUN PENGUKUR DAN PENGENDALI SUHU BERBASIS MIKROKONTROLER AT 89S51 DAN SENSOR SUHU LM 35

BAB III TEORI PENUNJANG. Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

BAB 2 LANDASAN TEORI. Agar kendaraan lebih teratur dan tidak terlalu padat, biasanya tempat perparkiran ini dibagi

Mikrokontroler AVR. Hendawan Soebhakti 2009

BAB II TINJAUAN PUSTAKA

BAB III PERANCANGAN SISTEM

BAB II LANDASAN TEORI

Replika Sistem Atap Otomatis Untuk Pelindung Benda Terhadap Hujan Berbasis Mikrokontroler AT89S52

BAB 2 TINJAUAN TEORITIS

BAB II TEORI DASAR 2.1 Suara Ultrasonik 2.2 Mikrokontroler AT89C51

SISTEM KOMPUTER.

CPU tersebut sama-sama menjalankan program dari suatu lokasi atau tempat, biasanya dari ROM (Read Only Memory) atau RAM (Random Access Memory);

APLIKASI MIKROKONTROLER

PEMETAAN RUTE KENDARAAN MENGGUNAKAN PENGENDALI MIKROKONTROLLER

BAB 2 TINJAUAN PUSTAKA

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

BAB II LANDASAN TEORI. ATMega 8535 adalah mikrokontroller kelas AVR (Alf and Vegard s Risc

Memprogram Port sebagai Output dan Input Sederhana

KENDALI LENGAN ROBOT MENGGUNAKAN MIKROKONTROLLER AT89S51

Percobaan 5. TIMER/COUNTER Menggunakan DT-51 MinSys

BAB IV RANCANG BANGUN PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM TELEMETRI BERBASIS GSM

MODE OPERASI TIMER/COUNTER. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

Transkripsi:

BAB II LANDASAN TEORI 2.1 Mikrokontroller AT89C51 Meskipun termasuk tua, keluarga mikrokontroler MCS51 adalah mikrokontroler yang paling populer saat ini. Keluarga ini diawali oleh Intel yang mengenalkan IC mikrokontroler tipe 8051 pada awal tahun 1980-an. Sampai kini sudah ada lebih 100 macam mikrokontroler turunan 8051, sehingga terbentuklah sebuah keluarga besar mikrokontroler dan biasa disebut sebagai MCS51. Belakangan ini, pabrik IC ATMEL ikut menambah anggota keluarga MCS51. Mikrokontroler ATMEL AT89C51 merupakan high performance CMOS mikrokontroler 8 bit yang dilengkapi dengan Programable and Erasable Read Only Memory (PEROM) 4 Kilo Byte. Mikrokontroler ini diproduksi oleh Atmel dengan teknologi high density nonvolatile memory dan kompatibel dengan mikrokontroler standar industri MCS-51 TM baik pin-pin keluarannya (pin out) maupun perintah-perintahnya (instruction set). Gambar 2.1 berikut ini memperlihatkan pin-pin keluaran dari mikrokontroler AT89C51 dan yang masing-masing mempunyai fungsi sebagai berikut : 1. Pin 1 sampai 8 (P1.0-P1.7) merupakan port 1 yang berfungsi sebagai port masukan atau keluaran. Port ini juga berfungsi menerima bit-bit alamat bawah (low order address bits) selama proses pemrograman dan verifikasi PEROM. 2. Pin 9 (RST) digunakan untuk mereset mikrokontroler pada transisi rendah ke tinggi. - 6 -

- 7 - Gambar 2.1. Pin pada Mikrokontroler AT89C51 3. Pin 10 sampai 17 (P3.0-P3.7) merupakan port 3 yang berfungsi sebagai port masukkan atau keluaran. Selama proses pemrograman dan verifikasi PEROM port ini juga mempunyai sinyal-sinyal kontrol. Port ini juga mempunyai fungsi khusus seperti diperlihatkan pada tabel 2.1. Tabel 2.1. Fungsi khusus Port 3 PIN PORT FUNGSI P3.0 RXD (menerima data serial) P3.1 TXD (mengirim data serial) P3.2 INT 0 (interupsi eksternal 0) P3.3 INT 1 (interupsi eksternal 1) P3.4 T0 (input eksternal timer / counter 0) P3.5 T1 (input eksternal timer / counter 1) P3.6 WR (Strobe tulis memory data eksternal) P3.7 RD (Strobe baca memory data eksternal) 4. Pin 18 (XTAL2) berfungsi sebagai keluaran dari kristal 5. Pin 19 (XTAL1) berfungsi sebagai masukan dari kristal atau sinyal dari

- 8 - osilator eksternal ke rangkaian clock internal. 6. Pin 20 (GND) digunakan sebagai grounding atau dihubungkan ke Vss. 7. Pin 21 sampai 28 (P2.0-P2.7) merupakan port 2 berfungsi sebagai port masukan atau keluaran. Port ini juga berfungsi mengeluarkan bit-bit alamat atas (high order address bits) selama pengambilan dari program memori eksternal dan selama pengaksesan ke data memori eksternal yang menggunakan alamat 16 bit. Selama proses pemrograman dan verifikasi PEROM port ini berfungsi menerima bit-bit alamat atas dan sinyal-sinyal kontrol. 8. Pin 29 ( PSEN ) merupakan sinyal keluaran yang mengaktifkan program memori eksternal. 9. Pin 30 (ALE/P) berguna untuk menahan bit-bit alamat bawah selama proses pengaksesan memori eksternal. 10. Pin 31 ( EA /VP) berfungsi untuk memungkinkan pengaksesan memori eksternal. Pin ini diberi logika 0 untuk memungkinkan pengambilan data dari lokasi program memori eksternal memori yang dimulai dari alamat 0000H sampai FFFFH. EA akan terhubung ke reset secara internal. Pin ini juga berfungsi menerima tegangan 12Vpp. 11. Pin 32 sampai 39 (P0.0-P0.7) merupakan port yang dapat berfungsi sebagai port masukkan / keluaran. Port ini juga dapat dikonfigurasikan menjadi bus alamat/data orde rendah. 12. Pin 40 (Vcc) berfungsi menyediakan tegangan untuk menghidupkan mikrokontroler, dihubungkan ke catu daya +5 volt. 2.1.1 Konstruksi Dasar AT89C51 Mikrokontroler AT89C51 adalah mikrokontroler jenis flash PEROM (Programmable and Erasble Memory) yang dilengkapi dengan : 1. Central Processing Unit (CPU)

- 9-2. Memori data (Random Access Memory / RAM) di dalam chip 128 byte. PEROM di dalam chip 4 Kbyte yang dapat diisi ulang sebanyak 1000 kali. 3. Pengendali interupsi (interupt control) 4. Bus kendali (bus control) 5. UART (Universal Asynchronous Receiver / Transmitter) yang digunakan untuk komunikasi data secara serial (jalur untuk komunikasi data serial pada RXD dan TXD). 6. Rangkaian osilator di dalam chip dengan frekuensi maksimum 24 MHz. 7. Empat buah port yang masing-masing lebarnya 8 bit, sifatnya dua arah (bidirectional) dan setiap bitnya dapat dialamati. Salah satu portnya yaitu port 3 juga dapat berfungsi untuk komunikasi data secara serial, interupsi dan masukan untuk pencacah, sinyal baca dan tulis. 8. Pewaktu (timer) / pencacah (counter) 16 bit sebanyak dua buah. Gambar 2.2 berikut memperlihatkan arsitektur dari mikrokontroler AT89C51.

- 10 - Gambar 2.2. Arsitektur Mikrokontroler AT89C51 2.1.2. Memori Program dan Memori Data 2.1.2.1. Memori Program Setelah reset, CPU segera mengerjakan program mulai dari lokasi 0000H. Alamat-alamat paling bawah dari memori program dapat berada dalam Flash on-chip maupun memori eksternal. Hal ini dapat dilakukan dengan pengkabelan pada pin EA ke Vcc (Akses internal) atau GND (akses eksternal) sesuai dengan

- 11 - kebutuhan. Jika EA dihubungkan ke Vcc, pengambilan (fetching) instruksi pada lokasi 0000H hingga 0FFFH untuk memori internal. Sedangkan pengambilan instruksi untuk memori eksternal pada lokasi 1000H hingga FFFFH. Gambar 2.3. menunjukkan memori program AT89C51. FFFFH EKSTERNAL EA = 0 EKSTERNAL EA = 1 INTERNAL 0000 PSEN Gambar 2.3. Struktur memori program AT89C51. jika EA dihubungkan ke ground, maka semua pengambilan instruksi langsung dilakukan pada memori eksternal. Tanda baca ke memori eksternal, PSEN digunakan untuk semua pengambilan program eksternal. Sedangkan pengaksesan instruksi pada memori internal tidak melibatkan PSEN. Eksekusi program eksternal mengorbankan dua port 8 bit (P0 dan P2), karena kedua port tersebut menjadi berfungsi sebagai jalur pengalamatan dan/atau pengiriman instruksi dari memori eksternal.

- 12-2.1.2.2. Memori Data Memori data eksternal dapat ditentukan hingga 64K byte. Alamat data eksternal bisa 1 atau 2 byte. Alamat satu byte sering digunakan untuk membantu satu atau lebih jalur I/O dalam penghalaman RAM. Alamat dua byte dapat dipakai dalam kasus jika byte alamat tinggi dikirim melalui port 2. Memori data internal pada AT89C51 dibagi menjadi dua bagian yaitu: 1) Memori alamat 00H sampai 7FH merupakan memori seperti layaknya RAM yang dipakai sebagai memori penyimpanan data biasa, terdiri dari : a) Register Serba Guna (General Purpose Register) terdapat memori beralamat 00H sampai 1FH. Memori sebanyak 32 byte ini dikelompokkan menjadi empat kelompok register (Register Bank), 8 byte memori dari masing-masing kelompok itu dikenal sebagai Register 0, Register 1...Register 7 (R0, R1, R2, R3, R4, R5, R6 dan R7). b) Memori level bit (memori alamat 20H sampai 2FH). Setiap byte memori di daerah ini bisa dipakai menampung 8 bit informasi yang masing-masing bisa teralamati-per-bit (bit addressable) tersendiri, dengan demikian dari 16 byte memori yang ada bisa dipakai untuk menyimpan 128 bit (16 x 8 bit) yang bisa teralamati-per-bit (bit addressable) dengan bit alamat 00H sampai 7FH. c) Memori alamat 30H sampai 7FH (sebanyak 60 byte) merupakan memori data biasa, dapat dipakai untuk menyimpan data maupun dipakai sebagai stack. 2) Sedangkan memori alamat 80H sampai FFH dipakai sangat khusus yang dinamakan sebagai Special Function Register (SFR). Pada AT89C51 terdapat register-register baku seperti yang dijumpai pada semua jenis mikrokontroler /mikroprosessor (Program

- 13 - Counter, Akumulator, Stack Pointer Register, Program Status Register), juga terdapat register-register khas yang hanya terdapat pada keluarga MCS51. Gambar 2.4. memperlihatkan memori data internal mikrokontroler AT89C51. Gambar 2.4. Memori data internal mikrokontroler AT89C51 2.1.3. Timer pada AT89C51 Mikrokontroler AT89C51 hadir dengan dua timer, keduanya bisa dikontrol, diset, dibaca dan dikonfigurasikan sendiri-sendiri. yang setiap fungsinya identik. Timer pertama disebut dengan Timer 0 dan Timer kedua disebut dengan Timer 1, kedua Timer saling berbagi 2 macam SFR, yaitu TMOD dan TCON, yang mengontrol Timer, dan masing-masing Timer memiliki 2 macam SFR yang spesifik yaitu TH0/TL0 untuk Timer 0 dan

- 14 - TH1/TL1 untuk Timer 1. Tabel 2.2 memperlihatkan register-register fungsi khusus yang memiliki Timer/Counter. Tabel 2.2. Register-register fungsi khusus Timer/Counter. Nama SFR Keterangan Alamat TH0 Byte order tinggi Timer 0 8CH TL0 Byte order rendah Timer 0 8AH TH1 Byte order tinggi Timer 1 8DH TL1 Byte order rendah Timer 0 8BH TCON Timer Control 88H TMOD Timer Mode 89H Pengontrolan kerja Timer/Counter adalah register Timer Control (TCON), adapun definisi bit-bit pada register ini diberikan pada tabel 2.3. Sedangkan pemilihan mode operasi Timer/Counter adalah register Timer Mode (TMOD) yang definisi bit-bitnya diberikan pada tabel 2.4. Kombinasi M0 dan M1 menentukan Mode operasi Timer/Counter, hal ini dapat dilihat pada tabel 2.5. Tabel 2.3. Definisi bit-bit register Timer Control (TCON) Simbol Posisi Fungsi TF1 TCON.7 Timer 1 overflow flag TR1 TCON.6 Bit untuk menjalankan Timer 1 (1 Timer on / 0 Timer off) TF0 TCON.5 Timer 0 overflow flag TR0 TCON.4 Bit untuk menjalankan Timer 0 (1 Timer on / 0 Timer off) IE1 TCON.3 Interupsi 1 edge flag eksternal IT1 TCON.2 Tipe interupsi 1 bit kendali IE0 TCON.1 Interupsi 0 edge flag eksternal IT0 TCON.0 Tipe interupsi 0 bit kendali

- 15 - Tabel 2.4. Definisi bit-bit pada register Timer Mode (TMOD) Simbol Posisi Fungsi GATE TMOD.7 Jika bit ini diset, Timer hanya akan bekerja jika INT 1 (P3.3) berlogika 1, jika bit ini dinolkan, Timer hanya bekerja jika TR1 = 1 C/T TMOD.6 Pemilihan fungsi Timer/Counter, jika diset 1 maka Timer 1 berfungsi sebagai Counter dan jika diset 0 berfungsi sebagai Timer M1 TMOD.5 Bit pemilihan Mode Timer 1 M0 TMOD.4 Bit pemilihan Mode Timer 1 GATE TMOD.3 Jika bit ini diset, Timer hanya akan bekerja jika INT 0 (P3.2) berlogika 1, jika bit ini dinolkan, Timer hanya bekerja jika TR0 = 1 C/T TMOD.2 Pemilihan fungsi Timer/Counter, jika diset 1 maka Timer 0 berfungsi sebagai Counter dan jika diset 0 berfungsi sebagai Timer M1 TMOD.1 Bit pemilihan Mode Timer 0 M0 TMOD.0 Bit pemilihan Mode Timer 0 Tabel 2.5. Kombinasi Mode operasi Timer/Counter M1 M0 Mode Operasi 0 0 0 Timer 13 bit 0 1 1 Timer/Counter 16 bit 1 0 2 Timer auto reload 8 bit (pengisian otomatis) 1 1 3 TL 0 = Timer/Counter 8 bit yang dikendalikan oleh bit kendali Timer 0 TL 0 = Timer/Counter 8 bit yang dikendalikan oleh bit kendali Timer 1

- 16-2.1.4. Port Serial pada AT89C51 2.1.4.1. Antarmuka serial Port serial pada AT89C51 bersifat full-duplex, artinya port serial bisa menerima dan mengirim secara bersamaan. Selain itu juga memiliki penyangga penerima, artinya port serial mulai bisa menerima byte yang kedua sebelum byte yang pertama dibaca oleh register penerima (jika sampai byte kedua selesai diterima sedangkan byte pertama belum juga dibaca, maka salah satu byte akan hilang). Penerimaan dan pengiriman data port serial melalui register SBUF. Penulisan ke SBUF berarti mengisi register pengiriman SBUF sedangkan pembacaan dari SBUF berarti membaca register penerimaan SBUF yang memang terpisah secara fisik (secara perangkat lunak namanya menjadi satu yaitu SBUF). Port serial pada AT89C51 bisa digunakan untuk 4 mode kerja yang berbeda yaitu mode 0, mode 1, mode 2 dan mode 3. Pada pembuatan alat ini digunakan mode 1 maka laporan ini hanya menjelaskan tentang mode 1. Pada mode 1 data dikirim melalui P3.1 (TxD) dan diterima melalui kaki P3.0 (RxD), secara asinkron. Pada mode 1 data dikirim /diterima 10 bit sekaligus, di awali dengan bit start, disusul dengan 8 bit data yang dimulai dari bit yang bobotnya paling kecil (bit 0), diakhiri dengan 1 bit stop. Pada AT89C51 yang berfungsi sebagai penerima bit stop adalah RB8 dalam register SCON. Kecepatan data (baud rate) bisa diatur sesuai dengan keperluan. 2.1.4.2. Register kontrol port serial Register kontrol dan status untuk port serial berada dalam SCON. Register ini mengandung bit-bit pemilihan mode kerja port serial, bit data ke-9 pengiriman dan penerimaan serta bit-bit interupsi port serial. Bit-bit SCON ini didefinisikan pada tabel 2.6 di bawah ini.

- 17 - Tabel 2.6. Definisi bit-bit pada register SCON Simbol Posisi Fungsi SM0 SCON.7 Pemilihan mode port serial. SM1 SCON.6 Pemilihan mode port serial. SM2 SCON.5 Membuat enable komunikasi multiprosesor dalam mode 2 dan 3. REN SCON.4 Set/clear oleh perangkat lunak untuk menjalankan /melumpuhkan penerimaan. TB8 SCON.3 Bit ke-9 yang akan dikirim dalam mode 2 dan 3. Set/clear secara software. RB8 SCON.2 Dalam mode 2 dan 3 adalah bit data ke-9 yang diterima. Dalam mode 1 jika SM2 = 0, RB8 merupakan bit stop yang diterima. Dalam mode 0 RB8 tidak digunakan. TI SCON.1 Transmit interupt flag. Di-set oleh perangkat keras pada akhir waktu bit ke-8 dalam mode 0, atau pada permulaan dari bit stop dalam mode lainnya. Di clear secara software. RI SCON.0 Receive interupt flag. Di-set oleh perangkat keras pada akhir waktu bit ke-8 dalam mode 0 Bit SM0 dan SM1 dipakai untuk pemilihan mode kerja port serial. Setelah reset kedua bit ini bernilai 0 dan penentuan mode kerja port serial mengikuti tabel 2.7. Tabel 2.7. Penentuan mode kerja port serial SM0 SM1 MODE KETERANGAN BAUD RATE 0 0 0 Shift Register Frek. Osc / 12 0 1 1 UART 8-bit Variabel (dengan Timer) 1 0 2 UART 9-bit Frek. Osc /64 atau Frek. Osc / 32 1 1 3 UART 9-bit Variabel (dengan Timer)

- 18 - Device Tipe Memori Internal ROM EPROM RAM PEROM TIMER 16 BIT 8031AH NMOS 128 2 8051AH NMOS 4K 128 2 80C31BH CMOS 128 2 80C51BH CMOS 4K 128 2 87C51 CMOS 4K 128 2 89C51 CMOS 128 4K 2 Tabel 2.8. Perbandingan mikrokontroller keluarga MCS-51 2.1.5 Istilah Pada Instruksi Keluarga MCS-51 2.1.5.1 Program Status Word Program Status Word (PSW), lihat gambar 2.5, berisi Carry bit, Auxiliary Carry (untuk BCD), dua register bank, Overflow Flag, Parity bit, dan dua user-definable status Flag. CY AC F0 RS1 RS0 0V P PSW7 PSW0 PSW6 PSW1 PSW5 PSW2 PSW4 PSW3 Gambar 2.5. PSW (Program Status Word) Register Keterangan: PSW 7 : Carry Flag (CY) PSW 6 : Auxiliary Carry Flag (AC) PSW 5 : Flag 0 (F0) dapat digunakan oleh user sebagai general purpose flag PSW 4 : Register Bank selector bit 1 (RS1) PSW 3 : Register Bank selector bit 0 (RS0)

- 19 - PSW 2 : Overflow Flag (OV) PSW 1 : User definable flag ( ) PSW 0 : Parity Flag (P), merupakan bit even-parity dari Akumulator. Jika banyaknya angka 1 dalam Akumulator ganjil, maka P akan di-set menjadi 1, sebaliknya P akan di-clear menjadi 0. RS0 dan RS1 digunakan untuk memilih register bank yang aktif. 2.1.5.2 Addressing Mode Addressing modes yang digunakan pada instruksi MCS-51 adalah: a. Direct Addressing Alamat 8-bit yang menunjukkan lokasi RAM internal (0-127) atau SFR (128-255). b. Indirect Addressing Indirect addressing dapat berisi alamat 8-bit yang terdiri dari Stack Pointer (SP) atau R0 atau R1 dari register bank yang sedang aktif, dan berisi alamat 16-bit yang terdiri dari 16-bit data pointer register (DPTR). Dalam penggunaannya, indirect addressing haruslah diisi dengan alamat data yang dimaksud. Contoh: MOV R0,#40h MOV 40h,0Fh MOV A,@R0 Instruksi diatas akan menyebabkan register R0 berisi 40h, RAM internal alamat 40h akan berisi data 0Fh dan Akumulator akan berisi 0Fh. c. Register Instructions Instruksi ini akan mengeksekusi register R0-R7 dari register bank yang sedang aktif. Contoh: MOV A,R7 Setelah instruksi ini dieksekusi maka Akumulator akan berisi register R7.

- 20 - d. Register-Specific Instructions Ada beberapa instruksi yang langsung menuju pada register tertentu. Sebagai contoh, beberapa instruksi selalu mengeksekusi Akumulator, jadi tidak ada address byte yang dibutuhkan untuk mengeksekusi instruksi tersebut. Contoh: DEC A CPL A e. Immediate Constants Nilai konstan yang digunakan dalam instruksi MCS-51. Nilai konstan ini dapat dalam bentuk desimal, heksadesimal maupun biner. Contoh: MOV A,#100 akan menyebabkan Akumulator berisi bilangan 100 desimal atau bila dinyatakan dalam heksadesimal akan berisi 64h. f. Indexed Addressing Program memori hanya dapat diakses oleh indexed addressing. Addressing mode ini dimaksudkan untuk membaca look-up table yang ada di program memori. Indexed addressing ini dipakai pada instruksi JMP @A+DPTR. 2.1.5.3 Daftar Istilah Pada Instruksi Keluarga MCS-51 Ada beberapa istilah yang sering digunakan pada instruksi MCS- 51. (lihat tabel 2.9). Tabel 2.9 Daftar Istilah Instruksi Keluarga MCS-51 Rn Register R7-R0 dari Register Bank yang sedang aktif. Alamat 8-bit yang menunjukkan lokasi RAM internal Direct (0-127) atau SFR (128-255). @R0 atau @R1; digunakan untuk register-indirect addressing terhadap data dalam RAM internal. @Ri Sebelum melakukan registerindirect addressing ini, R0 atau R1 harus diisi dengan alamat data yang dimaksud.

- 21 - #data #data16 addr16 addr11 rel bit Konstanta 8-bit konstanta 16-bit alamat 16-bit yang digunakan oleh LCALL dan LJMP. Alamat ini bisa berada dalam jangkauan 64 Kbyte (0000h FFFFh). Alamat 11-bit yang digunakan oleh ACALL dan AJMP. Alamat ini harus berada dalam blok 2 Kbyte yang sama dengan perintah berikutnya yang mengikuti ACALL / AJMP tersebut. offset (pergeseran) 8-bit dalam bentuk bilangan bertanda (two s complement). Digunakan oleh SJMP dan semua conditional jump (JNB, JBC, JC, dsb). Jangkauan alamat ini 128 s/d +127 dari perintah berikutnya yang mengikuti SJMP atau conditional jump tersebut. Menunjukkan alamat bit dalam RAM internal / SFR yang bersifat bit-addressable. 2.2 Sensor Suhu ( LM 35 ) Sensor temperatur LM35 ini merupakan sensor yang presisi, mudah untuk dikalibrasi, dan merupakan Integrated Circuit Temperature Sensor dimana output yang dihasilkan dari sensor ini sudah merupakan tegangan yang dapat langsung dihubungkan ke ADC ataupun lainnya untuk mendapatkan nilai yang kita inginkan. Prinsip bekerjanya hanya berdasarkan output yang dihasilkan oleh dua buah terminal dari Zener.

- 22 - Gambar 2.6. Bagian dalam dari LM35 Sensor ini memiliki tegangan breakdown yang sama dengan temperatur absolut pada 10mV/ K. Dengan kurang dari 1Ω Impedansi Dynamicnya alat ini bekerja dengan range 400 µa sampa 5 ma. Sensor ini bekerja antara -40 C sampai 100 C dan cukup murah serta banyak kita dapatkan di pasaran. Dalam pemakaiannya sensor temperatur LM35 diletakkan dalam ruangan untuk dapat langsung berinteraksi dengan kondisi suhu pada ruangan yang akan dikontrol. Setiap perubahan suhu ruangan yang terjadi akan dideteksi secara langsung oleh LM35 yang akan menyampaikan kondisi tersebut pada Analog to Digital Converter (ADC) dan selanjutnya ADC akan mengolah data yang didapatkan dari LM35 untuk menampilkan perubahan dalam setiap derajat celciusnya. Sensor suhu seri LM35 ini terdiri atas 4 penguat operasi yang masingmasing berdiri sendiri, mempunyai penguatan tinggi dan secara intern terkompensasi terhadap frekuensi. Ini dirancang untuk dioperasikan dari pencatu daya tunggal dalam range tegangan yang lebar. Pemakaian arus yang kecil tidaklah bergantung pada besar tegangan catu daya, penerapannya meliputi sensor (tranduser), blok-blok penguatan DC dan rangkaian Op-Amp konvensional yang kini dapat dengan mudah dilengkapi pada sistem-sistem yang menerapkan pencatu daya tunggal. 2.3 Analog to Digital Converter ( ADC ) Pengubah data dari analog ke digital merupakan salah satu alat yang berguna untuk mengkonversi data analog (berupa tegangan) ke dalam bentuk data digital yaitu data biner. Konsep dasar dari komponen ini terbagi atas dua buah proses yaitu Pencacahan dan pengkodean. Pencacahan merupakan sebuah proses untuk mentransformasikan sinyal analog ke dalam satu set kondisi output

- 23 - diskrit. Pengkodean merupakan sebuah proses untuk menentukan suatu kalimat kode digital menjadi beberapa kondisi-kondisi output. Fungsi transfer nonlinear yang terlihat pada gambar 2.7 ialah suatu pencacah ideal dengan 8 buah kondisi output; dengan kalimat-kalimat kondisi output yang telah ditentukan, biasa juga disebut sebagai A/D Konverter 3 bit. 8 buah kondisi output ditentukan oleh urutan dari kode biner 000 sampai 111. Dengan masukan analognya 0 sampai 10V. 111 110 101 100 011 010 001 000 1.25 2.50 10.0 V Gambar 2.7. Fungsi transfer dari A/D konverter 3 bit Di dalam suatu komponen ADC, resolusi merupakan hal yang paling menentukan untuk mendapatkan data yang paling akurat. Resolusi dari ADC ditentukan oleh jumlah bit output yang dikeluarkan oleh ADC tersebut. Sebagai contoh untuk ADC 3 bit, seperti gambar diatas dengan ADC 8 bit memiliki resolusi yang berbeda. Jika ADC memiliki resolusi sebesar 1/2 n, maka ADC 3 bit memiliki akurasi 1/8 atau 0,125% dari skala maksimum bila skala maksimumnya 5 Volt maka resolusinya sebesar 6,25 mv untuk tiap kenaikan 1 angka desimal. Pada ADC 8 bit mempunyai tingkat resolusi sebesar 1/256 atau 0,0039% dari skala maksimum. Jadi bila skala maksimumnya 5 Volt maka resolusinya sebesar 0,19 mv. Dengan kata lain kode biner 00000000 (0 desimal) akan bernilai 0V, kode 00000001 menjadi 0,19 mv, 00000010 menjadi 0,39 mv dan seterusnya hingga 11111111 menjadi +5 Volt. Perhatikan contoh Tabel konversi untuk ADC 8 bit dengan tegangan referensinya +5 V.

- 24 - Tabel 2.13. Konversi ADC 8 Bit Konversi ADC 8 bit Bit Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Volts 2.5 1.25 0.625 0.3125 0.156 0.078 0.039 0.0195 Output Value 0 0 1 0 1 1 0 0 Dengan menjumlahkan tegangan yang pada tiap kode yang memiliki nilai 1 dalam 00101100, maka kita akan mendapatkan : 0.625 + 0.156 + 0.078 = 0.859 Volts Jadi tegangan yang wakilkan oleh kode biner tadi adalah 0.859 Volt. ADC juga membutuhkan waktu yang cukup cepat untuk melakukan proses pencacahan dan pengkodean ini. Waktu yang dibutuhkan untuk melakukan proses ini tergantung atas beberapa faktor diantaranya resolusi dari konverter, teknik konversi dan kecepatan dari komponen-komponen yang bekerja didalam konverter tersebut. Kecepatan konversi yang dibutuhkan untuk aplikasi tertentu tergantung dari variasi waktu dari sinyal yang akan di konversi dan akurasi yang diinginkan. ADC terdiri dari bermacam-macam jenis kecepatan, Interface yang berbeda, dan juga berbagai macam derajat akurasi. Jenis-jenis ADC yang paling umum digunakan diantaranya : 2.3.1. Flash ADC Jenis ini merupakan jenis yang paling cepat saat ini. Flash ADC menggunakan banyak komparator, satu untuk setiap step tegangan, dan juga sederetan resistor. ADC 4 bit akan memiliki 16 buah komparator, dan ADC 8 bit akan memiliki 256 komparator. Seluruh output dari komparator akan terhubung ke sebuah blok logika yang nantinya akan menentukan mana komparator yang low dan mana yang high. Kecepatan konversi dari Flash ADC ini merupakan penjumlahan dari delay tiap-tiap komparator dan delay dari blok logika yang ada (umumnya waktu delay dari Blok logika ini dapat diabaikan). Flash

- 25 - ADC ini memang sangat cepat akan tetapi jenis ini banyak membutuhkan IC yang sangat bagus dalam jumlah yang sangat besar. Juga, karena jumlah jumlah komparator yang digunakan, maka akan cenderung untuk memonopoli daya, menarik arus secara signifikan. Flash ADC 10 bit akan mungkin membutuhkan arus sampai setengah ampere. Variasi lain dari konverter Flash ini adalah half-flash, yang menggunakan Digital-to-Analog Converter (DAC) dan proses pengurangan untuk mengurangi jumlah komparator yang ada didalam. Konverter Half-flash memang lebih lambat dari Konverter Flash yang sebenarnya tetapi lebih cepat dari ADC jenis lain. Jenis ini tetap dimasukan kedalam kategori konverter flash. Gambar 2.8. Rangkaian dalam dari Flash ADC 2.3.2. Converter Successive Approximation Jenis ini menggunakan komparator dan logika pencacahan untuk menghasilkan konversi yang diinginkan. Langkah pertama dalam konversi ini adalah untuk melihat jika masukan lebih besar dari setengah tegangan referensi. Jika benar, maka nilai MSB (most significant bit) dari keluarannya menjadi 1 (SET). Nilai ini

- 26 - kemudian dikurangi nilai masukan, dan hasilnya akan di cek selama seperempat dari tegangan referensi. Proses ini akan berlangsung terus hingga semua bit keluarannya telah menjadi 1 semua atau 0 semua. Jenis ini banyak memakan clock cycle yang dikarenakan bit-bit yang dikeluarkan untuk melakukan konversi. D/A CONVERTER Reference Circuit Successive Approximation Register Clock Output Data Gambar 2.9. Rangkaian Converter Successive Approximation. 2.3.3. Sigma-delta/Dual Slope Jenis ini menggunakan DAC 1-bit, filterisasi, dan oversampling untuk memperoleh konversi yang sangat akurat. Akurasi dari proses konversi ini dikontrol oleh referensi masukan dan juga masukan clock rata-rata. Keuntungan utama dari konverter ini yaitu memilik resolusi yang tinggi. Pada dua jenis konverter yang sebelumnya banyak menggunakan resistor. Permasalahannya adalah akurasi dari resistor-resistor tersebut akan langsung mempengaruhi akurasi dari hasil konversi. Sedangkan konverter

- 27 - sigma-delta ini tidak menggunakan rangkaian resistor tetapi mengumpulkan jumlah sampel yang ada ke dalam suatu hasil. Kekurangan dari konverter ini adalah kecepatannya. Karena konverter bekerja dengan menggunakan pengambilan kembali data masukan (oversampling), maka konversi akan menggunakan banyak clock cycle. Input Reference Circuit Control Logic and Counter Clock Output Data Gambar 2.10. Rangkaian konverter sigma-delta Digambar 2.11 ditunjukan batasan-batasan dari resolusi yang dimiliki oleh sigma-delta, successive approximation, dan converter flash.

- 28 - Gambar 2.11. Perbandingan antar konverter Dari perbandingan diatas maka kita dapat menentukan pilihan yang terbaik untuk digunakan di alat yang ingin dibuat. Dan jelas, jika ingin memilih ADC dengan kecepatan tinggi maka akan dipilih flash ADC, tetapi jika kita lebih memilih resolusi yang tinggi maka lebih baik untuk memilih Sigma-Delta. Pada umumnya Successive Approximation ADC merupakan pilihan yang paling banyak digunakan karena kecepatannya yang cukup dan resolusi yang juga cukup baik.