• Tidak ada hasil yang ditemukan

KUNCI ELEKTRIS SEBAGAI PENGAMAN PINTU RUMAH TINGGAL DENGAN MENGGUNAKAN MIKROKONTROLLER AT89S52

N/A
N/A
Protected

Academic year: 2021

Membagikan "KUNCI ELEKTRIS SEBAGAI PENGAMAN PINTU RUMAH TINGGAL DENGAN MENGGUNAKAN MIKROKONTROLLER AT89S52"

Copied!
35
0
0

Teks penuh

(1)

KUNCI ELEKTRIS SEBAGAI PENGAMAN PINTU RUMAH TINGGAL

DENGAN MENGGUNAKAN MIKROKONTROLLER AT89S52

Endah Mulya Gustina Rahmat

Jurusan Teknik Elektro, Fakultas Teknologi Industri, Universitas Gunadarma, Margonda Raya 100 Depok 16424 telp (021) 78881112, 7863788

Abstraksi : Selama ini yang biasa dipakai oleh masyarakat sebagai pengaman pintu rumah tinggal adalah sebuah kunci besi. Kunci besi ini memiliki berbagai kelemahan salah satunya yaitu mudah dirusak Oleh karena itulah penulis membuat sebuah kunci elektris sebagai pengaman pintu rumah tinggal dengan menggunakan mikrokontroller AT89S52. Cara kerja dari alat ini adalah dengan memasukkan kartu yang telah didisain sedemikian rupa pada rangkaian pendeteksi data yang terdiri dari 8 buah optocoupler. Apabila kartu yang dimasukkan adalah kartu yang tepat, maka relay akan aktif dan display seven segment akan menampilkan kata hello . Namun apabila kartu yang dimasukkan bukan kartu yang tepat, maka display akan menampilkan kata salah . Sampai mengalami kesalahan sebanyak tiga kali maka alarm berbunyi dan alat tidak dapat mengakses kartu lagi. Pada kondisi ini, alat hanya akan dapat direset dengan kartu lain yang dipergunakan sebagai kartu reset. Bersamaan dengan diresetnya alat ini, display akan menampilkan kata reset .

Tanggal Pembuatan : 07 Maret 2005 1. PENDAHULUAN

Sebagai pengaman pintu rumah tinggal biasanya hanya dipergunakan sebuah kunci besi. Hal ini sangat lazim dipergunakan oleh masyarakat sampai sekarang. Namun pengaman dengan kunci besi ini mempunyai beberapa kelemahan, salah satunya yaitu sangat mudah dirusak. Terkadang hanya dengan menggunakan sepotong kawat saja, pengaman pintu dengan kunci besi ini dapat dengan mudahnya dibuka. Hal ini mengakibatkan pengaman pintu dengan menggunakan kunci besi ini kurang begitu aman. Oleh karena kelemahan-kelemahan dari sebuah kunci besi dan kemajuan teknologi maka dibuat suatu kunci elektris sebagai pengaman pintu rumah tinggal dengan m,enggunakan mikrokontroller AT89S52. Kunci elektris ini dibuat dari sebuah kartu yang dirancang sedemikian rupa sehingga dapat membuka pintu rumah tinggal dan dapat menguncinya secara otomatis. Penggunaan dari kartu bekas ini membuat kunci elektris mudah dibuat, perawatannya murah dan sangat praktis untuk digunakan.

Selain itu, kunci elektris sebagai pengaman pintu rumah tinggal ini dilengkapi juga dengan display dan alarm. Display berfungsi untuk menampilkan aplikasi kata-kata sehingga apabila kartu yang dimasukkan adalah kartu yang tepat maka display akan menampilkan kata hello namun apabila kartu yang dimasukkan adalah bukan kartu yang tepat maka display akan menampilkan kata salah.

Ketika kartu yang dimasukkan mengalami kesalahan selama tiga kali maka alarm akan berbunyi dan kartu tidak dapat diakses kembali sampai kartu reset dimasukkan. Hal inilah yang menyebabkan pengaman pintu rumah tinggal dengan menggunakan kunci elektris ini lebih aman dibandingkan dengan menggunakan kunci besi.

Penggunaan mikrokontroller AT89S52 sebagai pengontrol keseluruhan dari system kerja alat ini, membuat rangkaian kunci elektris sebagai pengaman pintu rumah tinggal dengan menggunakan mikrokontroller AT89S52 ini lebih sederhana dan fleksibel. Sederhana dalam arti, tidak membutuhkan banyak komponen dalam rangkaiannya. Fleksibel dalam arti, system kerja dari alat ini dapat dengan mudahnya dirubah hanya dengan merubah program sesuai dengan yang diinginkan.

Harapan penulis membuat alat ini adalah dapat dibuatnya sebuah pengaman pintu rumah tinggal yang praktis akan tetapi keamanannya tetap terjaga.

Sebagai pengaman pintu rumah tinggal biasanya hanya dipergunakan sebuah kunci besi. Hal ini sangat lazim dipergunakan oleh masyarakat sampai sekarang. Namun pengaman dengan kunci besi ini mempunyai beberapa kelemahan, salah satunya yaitu sangat mudah dirusak. Terkadang hanya dengan menggunakan sepotong kawat saja, pengaman pintu dengan kunci besi ini dapat dengan mudahnya dibuka.

(2)

Hal ini mengakibatkan pengaman pintu dengan menggunakan kunci besi ini kurang begitu aman. Oleh karena kelemahan-kelemahan dari sebuah kunci besi dan kemajuan teknologi maka dibuat suatu kunci elektris sebagai pengaman pintu rumah tinggal dengan m,enggunakan mikrokontroller AT89S52. Kunci elektris ini dibuat dari sebuah kartu yang dirancang sedemikian rupa sehingga dapat membuka pintu rumah tinggal dan dapat menguncinya secara otomatis. Penggunaan dari kartu bekas ini membuat kunci elektris mudah dibuat, perawatannya murah dan sangat praktis untuk digunakan.

Selain itu, kunci elektris sebagai pengaman pintu rumah tinggal ini dilengkapi juga dengan display dan alarm. Display berfungsi untuk menampilkan aplikasi kata-kata sehingga apabila kartu yang dimasukkan adalah kartu yang tepat maka display akan menampilkan kata hello namun apabila kartu yang dimasukkan adalah bukan kartu yang tepat maka display akan menampilkan kata salah. Ketika kartu yang dimasukkan mengalami kesalahan selama tiga kali maka alarm akan berbunyi dan kartu tidak dapat diakses kembali sampai kartu reset dimasukkan. Hal inilah yang menyebabkan pengaman pintu rumah tinggal dengan menggunakan kunci elektris ini lebih aman dibandingkan dengan menggunakan kunci besi.

Penggunaan mikrokontroller AT89S52 sebagai pengontrol keseluruhan dari system kerja alat ini, membuat rangkaian kunci elektris sebagai pengaman pintu rumah tinggal dengan menggunakan mikrokontroller AT89S52 ini lebih sederhana dan fleksibel. Sederhana dalam arti, tidak membutuhkan banyak komponen dalam rangkaiannya. Fleksibel dalam arti, system kerja dari alat ini dapat dengan mudahnya dirubah hanya dengan merubah program sesuai dengan yang diinginkan.

Harapan penulis membuat alat ini adalah dapat dibuatnya sebuah pengaman pintu rumah tinggal yang praktis akan tetapi keamanannya tetap terjaga.

2. LANDASAN TEORI 2.1. Mikrokontroler

komputer hadir dalam kehidupan manusia baru 50 tahun terakhir,namun efeknya sangat besar dalam kehidupan manusia, bahkan mselebihi penemuan manusia lainnya seperti radio, telepon. , automobil, dan televisi. Begitu banyak aplikasi memanfaatkan komputer, terutama dalam pemanfaatan kemampuan chip

mikroprosesor di dalamnya yang dapat melakukan komputasi sangat cepat, dapat bekerja sendiri dengan deprogram, dan dengan dilengkapi memori untuk menyimpan begitu banyak data.

Seiring dengan perkembangan zaman, semakin luaslah kebutuhan akan kemampuan seperti yang dimiliki oleh computer, sehingga menyebabkan munculnya terobosan-terobosan baru yang salah satunya adalah dibuatnya chip mikrokontroler. Mikrokontroler adalah single

chip computer yang memiliki kemampuan untuk

deprogram dan digunakan untuk tugas-tugas yang berorientasi control. Mikrokontroler datang dengan dua alasan utama, yang pertama adalah kebutuhan pasar (market need) dan yang kedua adalah perkembangan teknologi baru. Yang dimaksud dengan kebutuhan pasar adalah kebutuhan yang luas dari produk-produk elektronik akan perangkat pintar sebagai pengontrol dan pemproses data. Sedangkan yang dimaksud dengan perkembangan teknologi baru adalah perkembangan teknologi semikonduktor yang memungkinkan pembuatan chip dengan kemampuan komputasi yang sangat cepat, bentuk yang semakin mungil, dan harga yang semakin murah.

2.1.1. Perbedaan Mikrokontroler dengan Mikroprosesor

Terdapat perbedaan yang signifikan antara mikrokontroler dan mikroprosesor. Perbedaan yang utama antara keduanya dapat dilihat dari dua factor utama yaitu arsitektur perangkat keras (hardware architecture) dan aplikasi masing-masing.

Ditinjau dari segi arsitekturnya, mikroprosesor hanya merupakan single

chip CPU, sedangkan mikrokontroler

dalam IC-nya selain CPU juga terdapat device lain yang memungkinkan mikrokontroler berfungsi sebagai suatu

single chip computer. Dalam sebuah IC

mikrokontroler telah terdapat ROM, RAM, EPROM, serial interface dan parallel interface, timer, interrupt controller, converter analog ke digital, dan lainnya (tergantung feature yang melangkapi mikrokontroler tersebut). Sedangkan dari segi aplikasinya, mikroprosesor hanya berfungsi sebagai

Central Processing Unit yang menjadi

otak computer, sedangkan mikrokontroler, dalam bentuknya yang mungil, pada umumnya ditujukan untuk melakukan tugas-tugas yang

(3)

berorientasi control pada rangkaian yang membutuhkan jumlah komponen minimum dan biaya rendah (low cost). 2.1.2. Aplikasi Mikrokontroler

Karena kemampuannya yang tinggi, bentuknya yang kecil, konsumsi dayanya yang rendah, dan harga yang murah maka mikrokontroler begitu banyak digunakan di dunia. Mikrokontroler digunakan mulai dari mainan anak-anak, perangkat elektronik rumah tangga, perangkat pendukung otomotif , peralatan industri, peralatan telekomunikasi, peralatan medis dan kedokteran, sampai dengan pengandali robot serta persenjataan militer.

Terdapat beberapa keunggulan yang diharapkan dari alat-alat yang berbasis mikrokontroler (microcontroller-based

solutions) :

Kehandalan tinggi (high reliability) dan kemudahan integrasi dengan komponen lain (high degree of integration) Ukuran yang semakin dapat diperkecil (reduced in size)

Penggunaan komponen dipersedikit (reduced component count) yang juga akan menyebabkan biaya produksi dapat semakin ditekan (lower

manufacturing cost)

Waktu pembuatan lebih singkat (shorter

development time) sehingga lebih cepat

pula dijual ke pasar sesuai kebutuhan (shorter time to market)

Konsumsi daya yang rendah (lower

power consumption)

2.1.3. Perkembangan Mikrokontroler

Karena kebutuhan yang tinggi terhadap chip-chip pintar dengan berbagai fasilitasnya, maka berbagai vendor juga berlomba untuk menawarkan produk-produk mikrokontrolernya. Hal tersebut terjadi semenjak tahun 1970-an. Motorola mengeluarkan seri mikrokontroler 6800 yang terus dikembangkan hingga sekarang menjadi 68HC05, 68HC08, 68HC11, 68HC12, dan 68HC16. z

Zilog juga mengeluarkan seri mikroprosesor seri Z80-nya yang terkenal dan terus dikembangkan hingga kinimenjadi Z180 dan kemudian diadopsi juga oleh mikroprosesor Rabbit. Intel mengeluarkan mikrokontrolenya yang popular di dunia yaitu 8051, yang karena begitu populernya maka arsitektur 8051tersebut kemudian diadopsi oleh vendor lain seperti Philips, Siemens, Atmel, dan vendor-vendor lain dalam produk mikrokontroler mereka. Selain itu masih ada

mikrokontroler populer lainnya seperti Basic Stamps, PIC dari Microchip, MSP 430 dari Texas Instrument dan masih banyak lagi.

Selain mikroprosesor dan mikrokontroler, sebenarnya telah bermunculan chip-chip pintar lain seperti DSP prosesor dan

Aplication Spesific Integrated Circuit (ASIC).

Di masa depan, chip-chip mungil berkemampuan sangat tinggi akan mendominasi semua desain elektronik di dunia sehingga mampu memberikan kemampuan komputasi yang tinggi serta meminimumkan jumlah komponen-komponen konvensional.

2.1.4. Arsitektur 8051

Mikrokontroler dengan arsitektur 8051 merupakan salah satu jenis arsitektur mikrokontroler yang paling lama dan paling banyak digunakan di dunia. Arsitektur ini dikeluarkan pertama kali oleh Intel dan kemudian menjadi sangat popular. Berbagai seri mikrokontroler berarsitektur 8051 telah diproduksi oleh berbagai vendor dan digunakan di dunia sebagai mikrokontroler yang bersifat

low cost dan high performance. Beberapa vendor

yang terkenal antara lain Atmel, Philips, dan Siemens. Pada Intel, seri-seri mikrokontroler berarsitektur 8051, baik dari keluarga Intel MCS-51 maupun daari vendor-vendor lain, memiliki beragam tipe dan fasilitas, namun kesemuanya memiliki arsitektur yang sama, dan juga set intruksi yang relatif tidak berbeda.

Gambar 2.1. Diagram Blok MCS-51 (6) Perbedaan antara seri yang satu dengan yang lain pada keluarga MCS-51 dapat dilihat pada tabel 2.1.

(4)

Tabel 2.1.Perbandingan antar-IC keluarga MCS-51 PART NUMBER ON-CHIP CODE MEMORY ON-CHIP DATA MEMORY TIMERS 8051 4 KB ROM 128 bytes 2 8031 0 128 bytes 2 8751 4 KB EPROM 128 bytes 2 8052 8 KB ROM 256 bytes 3 8032 0 256 bytes 3 8752 8 KB EPROM 256 bytes 3 8951 4 KB EEPROM 128 bytes 2

Salah satu tipe mikrokontroler arsitektur 8051 yang banyak menjadi andalan saat ini adalah tipe 89S52. Tipe ini banyak digunakan karena memiliki fasilitas on chip flash memory. Berikut adalah feature-feature untuk mikrokontroler tipe 89S52 buatan Atmel.

8K bytes ROM

256x 8 bit internal RAM

4 buah 8-bit I/O (Input/Output) port 3 buah 16 bit timer

Interface komunikasi serial

64K pengalamatan code (program) memori

64K pengalamatan data memori Prosesor Boolean (satu bit-satu bit) 210 lokasi bit-addressable

4 µs operasi pengalian/pembagian. 2.1.5. Penjelasan Fungsi Pin Mikrokontroller

IC mikrokontroler dikemas (packaging) dalam bentuk yang berbeda. Namun pada dasarnya fungsi kaki yang ada pada IC memiliki persamaan. Gambar salah satu bentuk IC seri mikrokontroler 8051 dapat dilihat pada gambar berikut.

Gambar 2.2. Konfigurasi kaki Mikrokontroller 89S52 PDIP 40 pin (6) Berikut adalah penjelasan fungsi tiap kaki yang biasa ada pada seri mikrokontroler 8051.

a. Port 0

Merupakan dual purpose port (port yang memiliki dua kegunaan). Pada desain yang minimum (sederhana) digunakan sebagai port I/O (Input/Output). Pada desain lebih lanjut pada perancangan dengan memori eksternal digunakan sebagai data dan address yang di multiplek. Port 0 terdapat pada pin 32-39.

b. Port 1

Merupakan port yang hanya berfungsi sebagai port I/O, kecuali pada IC 8032/8052 yang menggunakan P1.0 dan P1.1 sebagai input eksternal untuk timer ketiga (T3). Port 1 terdapat pada pin 1-8.

c. Port 2

Merupakan dual purpose port. Pada desai minimum digunakan sebagai port I/O. pada desain yang lebih lanjut digunakan sebagai high byte dari address. Port 2 terdapat pada pin 21-28

(5)

d. Port 3

Merupakan dual purpose port. Selain sebagai port I/O juga mempunyai fungsi khusus yang ditunjukkan pada tabel 2.2 e. PSEN (Program Store Enable)

PSEN adalah control sinyal yang mengijinkan untuk mengakses program (kode) memori eksternal. Pin ini dihubungkan ke pin OE (put Enable) dari EPROM. Sinyal PSEN akan 0 pada tahap fetch (penjemputan) instruksi. PSEN akan selalu bernilai 0 pada pembacaan program memori internal. PSEN terdapat pada pin 29.

Tabel 2.2. Fungsi Khusus Port 3

PORT PIN ALTERNATE

FUNCTION P3.0 RXD (serial input port) P3.1 TXD (serial output port) P3.2 _INT0 (external interrupt

0)

P3.3 _INT1 (external interrupt 1) P3.4 T0 (timer 0 external input) P3.5 T1 (timer 1 external input) P3.6 _WR (external data memory write strobe) P3.7 _RD (external data

memory read strobe)

f. ALE (Address Latch Enable)

ALE digunakan untuk men-demultiplex address dan data bus. Ketika menggunakan program memori eksternal port 0 akan berfungsi sebagai address dan data bus. Pada setengah paruh pertama memori cycle ALE akan bernilai 1 sehingga mengijinkan penulisan alamat pada register eksternal dan pada setengah paruh berikutnya akan bernilai satu sehingga port 0 dapat digunakan sebagai data bus. ALE terdapat pada pin 30.

g. EA (External Access)

Jika EA diberi masukan 1 maka 8051/8052 menjalankan program memori internal saja. Jika EA diberi masukan 0 (ground) maka 8051/8052 hanya akan menjalankan program memori eksternal (PSEN akan bernilai 0). EA terdapat pada pin 31.

h. RST (Reset)

RST pada pin 9 merupakan reset dari 8051. jika pada pin ini diberi masukan 1 selama minimal 2 machine cycle maka system akan di-reset dan register-register internal pada 8051 akan berisi nilai default tertentu. Nilai default setelah system reset tersebut dapat dilihat pada tabel 2.3.

Tabel 2.3. Nilai Register Setelah di Reset REGISTER ISI Program counter 0000H Accumulator 00H B register 00H PSW 00H SP 07H DPTR 0000H Port 0-3 FFH IP (8031/8051) XXX00000B IP (8032/8052) XX000000B IE (8031/8051) 0XX00000B IE (8032/8052) 0X000000B Timer Register 00H SCON 00H SBUF 00H PCON (HMOS) 0XXXXXXXB PCON (CMOS) 0XXX0000B i. On-Chip Oscillator

8051 telah memiliki On-Chip Oscillator yang dapat bekerja jika di drive menggunakan kristal. Tambahan kapasitor diperlukan untuk menstabilkan system. Nilai kristal yang biasa digunakan pada keluarga MCS-51 adalah 12 MHz walaupun pada jenis 80C31BH-1 dapat menggunakan kristal dengan frekuensi sampai 16 MHz. On-Chip Oscillator tidak hanya dapat di drive dengan menggunakan kristal, tapi juga dapat digunakan TTL oscillator.

Pembangkit clock internal menentukan rentetan kondisi-kondisi (state) yang membentuk sebuah siklus mesin mikrokontroller. Siklus mesintersebut diberi nomor S1 hingga S6, masing-masing kondisi panjangnya 2 (dua) periode osilator. Dengan demikian, satu siklus mesin paling lama dikerjakan dalam 12 periode osilator atau 1 µs, jika frekuensi kristalnya 12 MHz.

(6)

j. Koneksi Power

8051 beroperasi pada tegangan 5 volt. Pin VCC terdapat pada pin 40 sedangkan VSS (ground) terdapat pada pin 20.

2.1.6.Organisasi Memori

Program-program dan data-data pada computer maupun mikrokontroller disimpan pada memori. Memori yang diakses oleh prosessor ini terdiri dari RAM dan ROM. Perbedaan antara RAM dan ROM ini adalah:

1. RAM bisa ditulis dan dibaca sedangkan ROM hanya bisa dibaca.

2. RAM bersifat volatile (isinya hilang jika power /sumber tegangan dihilangkan) sedangkan ROM bersifat non-volatile (isinya tidak hilang jika power /sumber tegangan dihilangkan). Biasanya mikrokontroler 8051 mengimplementasikan pembagian ruang memori untuk data dan program. ROM ini biasanya berisi code/program untuk mengontrol kerja dari mikrokontroler. Sedangkan RAM biasanya berisi data yang akan dieksekusi oleh mikrokontroler. Setiap mikrokontroler khususnya keluarga MCS-51 memiliki ROM dan RAM internal yang besarnya bervariasi.

Pada gambar 2.3 dapat dilihat gambaran secara lengkap dari on-chip data memori yang ada di mikrokontroler berarsitektur 8051. seperti yang ditunjukkan, ruang internal memori dibagi menjadi register banks (00H-1fH), bit addressable RAM (20H-2FH), general purpose RAM (30H-7FH) dan special function register (80H-FFH). Tiap tiap bagian ini akan dijelaskan di bawah ini.

a. General Purpose RAM

General purpose RAM ini berfungsi sebagai tempat penyimpanan data yang akan dieksekusi maupun hasil eksekusi yang dapat diakses secara langsung melalui mode pengalamatan secara langsung maupun tidak langsung. General purpose RAM ini diakses secara byte per byte.

b. Bit Addressable Location

Pada bit addressable RAM ini memiliki fungsi yang sama dengan general purpose RAM, tetapi memiliki keistimewaan untuk bisa diakses secara bit per bit.

Gambar 2.3. Organisasi Memori Mikrokontroller 8051 (6) c. Register Banks

Set intruksi dari 8051 mendukung 8 register, yaitu dari R0-R7, dan defaultnya (setelah system direset) menunjukkan bahwa register ini berada pada alamat 00H-07H. Pada 8051 ini terdapat 4 banks register yang terdiri dari Bank 0, Bank 1, Bank 2, dan Bank 3. Bank yang aktif dapat dipilih setelah kita mengubah select bit register banks pada program status word yang akan dibahas kemudian.

d. Special Function Register

Pada special function register ini terdapat Accumulator dan B register. Selain itu terdapat bagian lainnya yang akan dibahas di bawah ini.

e. Program Status Word

Pada program status word terdapat pada alamat D0H dan terdiri dari status bit seperti yang tercantum di bawah ini.

(7)

Tabel 2.4. Program Status Word

BIT SYMBOL ADDRESS BIT DESCRIPTION PSW.7 CY D7H Carry Flag PSW.6 AC D6H Auxiliary Carry Flag PSW.5 F0 D5H Flag 0 PSW.4 RS1 D4H Register Bank Select 0 PSW.3 RS2 D3H Register Bank Select 1

-00 = bank 0; alamatnya pada 00H-07H

-01 = bank 1; alamatnya pada 08H-0FH

-02 = bank 2; alamatnya pada 10H-17H

-03 = bank 3; alamatnya pada 18H-1FH PSW.2 0V D2H Overflow Flag PSW.1 - D1H Reserved

PSW.0 P D0H Even Parity Flag

f. Stack Pointer

Stack pointer ini adalah 8 bit register yang berada pada alamat 81H. stack ini berisi alamat dari data yang berada paling awal yang masuk ke dalam stack . operasi stack terdiri dari memasukkan data (push) pada stack dan mengeluarkan data (pop) dari stack. Memasukkan data ke stack ini akan mengakibatkan nilai dari SP sebelum menulis data, dan mengeluarkan data akan mengakibatkan penurunan nilai dari SP.

g. Data Pointer

Data pointer digunakan untuk mengakses program dan data eksternal merupakan 16 bit register yang terletak pada alamat 82H (DPL, low byte) dan 83H (DPH, high byte).

h. Port Register

Pada 8051 I/O port terdiri dari port 0 pada alamat 80H, port 1 pada alamat 90H, port 2 pada alamat A0H, dan port 3 pada alamat B0H. port 0, 2,dan 3 mungkin tidak cocok untuk I/O jika digunakan eksternal memori atau special feature lainnya digunakan (interrupt, serial port, dll). Seluruh port adalah bit addressable.

i. Timer Port Register

Pada 8051 terdiri dari 2 buah 16 bit timer/counter untuk interval waktu atau

menghitung kejadian. Timer 0 berada pada alamat 8AH (TL0, low byte) dan 8DH (TH1, high byte). Operasi timer diset oleh Timer Mode Register (TMOD) pada alamat 89H dan Timer Control Register (TCON) pada alamat 88H. Hanya TCON yang bit-addressable.

j. Serial Port Register

8051 berisi serial port on-chip untuk komunikasi dengan peralatan serial seperti terminal atau modem, atau untuk interface (antar muka) dengan IC lainnya dengan serial interface seperti A/D converter. Satu register, Serial Data Buffer (SBUF) pada alamat 99H menangani antara menerima data dan mengirimkan data. Menulis ke SBUF mengambil data untuk dikirimkan; membaca SBUF mengakses data yang diterima.

k. Interrupt Register

8051 mempunyai 5 sumber, struktur 2 tingkat prioritas interrupt. Interrupt akan didisable setelah system direset dan akan dienable dengan menulis pada interrupt enable register (IE) pada alamat A8H. Level/tingkat prioritas ini diset melalui Interrupt Priority Register (IP) pada alamat B8H.

2.1.7. Bahasa Assembly

Dalam pemrograman computer dikenal dua jenis tingkatan bahasa, jenis yang pertama adalah bahasa pemrograman tingkat tinggi (high

level language ) dan yang kedua adalah bahasa

pemprograman tingkat rendah (low level

language). Bahasa pemprograman tingkat tinggi

lebih berorientasi kepada manusia yaitu bagaimana agar pernyataan-pernyataan yang ada dalam program mudah dimengerti oleh manusia. Sedangkan bahasa tingkat rendah lebih berorientasi ke mesin, yaitu bagaiman agar komputer dapat langsung menginterpretasikan pernyataan-pernyataan program. Untuk mengerjakan suatu tugas tertentu, program yang ditulis dalam bahasa tingkat rendah relatif lebih panjang dan lebih sulit untuk dipahami, namun kelebihannya adalah lebih efisien dan lebih lebih cepat untuk dieksekusi oleh mesin.

Bahasa assembly memerlukan program assembler untuk mengkonversi instruksi-instruksi ke dalam bahasa mesin. Format penulisan program dalam bahasa assembly adalah sebagai berikut,

(8)

Label: mnemonic operand1[,operand2] ; komentar

Contoh penulisan program adalah sebagai berikut,

Mulai: mov a,r1 ;kopi isi r1 ke a mov r1,r2 ; kopi isi r2 ke r1 2.1.8. Basis Bilangan

Penulisan angka, baik sebagai alamat maupun data dalam pemprograman bahasa assembly, dapat ditulis dalam basis decimal, biner, ataupun heksadesimal.

Pada penulisan program, angka decimal ditulis seperti biasa. Sedangkan angka biner diakhiri huruf b, dan angkja heksadesimal diakhiri huruf h. sebagai contoh, ketiga instruksi berikut melakukan operasi yang sama namun dengan penulisan bilangan pada basis yang berbeda. Mov a, #25 ; isi akumulator dengan angka 25 Mov a,#00011001b ; isi akumulator dengan

Angka 25

Mov a,#19h ; isi akumulator dengan angka 25 Pada penulisan angka heksadesimal, apabila angka depan merupakan angka huruf heksadesimal (A, B, C, D atau F) maka dahului dulu dengan menuliskan angka 0.

Contoh : mov a, 0f1h

Untuk menuliskan suatu data karakter ASCII, berikan apostrof di awal dan akhir data ASCII tersebut.

Contoh : mov a, e

2.1.9. Mode Pengalamatan

Yang dimaksud mode pengalamatan adalah bagaimana penulisan operand dari suatu instrukei, untuk mengalamatkan suatu data yang diinginkan, baik asalnya dan juga tujuannya.

Bahasa pemprograman assembly untuk mikrokontroller berarsitektur 8051 memiliki 8 jenis mode pengalamatan

a. Register addressing

Adalah pengalamatan yang melibatkan register.

Contoh : mov a,r1 ; isi register r1 dikopi Ke akumulator b. Direct addressing

Adalah pengalamatan dengan menuliskan langsung nomor alamat memori (biasanya dalam dalam format heksadesimal).

Contoh: mov a,90h ; isi alamat 90h Dikopi ke akumlator c. Indirect addressing

Adalah pengalamatan dengan cara menaruh alamat yang dimaksud ke

suatu register dalam hal ini khususnya register R0 dan R1.

Contoh ; mov a,@R1 ; isi memori yang alamatnya ditunjukkan oleh

; isi register R1 dikopi ke akumulator

d. Immediate addressing

Adalah pengalamatan dengan cara langsung menuliskan data yang diinginkan.

Contoh : mov a,#12 ; data angka 12 dimasukkan ke akumulator

e. Relative addressing

Adalah pengalamatan secara relatif terhadap alamat yang ada di program counter. Dalam prakteknya, implementasi dari relatif addressing sangatmudah karena tinggal memakai kabel, sedangkan yang menghitung offset relatifnya terhadap program counter adalah assembler.

Contoh : sjmp dekat f. Absolute addressing

Adalah pengalamatan dengan menggunakan 11 bit alamat pasti dari tujuan, sehingga dapat menjangkau sampai 2 Kbytes memori program. Dalam prakteknya, implementasi dari absolute addressing ini juga sangat mudah karena tinggal memakai label, sedangkan yang menghitung alamat absolutenya adalah assembler.

Contoh : ajmp sedang g. Long addressing

Adalah pengalamatan dengan menggunakan 16 bit alamat pasti tujuan, sehingga dapat menjangkau sampai 64 K bytes memori program. Dalam prakteknya, implementasi dari long addressing ini juga sangat mudah karena tinggal memakai label, sedangkan yang menghitung alamatnya adalah assembler.

Contoh : ljmp jauh h. Indexed addressing

Adalah pengalamatan dengan menggunakan offset dan base register tertentu. Pengalamatan ni digunakan untuk look up tables dan jump tables. Contoh : movc a,@a+r1

2.1.10. Set Intruksi

Semua anggota mikrokontroller 8051 mengeksekusi set intruksi yang sama. Set intruksi ini mengoptimasi untukaplikasi control 8 bit serta menyediakan berbagai macam mode

(9)

pengalamatan yang cepat untuk akses RAM internalguna memfasilitasi operasi byte pada struktur data yang kecil. Set intruksi juga menyediakan dukungan penuh untuk variable-variabel 1 bit sebagai tipe data yang terpisah, yang membolehkan melakukan manipulasi bit secara langsung dalam system-sistem control dan logic yang memerlukan pemrosesan Boolean. Berikut ini akan dijeaskan secara singkat bagaimana suatu intruksi digunakan.

Instruksi-instruksi bahasa assembly 8051 dapat dibgi menurut fungsinya menjadi lima kelompok,yaitu :

1. Instruksi transfer data 2. instruksi aritmatika 3. instruksi logika 4. instruksi Boolean 5. instruksi percabangan

masing-masing kelompok akan dijelaskan sebagai berikut.

2.1.10.1. Instruksi Transfer Data a. RAM Internal

Perintah perpindahan data (mov, xcd, pop, push) pada RAM internal membutuhkan 1 sampai 2 cycle. Format instruksi :

Mov (tujuan), (asal)

Memungkinkan data untuk berpindah diantara 2 lokasi RAM internal atau SFR tanpa harus melalui akumulator terlebih dahulu. Kelebihan dari MCS 51 adalah memori stacknya ada di RAM internal dan bertambah ke atas pada memori. Perintah push dan pop menggunakan direct addressing untuk mengenali byte yang disimpan atau diambil, namun memori stack diakses dengan indirect addressing menggunakan register SP.

b. RAM External

Perintah mov 16 bit digunakan untuk inisialisasi DPTR atau untuk akses data 16 bit pada memori eksternal. Perpindahan data antara memori internal dan eksternal menggunakan indirect addressing dengan menggunakan alamat 1 byte(@R1) atau 2 byte(@DPTR). Seluruh perintah perpndahan data untuk memori eksternal menggunakan akumulator sebagai asal dan tujuannya, dan beroperasi selama 2 cycle. c. Tabel Tengok (Look Up Tables)

Ada dua perintah untuk membaca look

up table pada ROM. MOVC (mov constant)

menggunakan program counter sebagai base

register dan akumulator sebagai offsetnya.

Movc, @a+DPTR

Perintah tersebut dapat mengakses 256 entri. Nomor entri dimasukkan ke akumulator dan awal tabelnya pada DPTR.

Movc, @a+PC

Perintah tersebut serupa, hanya saja PC digunakan sebagai base adressnya.

2.1.10.2. Instruksi Aritmatika

Instruksi aritmatik merupakan instruksi dasar dalam setiap computer, dimana terdiri dari operasi dasar matematis seperti penjumlahan (ADD), pengurangan (SUB), perkalian (MUL), dan pembagian (DIV). Operasi lainnya adalah menambah 1 isi register (INC) dan pengurangan 1 dari isi register (DEC).

Dengan beberapa macam tipe addressing maka instruksi aritmatik dapat dituliskan dengan setiap macam addressing seperti :

ADD a, 7fh (direct addressing) ADD a, @R0 (indirect addressing) ADD a, R7 (register addressing) ADD a, #35h (immediate addressing)

Semua instruksi aritmatik mempunyai waktu eksekusi 1 cycle kecuali INC DPTR (2

cycle ), MUL AB dan DIV AB (4 cycle). Karena

kemampuan addressing dari 8051 pada memorinya, setiap lokasi dapat ditambah atau dikurangi tanpa melalui akumulator. Jika lokasi RAM 7FH bernilai 40H, maka perintah INC 7FH menaikkan nilai menjadi 41H pada lokasi 7FH.

Perintah INC dapat beroperasi pada data pointer 16 bit, yang biasanya digunakan untuk alamat 16 bit pada memori external. Karena perintah DEC untuk data pointer tidak ada, maka diperlukan serangkaian perintah sebagai berikut. 2.1.10.3. Instruksi Logika

Perintah logika pada 8051 melakukan operasi Boolean eperti AND, OR, Exclusive OR, dan NOT pada data sepanjang byte atau bit. Jika akumulator berisi 00110101b, maka perintah AND A, #01010011b menghasilkan nilai 00010001b.

Karena ada beberapa macam addressing maka perintah logika dapat juga berbentuk:

DEC DPL ;

pengurangan low byte dari DPTR MOV R7, DPL ; disalin ke R7

CJNE R7, #0FFH,SKIP ; pindah jika R7 dibawah 0FFH

DEC DPH ; mengurangi high byte

SKIP : . . . ;

melanjutkan program

Perintah MUL AB mengalikan akumulator dan register B, lalu meletakkan hasilnya (16 bit) pada register B (high byte) dan akumulator (low byte). Hal yang sama juga berlaku pada perintah DIV AB, dimana hasil 8

(10)

bit pada akumulator dan sisa 8 bit pada register B.

Untuk aritmatik BCD diperlukan perintah DA (decimal adjust) psada perintah dan ADDC agar hasilnya tetap dalam bentuk BCD. 2.1.10.4. Instruksi Boolean

Prosesor 8051 mempunyai Boolean prosesor untuk operasi bit tunggal. RAM internal mempunyai 128 bit addressable, dan SFR mempunyai 128 addressable bit lainnya. Semua port adalah bit addressable dan dapat dianggap sebagai port bit tunggal yang terpisah. Instruksi per bit tidak hanya untuk percabangan bersyarat, tapi juga perintah MOV(move), SET, CLR, (clear), CPL (complement), OR dan AND. Operasi bit semacam ini adalah salah satu keunggulan MCS-51 yang tidak mudah didapatkan denganoperasi byte.

Bit dapat dengan mudah di set atau di clear dengan perintah tunggal. Hal ini umum terdapat untuk alat I/O, output ke relay, motor, solenoid, LED, buzzer, alarm, speaker, atau input dari berbagai switch atau indikator.

Karena bit-bit flag pada PSW adalah bit addressable, maka keadaan flag dapat dengan mudah dimanipulasi atau digunakan pada operasi dengan alat I/O.

Perintah ANL (logika AND) dan ORL (logika OR) terdapat pada instruksi Boolean, namun tidak dengan XRL (logika exclusive OR). Perintah untuk XOR dua bit yaitu BIT1 dan BIT2, dapat dilakukan dengan beberapa perintah sebagai berikut :

MOV C, BIT1 ; BIT1 dikopi ke flag carry JNB BIT2, SKIP ; jika C benar maka pindah ke

SKIP

CPL C ; C salah, dikomplemenkan agar benar SKIP : . . .

2.1.10.5. Instruksi Percabangan

Percabangan program digunakan untuk mengontrol jalannya program, termasuk pemanggilan dan kembali dari subrutin atau percabangan.

a. Unconditional Jump

Ada tiga variasi perintah jump yang tidak bersyarat yaitu SJMP, LJMP, dan AJMP (relative, long dan absolute addressing). Assembler (ASM51) secara otomatis akan menggolongkan perintah JMp ysng ditulis sesuai dengan kondisi perintahnya. Bila tidak ada referensi pada jarak 2K maka dianggap

sebagai AJMP, jika tidak maka dianggap sebagai LJMP. SJMP akan mengambil alamat tujuan sebagai offset dengan batas -128 hinggga +127 byte relatif dari alamat setelah perintah SJMP. LJMP menggunakan alamat 16 bit, dimana tujuannya dapat berada di mana saja pada ROM 64K. AJMP menggunakan alamat 11 bit, dengan tujuan yang berada pada blok 2K yang sama. Pada ROM 64K berarti akan ada 32 blok.

b. Conditional Jump

Perintah jump bersyarat mempunyai kesamaan dalam jangkauan alamat seperti pada perintah jump tak bersyarat. Biasanya perintah ini menggunakan alamat relatif dengan batas -128 dan +127 byte. Perintah JZ dan JNZ mengetes akumulator untuk nilai 0 karena PSW tidak memiliki flag zero. Sedangkan perintah DJNZ (Decrement and Jump if Not Zero) adalah perintah yang sering digunakan untuk control loop. Perintah berikut melakukan loop sebanyak 10 kali:

MOV R7,#10 LOOP : . . . ; mulai loop . . . . . . ; akhir loop DJNZ R7 , LOOP (melanjutkan program)

Perintah CJNE (Compare and Jump if

Not Equal) digunakan untuk

perbandingan dua buah nilai byte, dan program akan jump jika nilai keduanya tidak sama. Jika sebuah karakter dibaca oleh akumulator dari serial port, dan diharapkan akan pindah ke label HABIS bila karakter yang masuk adalah Ctrl-C (03H), maka perintahnya adalah : CJNE A, #03H, SKIP

SJMP HABIS

SKIP : (melanjutkan program)

Aplikasi CJNE lainnya adalah perbandingan nilai lebih besar atau kecil. Jika akumulator lebih besar dari 20H maka pindah ke BIG, perintahnya adalah :

CJNE A, #20H, $+3 JNC BIG

Simbol $ adalah symbol untuk alamat perintah yang sekarang, dan perintah CJNE panjangnya 3 byte jadi perintah

(11)

berikutnya tetap JNC apapun hasil CJNE. Perintah CJNE digunakan hanya untuk menset atau clear flag carry. Perintah JNC akan menentukan ada tidaknya jump ke BIG.

c. Jump Table

Perintah JMP @A+DPTR digunakan untuk perpindahan yang bersyarat ganda. Alamat tujuan dihituna sebagai jumlah dari DPTR 16 bit sebagai jump table dan akumulator sebagai indeksnya. Jika ada 5 syarat yang diinginkan, nilai 0 sampai 4 dimasukkan ke akumulator dan proses jump dilakukan sebagai berikut:

MOV DPTR, #JUMP_TABLE MOV A, INDEX_NUMBER RL A

JMP @A+DPTR JUMP_TABLE : AJMP CASE0

AJMP CASE1 AJMP CASE2 AJMP CASE3 d. Subrutin dan Interupsi

Yang termasuk kelompok ini adalah instruksi CALL, RET, dan RETI. Perintah CALL untuk pemanggilan sebuah subrutin terdiri dari ACALL dengan absolut addressing dan LCALL long addressing. Penafsiran dari assembler terhadap perintah CALL sama halnya seperti pada perintah JMP. Perintah CALL akan menyimpan nilai PC ke stack (push PC ke stack) dan mengambilnya ketika subrutin selesai atau RETY (pop PC dari stack). Jika subrutin tidak diawali dengan CALL digunakan untuk kembali dari interrupt service routine (ISR). Jika tidak ada interupsi lain yang menunggu, maka RETI sama seperti RET fungsinya. 2.1.11. Assembler Directive

Assembler directive adalah

instruksi-instruksi yang ditujukan kepada program assembler sebagai suatu arahan dalam mengubah program yang ditulis dalam bahasa assembly ke bahasa mesin. Assembler directive yang akan dijelaskan di modul ini adalah assembler directives yang berlaku di program assembler ASM51 buatan Intel. Assembler directives tersebut dibagi menjadi lima jenis yaitu :

1. Directive untuk control kondisi assembler

2. Directive untuk pemilihan segment

3. Directive untuk pendefinisian symbol 4. Directive untuk reservasi memori

penyimpanan

5. Directive untuk penggabungan program Penjelasan dari masing-masing directive tersebut adalah sebagai berikut.

2.1.11.1. Directive untuk Kontrol Kondisi Assembler

Terdiri dari :

ORG (Set Origin), yaitu mengeset awal dari suatu program. Contoh penulisan : ORG 100H ; set awal lokasi program ke alamat 100H

. . . ; mulai baris program di alamat 100H

END, yaitu akhir dari seluruh program, tidak ada baris program lagi yang akan dieksekusi setelah directive ini. Contoh penulisan :

. . . ; baris instruksi terakhir END ; akhir program

Using, yaitu memberitahukan assembler ASM51 tentang register bank yang sedang aktif. Contoh penulisan : MOV PSW, #00011000B ;pilih register bank 3

Using 3 ; beritahu assembler bahwa yang aktif

; adalah register bank 3 2.1.11.2. Directive untuk Pendefinisian Simbol

Terdiri dari :

SEGMENT, digunakan untuk mendefinisikan salah satu dari segment memori, yaitu CODE (code segment),XDATA (data external), DATA (data internal diman bias diakses dengan direct addressing), IDATA (data internal dimana bias diajses dengan indirect addressing), dan BIT (data bit). Contoh :

EPROM SEGMENT CODE

;mendefinisikan symbol EPROM ; sebagai suatu segment bertipe code ; segment

EQU (Equate), digunakan untuk mendefinisikan suatu nilai numeric yang tetap.

(12)

Contoh :

DATA1 EQU 12 ;mendefinisikan symbol DATA1 sebagai

; suatu nilai yaitu 12 MESSAGE EQU Hallo ; mendefinisikan symbol MESSAGE sebagai

; suatu data ASCII Hallo

2.1.11.3. Directive untuk Pemilihan Segment Terdiri dari :

CSEG (Code Segment), yaitu memilih suatu segment absolute baru pada code segment . Contoh :

CSEG AT 30H ; pilih code segment di alamat 30H

DSEG (Data Segment), yaitu memilih suatu segment absolute baru pada data segment. Contoh :

DSEG AT 40H ; pilih data segment di alamat 40H

ISEG (Internal Data Segment), yaitu memilih suatu absolute segment baru pada internal data segment. Contoh: ISEG AT 50H ; pilih internal data segment di alamat 50H

BSEG (Bit Data Segment), yaitu memilih suatu absolute segment baru pada bit data segment. Contoh :

BSEG AT 60H ; pilih bit data segment di alamat 60H

XSEG (External Data segment), yaitu memilih suatu absolute segment baru pada external data segment. Contoh : XSEG AT 70H ; pilih external

data segment di alamat 70H

2.1.11.4. Directive untuk Reservasi Memori Penyimpanan

Terdiri dari :

DS (Define Storage), yaitu reservasi memori penyimpanan dalam satuan byte. Contoh :

DSEG AT 30H ; pilih data segment di alamat 30H BUFFER DBIT 1

; pesan 1 bit memori berlabel FLAG1

; awalnya adalah alamat label BUFER

DBIT (Define Bit), yaitu reservasi memori penyimpanan dalam satuan bit.Contoh :

BSEG AT 70H ; pilih bit segment di alamat 70H

FLAG1: DBIT 1 ;

pesan 1 bit memori berlabel FLAG1 FLAG2 : DBIT 1

; pesan 1 bit memori berlabel FLAG2 DB (Define Byte), yaitu reservasi memori penyimpanan di code segment dalam satuan byte. Contoh :

CSEG AT 10H ; pilih code segment di alamat 10H

GANJIL : DB 1, 3, 5 ;pesan byte memori yang isinya ; angka 1, 3, dan 5 yang alamat ; awalnya adalah alamat label GANJIL DW (Define Word), yaitu reservasi memori penyimpanan di code segment dalam satuan 2 byte. Contoh :

CSEG AT 10H ; pilih code segment di alamat 30H

PASSWORD: DW OKE ;

pesan masing-masing 2 byte memori yang ; isinya karakter ASCII OKE dimana ; alamat awalnya adalah alamat label ; PASSWORD

2.1.11.5. Directive Untuk Penggabungan Program

Terdiri dari :

PUBLIC,yaitu membuat agar suatu symbol/label juga berlaku di luar modul/bagian program yang memuatnya (membuat menjadi bersifat global). Contoh :

PUBLIC INPUT,OUTPUT ; deklarasi secara global symbol

; INPUT dan OUTPUT INPUT : . . . . . . RET OUTPUT : . . . . . . RET

EXTRN,yaitu mereferensikan suatu symbol yang telah dideklarasikan secara global di modul/bagian program lain. Directive ini bekerjasama dengan directive PUBLIC. Contoh :

EXTRN CODE(INPUT,OUTPUT) ; ambil symbol dari code

; segment modul lain

CALL INPUT

CALL OUTPUT

(13)

2.2. Operasi Timer

AT89S52 mempunyai tiga buah timer, yaitu timer 0, 1, dan 2 yang dapat berfungsi sebagai counter ataupun sebagai timer. Namun pada alat ini penulis hanya menggunakan timer 0 dan timer 1 oleh karena itu pada bab ini hanya akan dibahas mengenai timer 0 dan timer 1. Secara fisik sebetulnya timer juga merupakan rangkaian T flip-flop yang dapat diaktifkan dan dinonaktifkan setiap saat. Perbedaan terletak pada sumber clock dan aplikasinya. Jika timer mempunyai sumber clock dengan frekensi tertentu yang sudah pasti sedangkan counter mendapat sumber clock dari pulsa yang hendak dihitung jumlahnya. Aplikasi dari counter atau penghitung biasa digunakan untuk aplikasi menghitung jumlah kejadian yang terjadi dalam periode tertentu sedangkan timer atau pewaktu biasa digunakan untuk aplikasi menghitung lamanya suatu kejadian yang terjadi.

Ketiga timer pada AT89S52 masing-masing mempunyai 16-bit counter yang mampu diatur keaktifan maupun mode operasinya, direset dan diset dengan harga tertentu. Untuk mengatur timer ini AT89S52 mempunyai enam buah Special Function Register yang akan dijelaskan di bawah ini.

2.2.1. Timer Mode Register (TMOD)

Gambar 2.4. Register TMOD (1) Register TMOD berupa 8 bit register yang terletak pada alamat 89H denga fungsi setiap bitnya adalah sebagai berikut :

Gate: timer akan berjalan jika bit ini diset dan INT0 (untuk timer 0) atau INT1 (untuk timer 1) berkondisi high.

C/T: 1 = Counter 0 = Timer

M1 & M0: untuk memilih mode timer 2.2.2. THx dan TLx

Timer 0 dan timer 1 terdiri dari 16 bit timer yang masing-masing tersimpan dalam dua buah register yaitu THx untuk Timer High Byte dan TLx untuk timer Low Byte.

TH0 : Timer 0 High Byte terletak pada alamat 8AH

TL0 : Timer 0 Low Byte terletak pada alamat 8BH

TH1 : Timer 1 High Byte terletak pada alamat 8CH

TL1 : Timer 1 Low Byte terletak pada alamat 8DH

2.2.3. Timer Control Register (TCON)

Gambar 2.5. Register TCON (1) Register ini hanya mempunyai 4 bit saja, yaitu TCON.4, TCON.5, TCON.6, TCON.7 saja yang mempunyai fungsi berhubungan dengan timer. Register ini bersifat bit addressable sehingga bit TF1 dapat disebut TCON.7, TR1 sebagai TCON.6 dan seterusnya hingga bit IT0 sebagai TCON.0.

TCON.7 atau TF1: Timer 1 overflow flag yang akan diset jika timer overflow. Bit ini dapat di clear oleh software atau hardware pada saat program menuju ke alamat yang ditunjuk oleh interrupt vector. TCON.6 atau TR1: 1 = Timer 1 aktif

0 = Timer 1 nonaktif TCON.5 atau TF0: Sama dengan TF1 TCON.4 atau TR0: Sama dengan TR1 TCON.3 hingga TCON.0 adalah bagian dari

interrupt. 2.2.4. Mode Timer

Timer 0 dan timer 1 mempunyai empat buah mode kerja timer dimana setiap mode mempunyai masing-masing fungsi. Penentuan mode kerja dari timer dilakukan dengan melakukan inisialisasi pada register TMODseperti dijelaskan pada bagian berikut. Mode 0

Pada mode ini, timer bekerja dengan mode 13 bit timer ketika overflow terjadi saat saat terjadi perubahan kondisi dari ketiga belas bit yang tersimpan di register TLx dan THx (x = 0 untuk timer 0 dan x = 1 untuk timer 1) menjadi

(14)

logika 0 setelah sebelumnya mencapai logika 1. pada aplikasi sebagai counter hal ini terjadi saat counter kembali menghitung dari awal. Bit TFx akan berlogika 1 pada saat kondisi overflow terjadi.

Gambar 2.6. Timer Mode 0 (7) Mode 1

Pada mode 1, timer berfungsi sebagai 16 bit timer yang akan menghitung naik mulai dari 0000H hingga FFFFH. Hasil dari perhitungan tersimpan pada Register TLx untuk Low Byte dan THx untuk High Byte.

Jika perhitungan sudah mencapai FFFFH, timer akan kembali menghitung mulai dari 0, pada saat ini timer Flag (TFx) akan set.

Gambar 2.7. Timer Mode 1 (7) Mode 2

Pada mode ini, timer bekerja dalam mode 8 bit dimana nilai timer tersimpan pada TLx. Register THx berisi nilai isi ulang (Reload Value) yang akan dikirim ke Register TLx setiap kali terjadi overflow. Misalkan, nilai THx diisi dengan 20H, saat timer diaktifkan nilai TLx akan menghitung naik hingga pada saat nilai TLx hendak berubah dari FFH menjadi 00. Dengan demikian, bit TFx akan set dan nilai THx, 20H akan kembali dikirim ke Register TLx. Selama timer aktif nilai THx akan tetap 20H.

Gambar 2.8. Timer Mode 2 (7)

Mode 3

Pada mode ini, timer 0 terpisah menjadi dua buah 8 bit timer yaitu TL0 dengan TF0 sebagai overflow flag dan TH0 dengan TF1 sebagai overflow flag. Sedangkan timer 1 berfungsi sebagai 16 bit timer.

Pada saat timer1 berada pada mode 3, timer ini akan berhenti hingga mode kerja timer 1 diubah menjadi mode lain. Oleh karena bit TF1 digunakan oleh TH0 sebagai overflow flag, maka bit ini tidak dapat digunakan selama timer 0 masih berada pada mode 3.

Gambar 2.9. Timer Mode 3 (7) 2.2.5. Cara Kerja Timer

Gambar 2.10. Operasi Timer (7)

Operasi dari timer memerlukan sumber clock yang didapat dari eksternal maupun internal. Jika timer menggunakan sumber clock dari eksternal, pin T0 (P3.4) berfungsi sebagai input clock.

(15)

Untuk menjadikan sumber clock eksternal sebagai sumber clock timer maka bit C/T dari register TMOD harus diset atau berkondisi high. Jika bit C/T berkondisi high, saklar akan menghubungkan sumber clock timer ke pin Tx (T0 untuk timer 0 dan T1 untuk Timer 1).

Jika digunakan sumber clock internal, input clock tersebut berasal dari osilator yang telah dibagi 12. Untuk ini bit C/T dari Register TMOD harus diclear atau berkondisi low sehingga saklar akan menghubungkan sumber clock timer ke osilator yang telah dibagi 12.

Untuk mengaktifkan timer dapat dilakukan melalui hardware ataupun software. Seperti yang terlihat pada gambar , timer baru akan aktif setelah mendapat sumber clock dan saklar SPST yang terletak antara saklar yang dikontrol oleh C/T dan timer terhubung sehingga sinyal clock dari sumber clock akan mengalir masuk sedangkan saklar tersebut akan terhubung jika mendapat logika high dari output gerbang AND.

Sesuai dengan table kebenaran dari gerbang AND, output dari gerbang AND hanya akan berlogika high jika kedua inputnya berlogika high pula. Jika ada salah satu dari inputnya yang berlogika low, output akan berlogika low pula. Untuk pengaturan timer melalui software, keaktifan timer hanya akan ditentukan oleh kondisi bit TR0 saja. Oleh karena ituoutput dari gerbang OR yang terhubung dari input yang lain dari gerbang AND harus berlogka high. Dengan demikian, jika TR0 berlogika high, output dari gerbang AND akan berlogika high dan timer akan aktif dan sebaliknya jika TR0 berlogika low, output dari gerbang, output gerbang AND akan berlogika low dan timer akan berhenti.

Agar output dari gerbang OR berlogika high, sesuai dengan table kebenaran OR, cukup salah satu dari inputnya saja berlogika high. Dengan demikian, output akan berlogika high pula. Untuk pengaturan timer melalui software, bit gate harus berkondisi low sehingga hasil inversnya yang merupakan salah satu input dari gerbang OR berlogika high. Hal ini membuat output gerbang OR selalu berlogika high walau apapun yang terjadi pada pin INTx (INT0 untuk Timer 0 dan INT1 untuk Timer 1) seperti yang tampak pada gambar 2.11.

Gambar 2.11. Pengaturan Timer Dengan Software (7)

Untuk pengaturan Timer dengan hardware, pin INTx berfungsi sebagai penentu. Oleh karena itu, bit TRx harus berlogika high, agar pengaturan timer ditentukan oleh output dari gerbang OR ditentukan oleh pin INTx maka bit gate harus berkondisi high.

Gambar 2.12. Pengaturan Timer Dengan Hardware (7)

Jadi kesimpulannya untuk pengaturan timer dengan software maka bit penentu keaktifan adalah TRx sedangkan kondisi dari bit gate harus berlogika 0. untuk pengaturan Timer dengan Hardware maka penentu keaktifan adalah INTx sedangkan kondisi Bit gate dan TRx harus berlogika 1.

2.3. Karakteristik Phototransistor dan Led IR Phototransistor adalah sebuah komponen dioda semikonduktor yang mengalirkan arus listrik sesuai dengan jumlah proporsional dari cahaya yang mengenai pn

junctionnya. Semakin kuat intensitas cahaya

yang mengenai pn junction maka semakin besar arus yang dapat mengalir, demikian pula sebaliknya.

(16)

Gambar 2.13. Phototransistor (2) Pada saat kondisi tidak memperoleh cahaya langsung hanya arus bocor saja yang mengalir pada kaki emitor, yaitu kira-kira sebesar 10 nA. Sedangkan pada kondisi memperoleh cahaya langsung menyebabkan terciptanya tegangan sepanjang junction, hingga arus dapat mengalir pada arah maju yang bernilai kira-kira sebesar 10 mA. Adapun besarnya nilai maksimum dan minimum arus bocor dan arus maju dari phototransistor tergantung dari jenis atau tipe phototransistor yang digunakan.

Led infra merah adalah sebuah komponen semikonduktor yang memancarkan sinar infra merah dengan panjang gelombang 830nm, saat arus listrik mengalir melaluinya dengan bias maju.

Gambar 2.14. Led Infra Merah (2)

Gambar 2.15. Respons Phototransistor silikon Terhadap Led Infra Merah (2)

Sebuah LED (Light Emitting Diode) memiliki tegangan jatuh yang lebih besar dibandingkan dengan dioda yaitu sekitar 1 sampai 2 V. Sehingga diperlukan sebuah resistor yang diseri dengannya, untuk membatasi arus yang melalui LED tersebut. Dengan panjang gelombang yang dimiliki led infra merah ini, menyebabkan cahaya yang dipancarkan olehnya tidak dapat dilihat dengan mata telanjang, atau cahaya unvisible.

Gambar 2.16. Karakteristik Kolektor Emitter Phototransistor (2)

Optocoupler atau photoisolator adalah merupakan pasangan dari phototransistor dan led infra yang dikemas menjadi sebuah IC. Karena bentuknya yang tetap, maka penggunaan optocoupler ini tidak perlu menggunakan selubung untuk menghindari cahaya dari luar yang dapat mengganggu sensitivitas dari phototransistor itu sendiri.

(17)

2.4. TRANSISTOR SEBAGAI SAKLAR

Gambar 2.17. Tegangan dan Arus Bias Mengalir dalam Transistor NPN (2)

Gambar 2.18. Tegangan dan Arus Bias Mengalir Dalam Transistor PNP (2) Gambar diatas masing-masing memperlihatkan tegangan bias-normal yang diberikan kepada transistor PNP dan NPN. Pada transistor NPN, dioda yang dibentuk oleh basis dan emitor diberi tegangan forward dan dioda yang dibentuk oleh basis dan kolektor harus diberi tegangan reverse bias, dengan demikian basis lebih positif terhadap emitor dan kolektor. Sedangkan pada transistor tipe PNP, dioda yang dibentuk oleh emitor dan basis harus diberi tegangan forward bias dan dioda yang dibentuk dari kolektor dan basis diberi tegangan reverse bias. Dengan demikian, maka basis negative terhadap emitor dan kolektor lebih negative terhadap basisnya. Ada 3 daerah operasi transistor yaitu :

Tabel 2.5. Tabel Daerah Operasi Transistor No Kondisi Dioda B/E Dioda B/C

1 Cut Off ( OFF ) Bias Reverse Bias Reverse 2 Saturasi ( ON ) Bias Forward Bias Forward 3 Aktif Bias Forward Bias Reverse

2.4.1. Kondisi Cut-OFF Transistor ( Titik Sumbat )

Titik sumbat yaitu pada daerah ini arus basis = 0 pada kolektor kecil, sehingga arus ini dapat diabaikan akan tetapi yang terjadi adalah Ice0 yang merupakn arus bocor yang disebabkan oleh arus pada permukaan yang bocor. Pada titik sumbat dioda emitter kehilangan bias maju dan suatu kerja normal pada suatu transistor akan terhenti.

Transistor pada keadaan cut off dianggap sebagai rangkaian common emitter yang mana tahanan kolektor terhubung seri dengan emitter sehingga tegangan catu ( VCC ) sama dengan VCE ( VCC = VCE ) dan keadaan ini pun diberi notasi VC ( IC.RC ) dan VCE. Arus kolektor yang mengalir melalui tahanan kolektor dan tegangan cropnya adalah IC.RC.

Jika transistor dianggap sebagai saklar, maka saklar tersebut berada dalam keadaan terbuka, sehingga saklar akan off. Transistor dikatakan cut off karena basis mendapatkan bias negative ( reverse ) yang cukup besar, sehingga akan memutuskan ( cut off ) arus kolektor untuk keadaan ini IC . RC = 0. sehingga tegangan catu sama dengan tegangan antara kolektor dan emitter.

2.4.2. Kondisi Saturasi Transistor ( Titik Jenuh )

Titik jenuh yaitu pada daerah ini yang mana arus basis = Ib ( sat ) dan arus kolektor adalah maksimum. Pada daerah jenuh dioda kolektor akan kehilangan bias mundur ini berarti dioda dibias maju, maka kerja normal dari transistor akan terhenti. Dengan persamaan sebagai berikut :

IC ( sat ) = VCC / RC... ( 2.1 ) (2) Transistor ini akan saturasi, jika pada basis mendapatkan bias arah maju ( forward ) dimana seluruh tegangan VCC muncul sebagai pendrop tegangan pada tahanan kolektor. Bila arus kolektor ( IC ) diperbesar disuatu titik. Dimana seluruh tegangan pada VCC muncul pada tahanan kolektor. Karena seluruh tegangan VCC muncul sebagai pendrop tegangan pada tahanan kolektor. Bila arus kolektor ( IC ) diperbesar pada suatu titik maka:

VCC IC . RC = 0 dan VCE = 0 Volt ( 2.2 ) (2) Keadaan seperti diatas dikatakan pada kondisi saturasi ( jenuh ) dari transisitor, jika transistor

(18)

yang dianggap sebagai saklar, maka akan terhubung.

2.5. Relay

Bentuk sederhana dari penyambungan otomatis dalam sebuah elektronika sirkuit disebut relay. Sebuah relay pada dasarnya terdiri dari dua bagian yaitu lilitan dan magnetic switch. Ketika arus listrik melewati lilitan, medan magnet akan timbul dan mengelilinginya. Medan magnet ini sebanding dengan nilai dari arus listrik yang melewati lilitan tersebut. Pada suatu nilai yang spesifik, medan magnet ini akan cukup kuat untuk menarik switch kontak dari keadaan normalnya atau disebut energized

position. Jika daya listrik yang melewati lilitan

tersebut turun atau hilang maka kekuatan dari medan magnetpun akan turun sampai mencapai nilai nol.

Bagian penyambungan dari relay dapat berupa tipe dasar dari penyambungan seperti SPST (Single Pole Single Throw), SPDT (Single

Pole Double Throw), DPST (Double Pole Single Throw), DPDT (Double Pole Double Throw).

Untuk single-throw units, switch kontak dapat

normally open atau normally closed. Tentu saja

dengan teknik switching SPDT atau DPDT kita juga mendapatkan dua keadaan tersebut yaitu SPDT dan DPDT. Skematik symbol dari SPDT dan SPST relay dapat dilihat dari gambar 2.19.

Gambar 2.19. Simbol Skematik ; A. SPST relay; B. SPDT relay (4)

Lilitan relay dan switching kontak biasanya selalu digunakan dalam sirkuit elektrik yang terisolasi. Yaitu arus yang melalui satu sirkuit yang mengontrol penyambungan (switching) sirkuit yang lain. Relay memiliki beragam ukuran, tergantung kepentingan dari daya yang aman yang dapat dibawanya. Tingkat yang terpisah biasanya digunakan untuk lilitan dan switch contacts, karena biasanya keduanya dipergunakan dalam sirkuit yang terpisah.

Tingkat yang paling penting untuk relay adalah tegangan yang diberikan untuk membuat switch contact bergerak menuju energized

position. Jenis tegangan yang digunakan untuk

relay yang digunakan pada sirkuit elektronik

adalah 6, 12, 24, 48, 117, dan 240 volts. Dapat menggunakan tegangan baik AC maupun DC.

Mengontrol tegangan yang melalui lilitan relay harus dijaga tetap sekitar ±25% dari tingkat nilai. Terlalu besar tegangannya dapat membakar lilitannya. Sementara terlalu kecil tegangan pengontrolnya dapat menghasilkan kerja relay yang tidak maksimal.terkadang dibutuhkan daya yang lebih rendah untuk mengontrol daya yang relative tinggi. Hal ini dapat dilihat dari gambar 2.20. tegangan yang tinggi yang diberikan dari B hanya akan beroperasi ketika relay berfungsi, diberikan daya yang lebih rendah di A.

Gambar 2.20. Relay yang dipakai untuk mengontrol sirkuit dengan tegangan yang

lebih tinggi (4)

Biasanya control sinyal yang ada tidak dapat menyetir relay yang cukup besar untuk dikontrol dalam sebuah sirkuit. Dalam kasus seperti ini, solusinya adalah dengan memberi

medium power relay untuk untuk berfungsi

mengaktifkan switch kontak yang akan mengaktifkan relay dengan tegangan yang lebih tinggi seperti yang terlihat pada gambar 2.21.

Gambar 2.21. Relay kecil dapat dipakai untuk menyetir relay yang lebih berat (4)

Lilitan pada relay akan rusak arus yang melewatinya berubah dengan tiba-tiba, mungkin ketika switch yang dipasang secara seri dengan relay dalam keadaan terbuka seperti pada gambar . tegangan turun dari V + sampai 0 hanya dalam beberapa detik. Hal ini menyebabkan medan magnet yang mengelilingi lilitan turun dengan cepat. Hal ini dapat menyebabkan kerusakan dari switch contacts. Oleh karena itu untuk mengatasi hal demikian sebuah dioda biasanya dipasang parallel dengan lilitan relay untuk menekan

(19)

tegangan peralihan yang tinggi. Seperti digambarkan pada gambar 2.22. Dengan demikian, dioda membatasi tegangan yang melewati lilitan relay menuju tegangan power supply.

Gambar 2.22. Dioda dipasang secara parallel untuk melindungi lilitan relay dari tegangan

tinggi (4)

Sebuah transistor amplifier biasanya digunakan untuk menyetir relay arus tinggi dari sumber arus rendah, seperti batere kecil. Sirkuit tipe ini digambarkan seperti pada gambar 2.23.

Gambar 2.23. Amplifier transistor dapat dipakai untuk menyetir relay berarus tinggi

dari relay yang berarus kecil (4) 2.6. Seven Segment Display

Untuk menampilkan bilangan decimal 0 sampai 9 atau suatu abjad yang dihasilkan oleh decoder, dapat digunakan seven-segment display ( penampil tujuh ruas ). Seven-segment display membentuk angka delapan, dimana masing-masing segment terdapat satu LED yang ditandai dengan huruf a, b, c, d, e, f, g yang akan berpijar atau menyala bila diaktifkan.

Berdasarkan cara pemakaiannya, seven-segment display terdiri dari 2 jenis yaitu :

7 segment Common Anoda ( CA ) 7 segment Common Catoda ( CC )

Gambar 2.24. Gambar Fisik Seven Segmen (3)

2.6.1. Seven Segment Common Catoda Merupakan rangkaian seven segment yang kaki anodanya terhubung dengan rangkaian dan kaki katoda dihubungkan ke ground. Common ini bersifat aktif high, artinya akan aktif (ON) bila bernilai 1 dan akan mati (OFF) bila bernilai 0.

Tabel 2.6. Tabel Karakter Seven Segment Common Katoda a b c d e f G karakter 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 1 2 1 1 1 1 0 0 1 3 0 1 1 0 0 1 1 4 1 0 1 1 0 1 1 5 0 0 1 1 1 1 1 6 0 0 0 1 1 1 1 7 1 1 1 1 1 1 1 8 1 1 1 0 0 1 1 9

2.6.2. Seven Segment Common Anoda

Merupakan rangkaian seven segment yang kaki anodanya terhubung ke tegangan input (VCC), seperti namanya yang artinya penggunaan anoda bersama dan kaki katodanya terhubung ke rangkaian atau dapat dikatakan sebagai masukan ke seven segment. Common anoda bersifat aktif low, artinya akan aktif (ON) bila bernilai 0 dan akan mati (OFF) bila bernilai 1.

(20)

Tabel 2.7. Tabel Karakter Seven Segment Common Anoda a b c d e f G karakter 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 2 0 0 0 0 1 1 0 3 1 0 0 1 1 0 0 4 0 1 0 0 1 0 0 5 1 1 0 0 0 0 0 6 1 1 1 0 0 0 0 7 0 0 0 0 0 0 0 8 0 0 0 1 1 0 0 9

Yang digunakan pada rangkaian kunci elektris sebagai pengaman pintu rumah tinggal dengan menggunakan mikrokontroller AT89S52 ini adalah seven-segment Common Anoda ( CA ), yang merupakan suatu seven-segment dimana semua anoda dari LED terhubung ke VCC atau High dan Catoda dihubungkan ke decoder, seperti terlihat pada gambar 2.25 dibawah ini :

Gambar 2.25. Rangkaian Seven Segmen Common Anoda (3)

2.6.3. Rangkaian Penggerak 8×7-segment Inti dari rangkaian penggerak 8×7-segment ini berdasar bagaimana cara menghidupkan ke-8 dari 7-segment pada mikrokontroller AT89S52 secara bergantian dengan cepat sehingga mata kita melihat seakan-akan hidup bersamaan. Dengan teknik biasa untuk menghidupkan 8 buah seven segment secara bersamaan dibutuhkan 8×8 = 64 jalur atau 8 buah port, sedangkan AT89S52 hanya memiliki 4 buah port, sehingga hanya mampu menghidupkan 4 buah seven segment saja secara bersamaan, itupun jika ditinjau dari instruksi

atau pemprograman tidak hidup secara bersamaan, karena pengiriman data ke masing-masing port secara bergantian.

Cara penyalaan secara bergantian tersebut dinamakan dengan teknik scanning dan hanya membutuhkan dua port saja, port 0 digunakan untuk mengirimkan data karakter yang akan ditampilkan pada seven segment sedangkan port 1 digunakan sebagai saklar yang menghubungkan antara Vcc dan Common Anoda pada seven segment, karena register port1 (P1) panjangnya 8 bit, maka bisa digunakan untuk saklar ke 8 buah seven segment. Konfigurasi saklar menggunakan transistor PNP 9012. sesuai dengan gambar .

Sesuai dengan rangkaian pada gambar , agar ada arus yang mengalir dari Vcc ke Common Anoda maka pada P1.i harus diberi logika 0 sehingga transistor menjadi ON (kondisi jenuh) dan mengalirkan arus dari Vcc ke Common Anoda. Data tampilan seven segment dikirimkan melalui port 0, karena menggunakan konfigurasi seven segment Common Anoda maka untuk menyalakan led pada seven segment harus dikirimkan juga logika 0. secara garis besar algoritma programnya sebagai berikut.

1. Siapkan data tampilan ; 2. Kirim ke Port 0 ;

3. Aktifkan transistor yang terkait pada seven segment yang melalui Port 1 ; 4. Tunggu sebentar (delay) ;

5. Matikan tampilan seven segment melalui Port 0 ;

6. Siapkan data berikutnya dan ulangi mulai langkah 2 dan seterusnya. 2.7. Buzzer

Buzzer adalah sebuah transducer yang berfungsi untuk merubah energi listrik menjadi energi suara. Pada rangkaian kunci elektris sebagai pengaman pintu rumah tinggal buzzer dipergunakan sebagai alarm.

3. PERANCANGAN ALAT 3.1 Prinsip Kerja Alat

Adapun prinsip kerja dari kunci elektris sebagai pengaman pintu rumah tinggal dengan menggunakan mikrokontroller AT89S52 ini adalah sebagai berikut, alat ini terdiri dari beberapa blok yaitu rangkaian pendeteksi, mikrokontroller AT89S52, rangkaian display, dan alarm. Rangkaian pendeteksi berfungsi sebagai pendeteksi data dari kartu yang masuk ke mikrokontroller. Mikrokontroller berfungsi sebagai pengontrol seluruh system dari alat ini.

(21)

Rangkaian display berfungsi sebagai penampil kata-kata yang berguna sebagai pengingat apabila kartu yang masuk merupakan kartu yang benar ataupun bukan. Rangkaian relay sebagai pengunci dan pembuka pintu. Alarm berfungsi sebagai tanda peringatan apabila kartu yang dimasukkan salah selama tiga kali.

Ketika kartu dimasukkan, rangkaian pendeteksi akan memberikan data kepada mikrokontroller AT89S52 lalu mikrokontroller akan membandingkan data yang masuk dengan data yang sudah diinput sebelumnya. Jika kartu yang dimasukkan adalah kartu yang sesuai, data yang masukpun sesuai dengan yang telah diinput pada mikrokontroller, maka relay akan dikenai arus dan akan timbul medan magnet sehingga dapat mengaktifkan motor DC dan membuka pintu. Pada saat yang bersamaan, display akan menampilkan kata Hello. Namun jika kartu yang

dimasukkan bukan kartu yang sesuai, maka pada relay tidak akan dikenai arus dan motor akan tetap pada kondisi semula, sehingga pintu tidak terbuka. Pada saat yang bersamaan, display ke 7 akan menampilkan kata salah 1 untuk kesalahan yang pertama, salah 2 untuk kesalahan yang kedua, salah tiga untuk kesalahan yang ketiga. Dari kesalahan yang pertama hingga kedua kondisi tetap sama, relay tidak aktif sehingga pintu tidak terbuka. Namun ketika kesalahan yang ketiga, alarm berbunyi dan alat tidak dapat mengakses kartu lagi. Pada kondisi ini, alat hanya dapat direset dengan kartu yang lain yang dipergunakan sebagai kartu reset (kartu satpam). Bersamaan dengan diresetnya alat ini dengan kartu satpam display akan menampilkan kata reset Jadi alat ini mempunyai dua kartu yaitu kartu pembuka dan kartu untuk mereset alat.

(22)

1 0 k B D 1 3 9 R e la y 2 1 N 4 0 0 1 1 2 v M O T O R P in tu S 1 S 2

Gambar

Gambar 2.1. Diagram Blok MCS-51 (6)    Perbedaan  antara  seri yang  satu  dengan  yang  lain  pada  keluarga  MCS-51  dapat  dilihat  pada tabel 2.1
Tabel 2.1.Perbandingan antar-IC keluarga  MCS-51  PART  NUMBER  ON-CHIP CODE  MEMORY  ON-CHIP DATA  MEMORY  TIMERS  8051  4 KB ROM  128 bytes  2  8031  0  128 bytes  2  8751  4 KB  EPROM  128 bytes  2  8052  8 KB ROM  256 bytes  3  8032  0  256 bytes  3  8
Tabel 2.2. Fungsi Khusus Port 3
Gambar 2.3. Organisasi Memori  Mikrokontroller 8051 (6)   c.  Register Banks
+7

Referensi

Dokumen terkait

Dalam penelitian ini terdapat dua tokoh pembaharu pendidikan agama Islam yang masih dikenal hingga saat ini yaitu KH Imam Zarkasyi dan KH Ahmad Dahlan, mereka sama-sama hidup

Parameter yang dijadikan acuan dalam kajian penerapan sistem photovoltaic cell dan pengolahan air hujan terhadap efisiensi energi dan air pada bangunan Mesjid Rahmatan Lil

Dalam pelaksanaan siklus II adalah untuk memperbaiki siklus I. Pada siklus ini dengan tema ikhlas dalam beribadah dengan sub bab hanya Allah yang disembah. Sebelum

Bila mahasiswa mengalami kejenuhan dalam belajar, bisa juga mengadakan e- learning dengan hanya menggali dan menelusuri materi dan dijadikan bahan diskusi di pertemuan barikutnya

Berdasarkan survei, proses komunikasi yang dijalankan oleh Karang Taruna Dipo Ratna Muda masih tidak efektif, karena banyak terjadi ketidakpastian anggota untuk mengikuti

Uji signifikasi nilai t (uji parsial) digunakan untuk menguji pengaruh Corporate Social Responsibility terhadap Nilai Perusahaan, dan menguji pengaruh Profitabilitas

[r]

Oleh server telepon selular nilai ini (misal 100000) akan dikirim ke server PLN dan dilakukan pengolahan data yang selanjutnya hasil pengolahan data tersebut..