• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
21
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Mikrokontroler AT89S52

2.1.1 Gambaran umum

Mikrokontroler AT89S52 adalah mikrokomputer CMOS 8 bit yang memiliki 8 KB Programmable and Erasable Read Only Memory (PEROM). Mikrokontroler berteknologi memori non-volatile (tidak kehilangan data bila kehilangan daya listrik). Set instruksi dan kaki keluaran AT89S52 sesuai dengan standar industri 80C51 dan 80C52. Atmel AT89S52 adalah mikrokontroler yang sangat bagus dan fleksibel dengan harga yang relatif murah untuk banyak aplikasi sistem kendali berkerapatan tinggi dari Atmel ini sangat kompatibel dengan mikrokontroler MCS-51 misalnya mikrokontroler AT80S52 yang terkenal dan banyak digunakan dan telah menjadi standar industri baik dalam jumlah pin IC maupun set instruksinya.

Sebagai perbandingan kapasitas memori, tabel 2.1 berikut ini akan menampilkan memori dari mikrokontroler seri AT89XX

(2)

xxi

Tabel 2.1 Kapasitas Memori Mikrokontroler seri AT89XX

(Agfianto Eko Putra, "BELAJAR MIKROKONTROLER AT89C51/52/55", Penerbit Gava Media, Edisi pertama, Yogyakarta, 2002)

Mikrokontroler AT89S52 memiliki fasilitas-fasilitas pendukung yang membuatnya menjadi mikrokontroler yang sangat banyak digunakan dalam berbagai aplikasi. Fasilitas-fasilitas yang dimiliki oleh mikrokontroler AT89S52 adalah :

a. Sesuai dengan produk-produk MCS-51.

b. Terdapat memori flash yang terintegrasi dalam sistem. Dapat ditulis ulang hingga 1000 kali.

c. Beroperasi pada frekuensi 0 sampai 24MHz. d. Tiga tingkat kunci memori program.

e. Memiliki 256 x 8 bit RAM internal.

Type RAM Flash Memory EEPROM

AT89C51/ AT89S51 8 X 128 byte 4 Kbyte Tidak AT89C52/ AT89S52 8 X 256 byte 8 Kbyte Tidak

AT89C55 8 X 256 byte 20 Kbyte Tidak AT89S53 8 X 256 byte 12 Kbyte Tidak AT89S8252 8 X 256 byte 8 Kbyte 2 Kbyte

(3)

f. Terdapat 32 jalur masukan/keluaran terprogram.

g. Tiga pewaktu/pencacah 6-bit (untuk AT89S52) & dua pewaktu/pencacah 16-bit (untuk AT89S51)

h. Memiliki 8 sumber interupsi(untuk AT89S52) & 6 sumber instruksi untuk AT89S51

i. Kanal serial terprogram.

j. Mode daya rendah dan mode daya mati.

2.1.2 Karakteristik mikrokontroler AT89S52

AT89S52 mempunyai memori yang terdiri dari RAM internal dan Special Function Register. RAM internal pada mikrokontroler AT89S52 memiliki ukuran 256 byte dan beralamatkan 00H-7FH serta dapat di akses menggunakan RAM address register. RAM internal terdiri dari delapan buah register (R0-R7) yang membentuk register banks. Special Function Register yang berjumlah 21 buah berada di alamat 80H-FFH. RAM ini berbeda pada lokasi dengan Flash PEROM dengan alamat 000H-780H-FFH.

(4)

xxiii

IC AT89S52 mempunyai pin sebanyak 40 buah yang sesuai dengan mikrokontroler 8031 dan memiliki susunan pin seperti gambar di berikut ini ini :

Gambar 2.1 Konfigurasi pin (kaki) pada mikrokontroler AT89S52

2.1.3 Fungsi Pin-Pin pada mikrokontroler AT89S52

1. Pin 1 sampai pin 8

Pin 1 – 8 adalah port 1 yang merupakan saluran atau bus I/O 8 bit dua arah dengan internal pull-up yang dapat digunakan untuk berbagai keperluan seperti mengendalikan empat input TTL. Port ini juga digunakan sebagai saluran alamat saat pemrograman dan verifikasi

(5)

. 2. Pin 9

Merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroler ini.

3. Pin 10 sampai pin 17

Pin 10 – pin 17 merupakan saluran atau bus I/O 8 bit dua arah dengan internal pull-ups yang memiliki fungsi pengganti. Bila fungsi pengganti tidak dipakai maka dapat digunakan sebagai port paralel 8 bit serbaguna. Selain itu, sebagian port 3 dapat berfungsi sebagai sinyal kontrol saat proses pemrograman dan verifikasi.

4. Pin 18 dan pin 19

Pin-pin ini merupakan jalur masukan ke penguat osilator berpenguat tinggi. Mikrokontroler ini memiliki seluruh rangkaian osilator yang diperlukan pada chip, kecuali rangkaian kristal yang mengendalikan frekuensi osilator. Oleh karena itu, pin 18 dan 19 ini sangat diperlukan untuk dihubungkan dengan kristal. Selain itu XTAL 1 juga dapat digunakan sebagai input untuk inverting osilator amplifier dan input rangkaian internal clock, sedangkan XTAL 2 merupakan output dari inverting oscillator amplifier.

(6)

xxv

5. Pin 20

Pin 20 merupakan ground sumber tegangan dan diberi simbol “gnd”. 6. Pin 21 sampai pin 28

Pin-pin ini adalah port 2 yang merupakan saluran atau bus I/O 8 bit dua arah dengan internal pull-ups. Saat pengambilan data dari program memori eksternal atau selama pengaksesan data memori eksternal yang menggunakan alamat 16 bit (MOVX@DPTR), port 2 berfungsi sebagai saluran /bus alamat tinggi (A8-A15). Akan tetapi, saat mengakses data memori eksternal yang menggunakan alamat 8 bit (MOVX@DPTR), port 2 mengeluarkan isi P2 pada special function register.

7. Pin 29

Pin 29 merupakan program Store Enable (PSEN) merupakan sinyal pengontrol untuk mengakses program memori eksternal agar masuk ke dalam bus selama proses pemberian/pengambilan instruksi (fetching).

8. Pin 30

Pin 30 sebagai Adress Lacth Enable (ALE)/PROG merupakan penahan alamat memori eksternal (pada port 1) selama mengakses ke memori. Pin ini juga berfungsi sebagai pulsa/sinyal input pemograman (PROG) selama proses pemograman.

(7)

Pin 31 adalah External Access Enable (EA) merupakan sinyal kontrol untuk pembacaan memori program. Apabila diset rendah (L) maka mikrokontroler akan melaksanakan seluruh instruksi dari memori program eksternal, sedangkan jika diset tinggi (H) maka mikrokontroler akan melaksanakan seluruh instruksi dari memori program internal ketika isi program counter kurang dari 4096. Port ini juga berfungsi sebagai tegangan pemograman (Vpp=+12V) selama proses pemograman.

10. Pin 32 sampai pin 39

Pin 32-pin 39 adalah port 0 yang merupakan saluran bus I/O 8 bit open collector, dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Saat proses pemograman dan verifikasi, port 0 digunakan sebagai saluran/bus data. Pull-up eksternal diperlukan selama proses verifikasi.

11. Pin 40

Pin 40 merupakan sumber tegangan positif yang diberi simbol Vcc.

2.1.4 Register pada Mikrokontroler AT89S52

Register adalah penampung data sementara yang terletak dalam CPU. Pada mikrokontroler AT89S52, register-registernya adalah sebagai berikut :

(8)

xxvii

a. .Register A ( Accumulator)

Accumulator ialah sebuah register 8 bit yang merupakan pusat dari semua operasi accumulator, termasuk dalam operasi aritmatika dan operasi logika.

b. Register B

Register ini memiliki fungsi yang sama dengan register A.

c. Program counter (PC)

Program counter (Pencacah program) merupakan sebuah register 16 bit yang selalu menunjukkan lokasi memori instruksi yang akan diakses.

d. Data pointer

Data pointer atau DPATR merupakan register 16 bit yang terletak di alamat 82H untuk DPL dan 83H untuk DPH. Biasanya Data pointer digunakan untuk mengakses data atau source kode yang terletak di memori eksternal.

e. Stack Pointer (SP)

Stack Pointer adalah register 8 bit yang mempunyai fungsi khusus sebagai penu njuk alamat atau data paling atas pada operasi penumpukan di RAM. Stack

(9)

Pointer terletak di alamat 81H. Penunjuk penumpukan selalu berkurang dua tiap kali data didorong masuk kedalam lokasi penumpukan dan selalu bertambah dua tiap kali data ditarik keluar dari lokasi penumpukan.

f. Program Status Word

Program Status Word merupakan register yang berisi beberapa bit status yang mencerminkan keadaaan mikrokontroler.

g. Bit Carry Flag (CY)

Bit carry merupakan bit ke 8 yang memiliki dua fungsi :

1. Carry akan menunjukkan apakah operasi penjumlahan mengandung carry (sisa) atau apakah operasi pengurangan mengandung borrow (kurang). Apabila operasi ini mengandung carry, bit ini akan diset agar bernilai satu, sedangkan jika mengandung borrow, bit ini akan di set agar bernilai nol (0).

2. Carry dimanfaatkan sebagai bit ke-8 untuk operasi pergeseran (shift) atau perputaran.

(10)

xxix

Bit ini menunjukkan adanya carry (bawaan) dari bit ketiga menuju bit keempat atau dari empat bit rendah ke empat bit tinggi pada operasi aritmatika. Bit ini jarang digunakan dalam program, tetapi digunakan oleh mikrokontroler secara implisit pada operasi aritmatika bilangan BCD.

i. Bit Flag 0 (F0)

Bit ini menunjukkan apakah hasil operasi bernilai nol atau tidak. Apabila hasil operasi adalah nol (0), bit ini akan diset agar bernilai 1, sedangkan apabila hasil operasinya bukan nol (0) maka bit ini akan di-reset. Bit ini juga digunakan pada perbandingan dua buah data. Jika kedua data bernilai sama maka bit ini akan diset agar bernilai satu, sedangkan jika kedua data itu berbeda maka bit ini akan direset agar bernilai nol (0).

j. Bit Register Select (RS)

RS0 dan RS1 digunakan untuk memilih bank register. Delapan buah register ini merupakan register serbaguna. Lokasinya pada awal 32 byte RAM internal yang memiliki alamat dari 00H sampai 1FH. Register ini dapat diakses melalui simbol assembler (R0,R1,R2,R3,R4,R5,R6 dan R7).

(11)

2.2 PERANGKAT LUNAK

2.2.1 Bahasa Assembly MCS-51

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan orang hanya 10 instruksi. Instruksi –instruksi tersebut antara lain :

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

(12)

xxxi

MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsung

MOV 20h,#80h ...

... MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0).

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

2. Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh ,

(13)

Loop: ... ...

DJNZ R0,Loop ...

R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.

3. Instruksi ACALL

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh : ... ACALL TUNDA ... TUNDA: ... 4. Instruksi RET

(14)

xxxiii

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,

ACALL TUNDA ... TUNDA: ... RET 5. Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh, Loop:

... ... JMP Loop

6. Instruksi JB (Jump if bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh,

(15)

JB P1.0,Loop ...

7. Instruksi JNB (Jump if Not bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh,

Loop:

JNB P1.0,Loop ...

8. Instruksi CJNZ (Compare Jump If Not Equal)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh,

Loop:

...

CJNE R0,#20h,Loop ...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya..

(16)

xxxv

9. Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h ...

DEC R0 R0 = R0 – 1 ...

10. Instruksi INC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h ...

INC R0 R0 = R0 + 1 ...

11. Dan lain sebagainya

2.2.2 Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah ini.

(17)

Gambar 2.2 8051 Editor, Assembler, Simulator (IDE)

Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.

Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroller.

2.2.3 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar di bawah ini

(18)

xxxvii

Gambar 2.3 ISP- Flash Programmer

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroller.

2.3 Photodioda

Pengertian : piranti semikonduktor dengan struktur p-n atau p-i-n untuk mendeteksi cahaya.

Potodioda biasanya digunakan untuk mendeteksi cahaya. Potodioda adalah piranti semikonduktor yang mengandung sambungan p-n, dan biasanya terdapat lapisan intrinsik

(19)

potodioda. Cahaya diserap di daerah pengambungan atau daerah intrinsik menimbulkan pasangan elektron-hole, kebanyakan pasangan tersebut menghasilkan arus yang berasal dari cahaya.

2.3.1 Mode operasi

Potodioda dapat dioperasikan dalam 2 mode yang berbeda:

1. Mode potovoltaik: seperti solar sel, penyerapan pada potodioda menghasilkan tegangan yang dapat diukur. Bagaimanapun, tegangan yang dihasilkan dari tenaga cahaya ini sedikit tidak linier, dan range perubahannya sangat kecil.

2. mode potokonduktivitas : disini, potodioda diaplikasikan sebagai tegangan revers (tegangan balik) dari sebuah dioda (yaitu tegangan pada arah tersebut pada dioda tidak akan menhantarkan tanpa terkena cahaya) dan pengukuran menghasilkan arus poto. ( hal ini juga bagus untuk mengaplikasikan tegangan mendekati nol). Ketergantungan arus poto pada kekuatan cahaya dapat sangat linier .

Karakteristik bahan potodioda:

1. silikon (Si) : arus lemah saat gelap, kecepatan tinggi, sensitivitas yang bagus antara 400 nm sampai 1000 nm ( terbaik antara 800 sampai 900 nm).

2. Germanium (Ge): arus tinggi saat gelap, kecepatan lambat, sensitivitas baik antara 600 nm sampai 1800 nm (terbaik 1400 sampai 1500 nm).

(20)

xxxix

3. Indium Gallium Arsenida (InGaAs): mahal, arus kecil saat gelap, kecepatan tinggi sensitivitas baik pada jarak 800 sampai 1700nm (terbaik antara 1300 sampai 1600nm).

Gambar Photodioda ditunjukkan pada gambar berikut:

Gambar 2.4 Photodioda

2.4 Dioda Pemancar Cahaya Infra Merah (LED infra Merah)

LED adalah dioda yang menghasilkan cahaya saat diberi energi listrik. Dalam bias maju sambungan p-n terdapat rekombinasi antara elektron bebas dan lubang (hole). Energi ini tidak seluruhnya diubah kedalam bentuk energi cahaya atau photon melainkan dalam bentuk panas sebagian.

Proses pemancara cahaya akibat adanya energi listrik yang diberikan terhadap suatu bahan disebut dengan sifat elektroluminesensi. Material lain misalnya Galium Arsenida Pospat (GaAsP) atau Galium Pospat (GaP): photon energi cahaya dipancarkan

(21)

untuk menghasilkan cahaya tampak. Jenis lain dari LED digunakan untuk menghasilkan energi tidak tampak seperti yang dipancarkan oleh pemancar laser atau inframerah.

Gambar 2.5 Simbol dan rangkaian dasar sebuah LED

Pemancar inframerah adalah dioda solid state yang terbuat dari bahan Galium Arsenida (GaAs) yang mampu memancarkan fluks cahaya ketika dioda ini dibias maju. Bila diberi bias maju elektron dari daerah-n akan menutup lubang elektron yang ada didaerah-p. Selama proses rekombinasi ini, energi dipancar keluar dari permukaan p dan n dalam bentuk photon. Photon-photon yang dihasilkan ini ada yang diserap lagi dan ada yang meninggalkan permukaan dalam betuk radiasi energi.

330 VCC

Gambar

Gambar  2.2   8051 Editor, Assembler, Simulator (IDE)
Gambar Photodioda ditunjukkan pada gambar berikut:

Referensi

Dokumen terkait

Keuntungan (kerugian) dari perubahan nilai aset keuangan dalam kelompok tersedia untuk

Tujuan dari penelitian ini adalah (1) untuk mendeskripsikan tentang respon siswa terhadap penerapan metode pembelajaran demonstrasi di kelas VIII SMP Negeri 9 Kota

Sirkuit buffer tegangan menyediakan sarana untuk mengisolasi sinyal input dari beban menggunakan rangkaian yang memiliki amplifieran tegangan satu kali, tanpa

Analisis aliran daya sangat dibutuhkan pada suatu jaringan tenaga listrik transmisi maupun distribusi. Tujuan dari analisis aliran daya antara lain untuk memperoleh

Periksa pengaturan Perangkat lunak printer untuk memastikan Anda telah memilih jenis kertas yang sesuai dan kualitas cetak dari daftar gulung Media.. Periksa perkiraan level

Loop-mediated Isothermal Amplification (LAMP) merupakan metoda amplifikasi DNA dan RNA yang sederhana, cepat, spesifik dan murah dan menggunakan taq polymerase yang

MANAJEMEN LABA DAN RISIKO PASAR TERHADAP COST OF EQUITY CAPITAL (Studi Empiris pada Perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia Periode

1. Tuntutan kompetensi lulusan Sekolah Menengah Pertama dilihat dari soal – soal ujian nasional dua tahun terakhir termuat dalam sejumlah 34 kompetensi dasar dari sejumlah 59