Fakultas Ilmu Komputer dan id

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

23 Oktober 2014

Bab I
Introduction to 8051
1.1 Dasar Teori
Mikrokontroler
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik
dan umumnya dapat menyimpan program di dalamnya. Mikrokontroler umumnya terdiri dari
CPU ( Central Processing Unit ). Memori, I/O tertentu dan unt pendukung seperti Analog-toDigital Converter ( ADC ) yang sudah terintegrasi di dalamnya. Kelebihan utama dari
mikrokontroler ialah tersedianya RAM dan peralatan I/O pendukung sehingga ukuran board
mikrokontroler menjadi sangat ringkas. Mikrikintriler MCS51 ialah mikrokomputer CMOS 8
bit dengan 4 KB Flash PEROM ( Programmable and Erasable Only Memory ) yang dapat di
hapus dan di tulisi sebanyak 1000 kali. Mikrokontroler ini diproduksi dengan menggunakan
teknologi gifh density non-volatile memory. Flash PEROM on-chip tersebut memungkinkan
memori program untuk deprogram ulang dalam sistem ( in-system programming ) atau
dengan menggunakan programmer non-volatile memory konvensional. Kombinasi CPU 8 bit
serbaguna dan Flash PEROM, menjadikan mikrokontroler MCS51 menjadi microcomputer

handal yang fleksibel. Microcontroller memiliki beberapa bagian atau saluran yang terdapat
di dalamnya. Bagian bagian microcontroller tersebut yaitu Input/ Output (I/ O), Central
Processing Unit (CPU), Memory, Read Only Memory (ROM), dan Random Acces Memory
(RAM).

1

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

23 Oktober 2014

Bentuk Fisik Mikrokontroler MCS51 40 pin.

Arsitektur perangkat keras mikrokontroler MCS51 mempunyai 40 kaki, 32 kaki digunakan
unuk keperluan 4 buah port paralel. 1 port terdiri dari 8 kaki yang dapat di hubungkan untuk

interfacing ke pararel device, seperti ADC, sensor dan sebagainya, atau dapat juga di
gunakan secara sendiri setiap bitnya untuk interfacing single bit seperti switch, LED dll.
Karakteristik lainnya dari mikrokontrolel MCS51 sebagai berikut :
 Low-power
 32 jalur masukan/keluaran yang dapat di program
 Dua timer conter 16 bit
 RAM 128 byte
 Lima interrupt

2

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

23 Oktober 2014


Beberapa fitur penting pada 8051 antara lain :
 RAM (Random Access Memory) : pada microcontroller 8051 mempunyai RAM
dengan ukuran standart yaitu sebesar 128 bytes. RAM digunakan untuk menyimpan
variable. RAM bersifat volatile, artinya semua data akan hilang jika alat tersebut
dimatikan atau tidak dialiri tegangan.
 ROM (Read Only Memory) : pada microcontroller 8051 mempunyai ROM dengan
ukuran standart yaitu sebesar 4 Kbytes. ROM ini sifatnya permanen, artinya program /
data yang disimpan di dalam ROM ini tidak mudah hilang atau berubah walau aliran
listrik di matikan.
 Register : Register yang dimaksud adalah tempat untuk menyimpan variable yang
disediakan oleh microcontroller dengan ukuran besar 1 Byte. Microcontroller 8051
memiliki register banks, dimana setiap grup register bisa digunakan untuk
programming. Semua register banks terletak pada alamat 00h sampai 1Fh pada RAM.
 Special Function Register : sama seperti register tetapi mempunyai fungsi special
yaitu mengontrol bagaimana microcontroller tersebut bekerja. Special Function
Register terletak pada RAM.

3

Praktikum Barak

Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

23 Oktober 2014

Perbedaan microcontroller dan microprocessor
 Microcontroller digunakan untuk melakukan berbagai tugas spesifik dan memantau
sesuatu yang spesifik, sedangkan microprocessor digunakan untuk melakukan tugas
yang berskala besar.
 Microcontroller memiliki beberapa fasilitas terintegrasi seperti I/O, RAM, dan ROM.
Sedangkan microprocessorlah yang membutuhkan fasilitas tersebut dan memilikinya
secara terpisah.
Sistem Penomoran
 Desimal merupakan angka dengan basis 10 yang dimulai dari angka 0~9. Contoh angka
desimal adalah 234, dimana 234 = 2*10^2 + 3*10^1 + 4*10^0 . Hexadesimal
merupakan angka dengan basis 16 dimulai dari 0~9, dilanjutkan dengan huruf a~f.
Sebagai contoh, 234h merupakan hexadesimal dimana terdiri atas = 2*16^2 + 3*16^1 +

4*16^0.
 Oktal merupakan angka dengan basis 8 dimulai dari angka 0~7. Sebagai contoh 234h =
2*8^2 + 3*8^1 + 4*8^0
 Biner merupakan angka dengan basis 2 yang terdiri atas angka 0 dan 1. Sebagai contoh,
1101 = 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0
Untuk mempermudah konversi angka dari satu basis ke basis lainnya, akan lebih mudah
apabila mengkonversikan segala jenis angka kedalam angka biner terlebih dahulu.
Sebagai contoh, untuk memperoleh angka oktal dari heksadesimal yang diberikan
sebagai berikut : F2B3H, konversikan F2B3h menjadi biner 1111 0010 1011 0011 dan
ubah biner tersbut menjadi angka oktal yang adalah 171263.
4

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

23 Oktober 2014


Pengenalam Mikrocontroller 8051
Dimasa kini, beberapa bagian pada 8051 sudah berkembang, termasuk didalamnya
kapasitas ROM / RAM yang lebih besar dan beberapa fasilitas tambahan lainnya seperti
tambahan interface dan SFR register. Walaupun banyak terdat perubahan, dasar dari
mikrokontroller 8051 tidak berubah sehingga program yang sama dapat diterapkan pada
chip yang berbeda.
Dibawah ini merupakan diagram dari mikrokontroller 8051.

5

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

Seperti yang bisa dilihat pada diagram diatas,


23 Oktober 2014

microcontroller

mempunyai

microprocessor terintegrasi, RAM dan ROM, 6 interrupt, clock generator internal, dan
juga 4 byte I/O termasuk port 0, port 1, port 2, dan port 3. Bentuk AT89S52 dapat
dilihat pada gambar di bawah ini.

6

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

23 Oktober 2014


Arsitektur ROM pada Mikrocontroller
ROM 4kb memiliki strukrur:

Arsitektur RAM pada Mikrokontroller
RAM 3 * 128byte memiliki struktur:
128 byte pertama dapat diakses dengan Addressing Direct dan Indirect.

7

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

23 Oktober 2014

128 byte berikutnya (kedua) hanya dapat diakses dengan Addressing Direct.


128 byte berikutnya (ketiga dan hanya ada pada 8052) hanya dapaytt diakses menggunakan
Addressing Indirect dan memiliki alamat yang sama dengan 128 byte kedua, dan kita dapat
menggunakan alamat ini secara bebas karena tidak digunakan oleh program lain.
Pemrograman Mikrokontroller
Mikrokontroller 8051 dapat diprogram menggunakan bahasa assembly/bahasa rakitan.
Program dapat ditulis dengan software text editor semacam Notepad atau Textpad.
Program yang sudah ditulis dalam text editor tersebut harus disimpan dengan format .asm .
Kompiler yang kita gunakan untuk merubah program tersebut ke bahasa mesin bernama
ASM51. Setelah .asm tersebut sudah di compile, program tersebut akan menghasilkan
.hex. Hex inilah yang nantinya akan diburn pada microcontroller menggunakan kabel
serial/parallel yang terhubung dengan PC

8

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer

Binus University

23 Oktober 2014

Pemrograman 8051
Seperti yang sudah dijelaskan sebelumnya, program pada microcontroller dibuat
menggunakan text edito. Ketika menulis sebuah program untuk ASM51 kompiler, ada
beberapa hal yang harus diperhatikan, satu diantaranya adalah memastikan bahwa tidak
ada error pada program yang dibuat. Dibawah ini adalah tahap awal dalam membuat
program :

9

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University


23 Oktober 2014

Ada beberapa elemen yang dipergunakan dalam pemrograman 8051 :


Label : Digunakan oleh programmer untuk menamai alamat memory dari suatu
instruksi.



Command



Mov dest, src : untuk menyalin nilai dari variabel src (sumber) ke variabel dst
(tujuan). Contoh : Mov A,B artinya menyalin/memasukan nilai yang ada di B ke A.



ORG : digunakan untuk mengatur alamat dari bahasa rakitan. Contoh : ORG 30h,
artinya memberitahu assembler untuk melanjutkan assembly pada 30h.



AJMP : merupakan fungsi GO TO pada bahasa rakitan. Contoh : AJMP 40h,
artinya eksekusi program selanjutnya berada pada 40h.

1.2 Tujuan Praktikum




Memahami arsitektur dari 8051 mikrokontroller.
Memahami konversi-konversi angka yang sering digunakan pada bahasa
assembly.





Memahami pengaplikasian pada mikrokontroller
Memahami instruksi dasar pada IC 8051

1.3 Peralatan






10

Assembly Language Board
Adapter
Serial Cable

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

23 Oktober 2014

1.4 Prosedur Praktikum
a. Procedure
1. Ketik program dibawah ini menggunakan notepad.

11

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

2.

12

23 Oktober 2014

Compile dan simulasikan dengan FSIM. Lihat hasil pada display FSIM!

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

23 Oktober 2014

1.5 Analisa :


Biner adalah suatu bilangan yang berbasis 2 nilai atau angka yaitu 0 dan 1. Octal adalah
suatu bilangan yang berbasis 8 nilai yaitu 0,1,2,3,4,5,6,dan 7. Sedangkan Decimal adalah
suatu bilangan yang berbasis 16 nilai yaitu 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E, dan F. ke empat
bilangan tersebut dapat dikonversi atau di ubah kebentuk bilangan lain, seperti dari decimal
ke biner, hexadecimal ke octal, biner ke octal, dan seterusnya. Contoh : ada suatu bilangan
biner di konversi ke bilangan decimal, bilangan biner sejumlah 11001. Angka 1 yang
paling kanan bernilai 1 x 2^0 = 1, kemudian angka 0 di sebelahnya bernilai 0 x 2^1 = 0,
dan angka 0 yang di sebelahnya mempunya nilai yang sama yaitu 0, selanjutnya angka 1
mempunyai nilai 1 x 2^3 = 8, dan angka 1 yang terakhir atau angka 1 yg sebelah kiri
mempunyai nilai 1 x 2^4 = 16. Kemudian setelah semua nilai tersebut di dapat, jumlahkan
angka tersebut menjadi  1 + 0 + 0 + 8 + 16 = 25. Jadi bilangan decimal dari 11001 adalah
25.



Perbedaan dasar mikroprosesor dengan mikrokontroler adalah Mikroprosesor dalam
perkembangan komputer digital disebut sebagai Central Processing Unit (CPU) yang
bekerja sebagai pusat pengolah dan pengendalian pada sistem komputer mikro. Sebuah
mikroprosesor tersusun dari tiga bagian penting yaitu : Arithmetic Logic Unit (ALU),
Register Unit (RU), dan Control Unit (CU). Untuk membangun fungsi sebagai komputer
mikro, sebuah mikroprosesor harus dilengkapi dengan memori, biasanya memori program
yang hanya bisa dibaca (Read Only Memory=ROM) dan memori yang bisa dibaca dan
ditulisi (Read Write Memory=RWM), decoder memori, osilator, dan sejumlah peralatan
input output seperti port data seri dan parallel. Sedangkan mikrokontroler adalah komputer

13

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

23 Oktober 2014

mikro dalam satu chip tunggal. Mikrokontroler memadukan CPU, ROM, RWM, I/O
paralel, I/O seri, counter-timer, dan rangkaian clock dalam satu chip tunggal. Sama halnya
dengan mikroprosesor, mikrokontroler adalah piranti yang dirancang untuk kebutuhan
umum. Penggunaan pokok dari mikrokontroler adalah untuk mengontrol kerja mesin atau
sistem menggunakan program yang disimpan pada sebuah ROM. Untuk melihat perbedaan
konsep diantara mikroprosesor dan mikrokontroler di bawah ini ditunjukan tabel
perbandingan konfigurasi, arsitektur, dan set instruksi diantara mikroprosesor Z-80 CPU
dengan mikrokontroler 8051.


Dalam µC ada beberapa istilah untuk menyatakan satuan data. Beberapa istilah dasar
adalah bit, nibble, dan byte. Bit adalah satuan terkecil sebuah data yang isinya adalah satu
bilangan biner, 0 atau 1. Ini sering juga disebut logic. Logic 1 dan 0 mempunyai arti on dan
off pada µC. Logic 0 berarti off dan 1 berarti on. Nibble merupakan satuan data yang
terdiri dari 4 buah bit. Sedangkan 1 byte merupakan satuan data yang isinya 8 buah bit.

14

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University



23 Oktober 2014

AT89S52 adalah sebuah µC buatan atmel. IC ini terdiri dari 40 pin yang 32 pinnya dapat
dijadikan input/output. Untuk lebih jelasnya perhatikan gambar di bawah ini :

IC ini memiliki pin Vcc pada kaki ke 40 untuk suplai tegangan dan GND pada kaki ke 20
untuk ground.






Port 1 pada IC ini ada yang memiliki fungsi kedua yaitu pada pin 1 (P1.0) sebagai
T2 atau pin timer 2, kaki pin ke 2 ( P1.1) sebagai trigger pada Timer 2.
Pada P1.5, P1.6, P1.7 adalah pin untuk komunikasi serial dengan perangkat lain.
Port 3 pada IC ini juga memiliki fungsi kedua yaitu pada kaki ke 10 ( P3.0) dan
kaki ke 11 (P3.1) untuk komunikasi serial dengan komputer, lalu kaki ke 12 (P3.2)
dan kaki ke 13 (P3.3) untuk pin interupt 0 dan 1, kaki ke 14 (P3.4) dan kaki ke 15
(P3.5) untuk timer 0 dan 1, sedangkan kaki ke 16 (P3.6) dan kaki ke 17 (3.7) untuk
komunikasi ke memory external.

Pin lain pada IC ini antara lain adalah pin RST untuk reset, ALE/PROG untuk mengenable address untuk external memory, PSEN untuk komunikasi dengan eksternal
memory, EA/VPP untuk mengaktifkan external memory jika digunakan, dan XTAL1
15

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

23 Oktober 2014

XTAL2 sebagai input dan output osilator.IC AT89S52 juga mempunyai SFR atau special
function register yang merupakan sekelompok register yang sudah dibuat untuk suatu


fungsi tertentu.
Beberapa syntax dasar pada 8051 adalah
1. JB

bit, addr  Jump if bit set, Program akan lompat ke addr jika bit = 1

2. DJNZ reg, addr  Decrement and jump if not zero. Mengurangi nilai pada
reg sebanyak 1, dan jika nilai reg tidak menjadi 0 makan program akan
loncat ke addr.
3. CJNE operand1, operand2, addr compare and jump if not equal.
Membandingkan nilai operand1 dan operand2, jika nilai tersebut tidak sama
makan program akan loncat ke addr.
4. DB

 digunakan untuk memasukan 8 bit data pada code memory atau

program.


Register bank : 8051 Menggunakan 8 'R' Register yang digunakan dalam banyak dengan
instruksi. Kedelapan register ini digunakan sebagai register landasan kasar. Ada empat
register bank, masing-masing memiliki register R0 sampai R7. Tiap-tiap register ini
memiliki lebar 8-bit. Dalam satu saat hanya satu bank yang dapat dipilih oleh bit-bit
pengaturan yang sesuai dalam Program Status Word (PSW). Register-register bank ini
berada di dalam RAM. Dengan demikian, pemilihan register bank yang efektif
memungkinkan 32 register digunakan saat menulis program. Perintah tertentu dapat
mengakses register-register RAM ini secara langsung. Power-up-reset menyebabkan bank
0 dipilih sebagai patokan. Jika seseorang menulis byte dalam R4, ini akan tersimpan

16

Praktikum Barak
Universitas Bina Nusantara

Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Binus University

23 Oktober 2014

dalam RAM di lokasi 04H. Jika dalam kasus lain, ketika programmer memilih bank 1 dan
menulis byte dalam R4, byte tersebut akan disimpan dalam RAM di lokasi 0CH.


Compiler adalah suatu program yang menerjemahkan bahasa program ( source code)
kedalam bahasa objek (obyek code). Compiler menggabungkan keseluruhan bahasa
program,

mengumpulkannya

dan

kemudian

menyusunnya

kembali.

Komplier memerlukan waktu untuk membuat suatu program dapat di eksekusi oleh
computer, program yang dieksekusi oleh compiler adalah dapat berjalan lebih cepat
disbanding program yang diperoduksi oleh interpreter, disamping itu juga bersifat
independen. Contoh program yang menggunakan compiler adalah Visual Basic, Visual
Delvi, Pascal. Java, C dll.


Pada percobaan ini program yang dibuat akan dicompile oleh FSIM, dan dari FSIM
tersebut kita bisa melihat nilai-nilai yang diterima ROM sesuai dengan program yang
dibuat. Kita bisa melihat instruksi – instruksi beserta nilainya dari “PCtr Instruction”
yang berada pada display FSIM.

1.6 Kesimpulan
Dalam percobaan yang di lakukan dalam leb bahwa kita dapat membuat program dalam
notepad dan memasukkan program yang telah kita buat ke 8015. Simulasi pada FSIM
dapat membuktikan bahwa setiap bahasa assembly dan program yang kita buat pada
notepad memberikan suatu nilai dalam bentuk hexadecimal pada RAM dan ROM sesuai
dengan apa yang kita program.

17

Praktikum Barak
Universitas Bina Nusantara

Dokumen yang terkait

Keanekaragaman Makrofauna Tanah Daerah Pertanian Apel Semi Organik dan Pertanian Apel Non Organik Kecamatan Bumiaji Kota Batu sebagai Bahan Ajar Biologi SMA

26 317 36

FREKUENSI KEMUNCULAN TOKOH KARAKTER ANTAGONIS DAN PROTAGONIS PADA SINETRON (Analisis Isi Pada Sinetron Munajah Cinta di RCTI dan Sinetron Cinta Fitri di SCTV)

27 310 2

Analisis Sistem Pengendalian Mutu dan Perencanaan Penugasan Audit pada Kantor Akuntan Publik. (Suatu Studi Kasus pada Kantor Akuntan Publik Jamaludin, Aria, Sukimto dan Rekan)

136 695 18

DOMESTIFIKASI PEREMPUAN DALAM IKLAN Studi Semiotika pada Iklan "Mama Suka", "Mama Lemon", dan "BuKrim"

133 700 21

KONSTRUKSI MEDIA TENTANG KETERLIBATAN POLITISI PARTAI DEMOKRAT ANAS URBANINGRUM PADA KASUS KORUPSI PROYEK PEMBANGUNAN KOMPLEK OLAHRAGA DI BUKIT HAMBALANG (Analisis Wacana Koran Harian Pagi Surya edisi 9-12, 16, 18 dan 23 Februari 2013 )

64 565 20

PENGARUH PENGGUNAAN BLACKBERRY MESSENGER TERHADAP PERUBAHAN PERILAKU MAHASISWA DALAM INTERAKSI SOSIAL (Studi Pada Mahasiswa Jurusan Ilmu Komunikasi Angkatan 2008 Universitas Muhammadiyah Malang)

127 505 26

PENERAPAN MEDIA LITERASI DI KALANGAN JURNALIS KAMPUS (Studi pada Jurnalis Unit Aktivitas Pers Kampus Mahasiswa (UKPM) Kavling 10, Koran Bestari, dan Unit Kegitan Pers Mahasiswa (UKPM) Civitas)

105 442 24

Pencerahan dan Pemberdayaan (Enlightening & Empowering)

0 64 2

KEABSAHAN STATUS PERNIKAHAN SUAMI ATAU ISTRI YANG MURTAD (Studi Komparatif Ulama Klasik dan Kontemporer)

5 102 24

GANGGUAN PICA(Studi Tentang Etiologi dan Kondisi Psikologis)

4 75 2