P. 1
DIKTAT MIKROPROSESOR

DIKTAT MIKROPROSESOR

|Views: 1,113|Likes:
Published by otrayigus

More info:

Published by: otrayigus on Jun 04, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/29/2013

pdf

text

original

Sections

DIKTAT KULIAH SISTEM MIKROPROSESOR

Disusun Oleh : Susanto Sambasri, ST.,MT / Rizal Suryana, ST

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS JENDERAL ACHMAD YANI CIMAHI 2008

BAB I SEJARAH MIKROPROSESSOR DAN PERKEMBANGAN MIKROPROSESSOR

1. Perkembangan Jenis Teknologi Mikroprosessor Berbagai jenis teknologi telah dipergunakan dalam pengembangan komponen mikroelektronika, khususnya mikroprosessor. Teknologi Rangkaian Terintegrasi yang telah dipergunakan sampai waktu ini adalah
● ● ● ●

Teknologi Bipolar Teknologi MOS (Metal Oxide Semiconductor) CTD (Change transfer Devis) Magnetic Bubbles

Dalam pembuatan mikroprosessor dikenal beberapa macam teknologi yang masing-masing mempunyai karakteristik teknik tertentu. Pada tabel 1-1 diperlihatkan pembagian teknologi mikroprosessor beserta beberapa contohnya. Tabel 1-1 Pembagian teknologi mikroprosessor JENSI TEKNOLOGI TEKNOLOGI MOS PMOS NMOS INTEL 4004,4040,8008 INTEL 8080,8085,8086,8048,8748 MOTOROLA CMOS TEKNOLOGI BIPOLAR BIPOLAR SATURATED) ECL SCHOTTKY BIPOLAR JENUH (SATURATED) I2L TEXAS INTRUMENTS SBP0400, SBP900 MOTOROLA MC10800 INTEL 3001, AMD Am2901, Am2903 TAK-JENUH (UNMC6800,MC6802, MC5801, MC6805, ZILOG Z80, Z8000 MOTOROLA MC146805, MC14500 CONTOH MIRKOPROSESSOR

Tabel 1-2 Perbandingan Karakteristik Mikroprosessor SPEED TEKNOLOGI MOS PMOS NMOS Rendah RendahSedang CMOS Sedang Sangat Kecil Sedang Tinggi CMOS-SOS Sedang Tinggi TEKNOLOGI BIPOLAR TTL Sedang Tinggi ECL Sangat Tinggi Tinggi – Sedang Sedang Tinggi Sedang Pemakaian Meningkat I2L Sedang Tinggi – Rendah, Dapat Sangat Tinggi diatur Baru, meningkat Pemakaian – Tinggi – Kecil Tinggi Rendah – Daya Terkecil Sedang Sedang Tinggi Tinggi Pemakaian menurun Standard DAYA DENSITY KETERANGAN

Teknologi PMOS adalah teknologi yang paling murah dan merupakan teknologi yang dipergunakan pada mikroprosessor pertama yaitu Intel 4004 pada tahun 1971, namun demikian banyak hal telah digantikan oleh teknologi NMOS. Pada waktu ini teknologi MOS kanal N adalah yang paling banyak dipergunakan dalam pembuatan mikroprosessor. Dalam hal faktor kecepatan operasi dan atau kebutuhan daya memegang peranan penting maka perlu diperhatikan jenis teknologi lainnya. Mikroprosessor dengan teknologi bipolar jenis ECL atau Schottky mempunyai kecepatan paling tinggi. Untuk keperluan daya paling rendah dapat kita pilih mikroprosessor dengan teknologi CMOS(Complementary Metal Oxide Semiconductor). Mirkoprosessor dengan teknologi bipolar jenis I2L dapat bekerja dengan tegangan sumber paling rendah dibandingkan dengan mikroprosessor jenis yang lain. Mikroprosessor jenis I2L ini dapat bekerja dengan daya rendah bila kecepatan operasi bukan merupakan faktor menentukan. Mikroprosessor dengan teknologi CMOS yang mempergunakan sub-strat bahan isolator saphir (yaitu jenis CMOS – SOS) dapat bekerja dengan kecepatan operasi tinggi dan

keperluan daya rendah, tetapi harnya sangat mahal. Disamping harga, tiga macam karakteristik teknik yang paling penting adalah Kecepatan operasi (Speed), Daya yang diperlukan (Power Consumption) Kepadatan komponen perbandingan karakteristik beberapa jenis mikroprosessor dengan teknologi yang berbeda. 2. Perkembangan Jenis Mikroprosessor Mikroprosessor dapat dikelompokkan menurut teknologi yang dipergunakan, menurut jumlah bit data, menurut struktur atau menurut kemampuan/karakteristik mikroprosessor dan menurut fungsi dari mikroprosessor itu sendiri. Berdasarkan jumlah bit data (Word Size) pada waktu ini telah terdapat banyak macam mirkoprosessor, mulai dari mikroprosessor 1 bit, 4bit, 8 bit. 16 bit, 32 bit dan 64 bit. Selain itu mirkoprosessor dapat pula dikelompokan menurut fungsi dan integrasisnya adalah sebagai berikut :
● ● ●

Mikroprosessor Monolotik (Chip Tunggal) Mikrokomputer chip tunggal (One – chip Mircocomputer) Mikroprosessor (atau Prosessor) Bit – Slice

2.1 Mikroprosessor 4 bit Mikroprosessor intel 4004 merupakan mirkroprosessor pertama yang diperkenalkan pada tahun 1971. Mikroprosessor tersebut memperguanakan teknologi PMOS. Selain itu telah dikembangkan pula beberapa buah mirkoprosessor 4 dengan teknologi yang sama dan dengan teknologi yang lain. Alasan disebut mikroprosessor 4 bit adalah karena mikroprosessor ini hanya mampuh mengolah data 4 bit. 2.2 Mikroprosessor 8 bit Mikroprosessor 8 bit merupaka mikroprosessor standard yang memperguanakan teknologi PMOS atau NMOS dan umumnya berupa mikroprosessor monolitik.

Mikroprosessor ini diperkenalkan pada tahun 1975. sifat khusus mirkoprosessor ini adalah : Harga Murah, dengan kepadatan komponen sangat tinggi, daya yang cukup rendah tetapi dengan kecepatan yang relatif rendah pula. Beberapa contoh diantaranya adalah : Motorola 6800, 6809, Intel 8080, 8085 dan Zilog Z-80 yang semuanya mempergunakan Teknologi NMOS.

Beberapa contoh one-chip microcomputer yang mempergunakan teknologi NMOS adalah Motorola 6801 dan 6805. ECL atau I2L) prosessor jenis ini mempunyai kecepatan tinggi meskipun dengan kepadatan yang agak kurang. keuntungan mikroprosessor ini adalah bersifat microprogrammable. Kelemahan mikroprosessor CMOS dibandingkan dengan jenis bipolar adalah dalam ini kecepatan. Untuk mengatasi kekurangan ini telah dikembangkan mikroprosessor jenis CMOS-SOS dan HSCMOS yang mempunyai kecepatan kira-kira sama dengan jenis TTL Schottku tetapi dengan kebutuhan daya jauh lebih rendah. maka jumlah komponen yang diperlukan untuk membuat suatu sistem menjadi makin kecil. Contoh AMD 2903.6 Single-Chip Microcomputer Unit mirkokomputer (MCU = Mircocomputer Unit) ini telah mengandung unit mirkoprosessor (MPU = Microprocessing Unit). Contoh MC 14500. Motorola 10800.4 Mikroprosessor CMOS Dengan teknologi CMOS. MC14500B merupakan suatu mikroprosessor 1 bit yang dikenal dengan nama Industial Control Unit (ICU). maka mikroprosessor ini memerlukan daya paling kecil dibandingkan dengan mikroprosessor yang mempergunakan teknologi lain. . Misalnya MC6802 (Terdiri atas MPU + RAM + Clock) dan Intel 8035. Dengan menghubungkan paralel m buah prosessor bit slice dari n bit. 2. suatu mikroprosessor plus umumnya mengandung sebuah MPU + RAM atau Komponen lain. 2.2. 2. mikroprogram dapat dibuat oleh user. Memori dan unit input output. sedangkan yang mempergunakan teknologi CMOS yaitu : 87C41 dan 87C48 (Intersil) dan Motorola 1468056. Maka dapat diperoleh suatu mikroprosessor dengan bit data (word length) = m x n bits.5 Mikroprosessor Plus Komponen ini merupakan jembatan antara mikroprosessor monolitik dan one – chip microcomputer. Dengan mempergunakan MCU ini. Intel 8041 dan 8049. 1802 dan 8085.3 Prosessor Bipolar Jenis Bit – Slice Dengan menpergunakan teknologi bipolar *Schottky TTL.

Mikroprosessor 8086 mempunyai bus data 16 bit. 80188. Motorola MC68000. mikroprosessor ini mempunyai bus alamat 20 bit. Contohnya NS32032.048.57626 lokasi memori. . Mikroprosessor ini dikenal dengan sebutan prosessor64. 80286. 2. maka teknologi mikroprosessor berkembang pula dalam arah jumlah bit data yang makin meningkat disamping peningkatan dalam segi kemampuan lainya. bagian ALU (Arithmetic Logic Unit). mikroprosessor ini makin populer dan terlihat mulai menggeser mikroprosessor 8 bit dalam kedudukannya sebagai mikroprosessor standard. yang dapar bekerja dengan memori dalam orde Mega byte. 8088. 80186.8 Mikroprosessor 32 bit Dengan Perkembangan yang pesat dalam teknologi rangkaian terintegrasi jenis VLSI.7 Mikroprosessor 16 Pada mikroprosesor 16 bit. sehingga dapat mengalamati sebanyak 220 = 1. 80288 (intel).9 Mikroprosessor 64 bit Mikroprosessor ini diperkenalkan pada tahun 2002 pertamakali Oleh AMD. Zilog Z8000 dan Texas Instruments 9900. Dengan menggunakan mikroprosessor 64 bit dapat bekerja dengan memori dalam orde giga byte bahkan sampai tera byte. Beberapa jenis mikroprosessor 16 bit yang cukup dikenal adalah : 8086.2. Motorola 68020. sehingga dapat menulis atau membaca data ke/dari memori atau port input/output sebesar 16 bit atau 8 bit setiap saat. 2. Pada sekitar tahun 1984/1985 telah diperkenalkan mikroprosessor 32 bit. Western Electric WE32000. Kemampuan mikroprosessor 64 bit dapat mengolah gambar dalam bentuk tiga dimensi. register dalam dan sebagian besar intruksinya dirancang untuk dapat berkeja dengan binary words sebesar 16.

dilanjutkan dengan menafsirkan dan mengatur sinyal yang terdapat pada bus pengendali. maka harus ditetapkan terlebih dahulu alamat (address) dari alat tersebut. Hal ini bertujuan untuk menghindari terjadinya dua lata yang berkerja bersamaan yang mungkin dapat menyebabkan kesalahan/keruskan. Bus Alamat  Apabila suatu alat dihubungkan dengan mikrokontroller tersebut. juga aliran dan intruksi program. AND. 2. Mikroprosessor  Mikroprosessor adalah Central Processing Unit dari sebuah computer. Unit aritmatika dan logika melaksanakan pengelohan data secara aritmatika (aljabar) dan secara logika (fungsi OR. CPU (Central Prossesing Unit)  Unit Pengelola pusat (CPU) terdiri atas dua bagian. dan peripheral yang dibutuhkan oleh suatu system lengkap.BAB II PENGERTIAN UMUM 1.  Alat penyimpan data (memori). Unit juga menghasilkan dan mengatur sinyal pengendali yang diperlukan untuk menyerempakkan operasi. ROM dan I/O unit. yaitu unit pengendali (Control Unit) serta aritmatika dan logika (ALU). Untuk selanjutnya karena fungsinya SCM dapat disebut mikrokontroller. mengkode.  Unit Pengontrol mengendalikan aliran informasi pada bus data dan bus alamat. Sebagai contoh 8088 dan 80x86 adalah suatu mikroprosessor yang membutuhkan perangkat pendukung berupa RAM. Unit pengendali mengatur urutan operasi seluruh system. 3.  Bila sebuah mikroprosessor dikombinasikan (CPU) dengan memori dan I/O unit dapat juga dilakukan dalam level chip yang menghasilkan single chip mikrokomputer (SCM) untuk membedakannya dengan mikrokomputer. I/O unit. juga mempunyai alamat . baik RAM maupun ROM. NOT. dan melaksanakan urutan intruksi sebuah program yang tersimpan dalam memori. tanpa memori. dan XOR). Fungsi utama unit pengendali adalah mengambil.

Setelah mikrokontroller mengirim alamat (A0…A7) ke penahan alamat (latch 74LS373). Sebagai contoh untuk data 8 bit adalah : Data Bobot Hexa D7 80 D6 40 D5 20 D4 10 D3 08 D2 04 D1 02 D0 01  Karena menggunakan bus data yang lebarnya 8 bit. WR.  Pada mikrokontroller MCS`51 terdapat beberapa pin yang berguna untuk mengendalikan system. lebar bus data 8 bit juga digunakan oleh alat-alat lain seperti EPROM. Bus Kontrol  Selain bus alamat dan bus data. Interupt dan lain-lain. Akan tetapi. PIO dan lain-lain. setiap bit data memiliki bobot masingmasing. 4. hanya didalam chip. penahan pengendali ALE akan dibuat tinggi agar alamat tersebut ditahan. lebar Bus data AT89S51 adalah 8 bit sehingga memerlukan 8 pin (D0…D7). diantaranya adalah ALE. ADC. RAM 8 Kbyte memiliki 8 x 1024 alamat. RAM.tersendiri. Setelah itu pin PSEN akan rendah untuk dapat membaca EPROM.  Pin untuk bus data dimultipleks dengan alamat A0…A7 pada port 0. PSEN. tergantung pada letaknya. karena jumlah pin mikrokontroller terbatas. karena alamat (A0…A7) sudah ditahan oleh latch. karena itu port 0 seringkali ditulis sebagai AD0…AD7. port 0 sekarang dapat digunakan untuk memasukan data dari EPROM ke mirkokontroller operasi mikroprossesor/mikrokontroller dengan operasi . 5. Guna pengendali ini adalah untuk menyerempakkan rangkain luar. pin data ini tidak dapat dikeluarkan. dimana setiap alamat dapat di isi data 1byte. mikroprossesor/mikrontroller dilengkapi juga dengan bus pengendali (bus control). RD. Bus Data  CPU mikrokontroller AT89S51 adalah prosesor 8 bit. Bus data internal terhubung ke alat (dunia luar) melalui port I/O.

Dalam RAM static. yaitu RAM static dan RAM dinamik. Dua contoh RAM static adalah 6116 dan 6264 yang masing-masing berkapasitas 2 kb dan 8 kb. RAM hanya digunakan untuk menyimpan data sementara. dan memori massal. Sel memori elemeter dibuat dari kapasitansi gerbang substrat transistor MOS.6. biasanya berbentuk disket. Keuntungan RAM dinamik adalah sel-sel memori lebih kecil sehingga memerlukan tempat yang lebih sempit. atauk kaset. Data dalam RAM akan terhapus (bersifat Volatile) bila catu daya dimatikan. yaitu data yang tidak begitu vital bila hilang akibat aliran daya terputus. register internal adalah memori di dalam ALU. sehingga RAM dinamik menjadi lebih kecil dibandingkan dengan . Ukurannya berkisar antara 4 Kbyte sampai 64Kbyte. 7. Memori utama adalah memori suatu system. Sedangkan pada PC (computer) program disimpan dalam disket atau hardisk. Pada mikroprossesor/mikrokontroller.  RAM dinamik menyimpan bit informasi sebagai muatan.  Ada beberapa tingkatan memori. tempat menyimpan program/data adalah pada ROM/EPROM. RAM static tidak memerlukan penyegar dan penangannanya tidak terlalu rumit. RAM  RAM (Random Acces Memory) adalah memori yang dapat dibaca atau ditulis. maka program mikroprossesor/mikrokontroller tidak tersimpan dalam RAM. Waktu akses register sangat cepat umumnya kurang dari 100ns. Isi dari RAM tetap tersimpan selama daya diberikan. satu bit infromasi disimpan dalam sebuah flip-flop. memori utama. Memori  Suatu sistem mikroprossesor/mikrokontroller maupun komputer memerlukan memori untuk tempat menyimpan program/data.  Ada dua teknologi yang dipakai untuk membuat RAM. diantaranya adalah register internal. yaitu antara 200 sampai 1000ns. Oleh karena sifat RAM yang volalite ini. Memori massal dipakai untuk menyimpan berkapasitas tinggi. Waktu akses lebih lambat dibandingkan register internal. pita magnetic.

Isi EPROM dihapus dengan menggunakan sinar Ultra Violer.RAM static. Proses penyegaran untuk kapasitor ini dilakukan setiap 1 atau 2 mili detik. yaitu PROM yang dapat diprogram ulang. Isi program dihapus menggunakan suatu tegangan listrik. Isi EPROM setelah dihapus akan berlogika 1. UART (Universal Asynchronous receiver transmitter) yang merupakan pengirim penerima tak serempak universal. dibutuhkan alat I/O (input/output). Pada mikrokontroller MCS`51 kedua macam I/O tersebut sudah tersedia didalamnya. pemograman EPROM adalah mengubah logika 1 menjadi 0. ROM adalah memori yang sudah deprogram oleh pabrik. Data dalam ROM tidak akan terhapus meskipun catu daya diputuskan (bersifat nonvolalite) karena sifatnya yang demikian. alternative lain adalah menggunakan EPROM (Eraseable Programmable Read Only Memory). EPROM. Kerja . PROM (Programable Read Only Memori) dapat diprogram oleh pemakai. alat I/O dapat menerima data dari mikroprosessor/mikrokontroller.  Ada beberapa tipe ROM. EEPROM (Electrical Eraseable Programmable Read Only Memory) yaitu PROM yang dapat diprogram ulang. karena diperlukan rangkaian untuk proses penyegaran (refresh).  Ada dua macam perantara I/O yang dipakai. 8. tetapi hanya sekali program saja atau yang disebut OTP (One Time Programmable). Sesuai dengan namanya. ROM digunakan untuk menyimpan program. Input/Output  Untuk melakukan hubungan dengan peranti diluar sistem. ROM  ROM (Read Only Memory) merupakan memori yang hanya dapat dibaca. 9. yaitu peranti untuk hubungan serial (UART) dan piranti untuk hubungan parallel (PIO). dan EEPROM.  UART adalah perantara serial universal. diantaranya adalah ROM. Contoh RAM dinamik adalah 4116 yang berkapasitas 16384 x 1 bit.  Kerugian menggunakan RAM dinamik adalah bertambahnya kerumitan pada papan memori. PROM.

UART adalah mengubah masukan serial menjadi keluaran parallel dan mengubah masukan parallel menjadi serial. PIO adalah alat yang dapat deprogram dan menyediakan perantara masukan dan keluaran dasar untuk data parallel 8 bit. .UART adalah mengubah masukan parallel menjadi keluaran serial.  PIO (Paralel Input Output) merupakan perantara untuk hubungan data dalam format parallel.

bit paling kanan disebut Least Significant Bit (LSB) dan bit paling kiri disebut Most Significant Bit (MSB) Tabel 3. menunjukkan eksponen dengan basis 2 yaitu 20 = 1. SISTEM BILANGAN DESIMAL DAN BINER Dalam sistem denary. kolom kedua yaitu B disebut puluhan.9.1. yang mempunyai 10 buah simbol yaitu 0. 22 = 4 dan seterusnya. Kolom A.. 21 = 2. nilai yang terdapat pada kolom ketiga pada tabel dibawah yaitu A disebut satuan. Sistem biner yang lebih sederhana pilihan lebih cocok digunakan pada elektronika digital. 1..B..1 Tabel Eksponensial Bilangan Desimal C 102 Ratusan B 101 Puluhan A 100 Satuan Setiap kolom pada sistem bilangan biner. yang lebih dikenal dengan sistem bilangan desimal. 102 = 100.BAB III SISTEM BILANGAN Sistem bilangan desimal atau denary. tetapi sistem ini tidak selalu merupakan pilihan terbaik untuk setiap aplikasi. Setiap digit biner disebut bit. C disebut ratusan dan seterusnya.C menunjukkan kenaikan pada eksponen dengan basis 10 yaitu 100 = 1. yaitu sistem bilangan dengan basis 2.2 Tabel Bilangan Biner Desimal 0 1 2 3 4 5 6 7 Biner C (4) 0 0 0 0 1 1 1 1 B (2) 0 0 1 1 0 0 1 1 A (1) 0 1 0 1 0 1 0 1 . Sistem biner merupakan sistem bilangan berbasis 2 dan hanya mempunyai dua simbol yaitu 1 dan 0.. Tabel 3. sistem lain yang sering digunakan adalah sistem bilangan dengan basis 8 atau oktal dan sistem bilangan dengan basis 16 atau heksadesimal. yaitu sistem bilangan dengan basis 10. 101 = 10.2.

MSB . maka bit 0 akan ditempatkan pada kolom tersebut. Sisanya adalah 22 – 16 = 6 yang lebih besar dari 2 2 (= 4) sehingga bit 1 ditempatkan pada kolom tersebut. sehingga sisanya 6 – 4 = 2 sisa ini akan menghasilkan bit 1 yang harus dipasang pada kolom 21 (= 2) dan bit 0 ditempatkan pada kolom 20 (= 1) sehingga bilangan 2210 = 0101102. LSB 26/2 = 13 sisa 0 13/2 = 6 sisa 1 6/2 = 3 sisa 0 3/2 = 1 sisa 1 1/2 = 0 sisa 1. diperlukan langkah-langkah berikut : 52/2 = 26 sisa 0. Bilangan desimal yang diketahui dipisah-pisahkan kedalam sejumlah bilangan pangkat dengan basis 2. sebagai Contoh untuk mengubah 5210 menjadi bilangan biner. Bilangan desimal yang akan diubah secara berturut-turut dibagi 2. Tabel 3. sehingga bit 1 ditempatkan pada kolom tersebut. Cara lain adalah dengan pembagian. Tetapi 22 lebih besar dari 24 (=16).a.3 Konversi bilangan desima ke biner Bilangan Desimal 15 22 45 52 Kolom Biner 25 0 0 1 1 24 0 1 0 1 23 1 0 1 0 22 1 1 1 1 21 1 1 0 0 20 1 0 1 0 Bilangan Biner 001111 010110 101101 110100 Sebagai Contoh 2210 nilainya lebih kecil dari 25(=32). Sisa pembagian akan bernilai 0 atau 1 yang akan membentuk bilangan biner dengan sisa yang terakhir menunjukkan MSBnya. Konversi Desimal ke biner Konversi bilangan desimal ke biner dapat dilakukan dengan kombinasi intuis dan metode coba-coba (trial and error). dengan memperhatikan sisa pembagiannya.

Konversi Bilangan Biner ke Bilangan Desimal Untuk mengubah bilangan biner ke dalam bilangan desimal yaitu dengan menggunakan subskrip contoh mengubah bilangan biner 11102 ke dalam bilangan desimal. LSB 727/8 = 90 sisa 7 90/8 = 11 sisa 2 11/8 = 1 sisa 3 1/8 = 0 sisa 1.. kolom oktal pada suatu bilangan menunjukkan eksponen dengan basis 8 yaitu : Tabel 3. 1. Bilangan desimal yang akan diubah secara berturut-turut dibagi dengan 8 dan sisa pembagiannya harus selalu dicatat. 64 8 Konversi Bilangan Desimal ke Oktal Teknik pembagian yang berurutan dapat digunakan untuk mengubah bilangan desimal menjadi bilangan oktal.. 11102 = 1 x 23 + 1 x 22 + 1 x 21 + 0 x 2 1 = 8 + 4 + 2 + 0 = 1410 2. .4 Tabel Eksponensial Bilangan Oktal Kolom D 8 3 Kolom C 8 2 Kolom B 8 1 Kolom A 80 1 512 a. MSB b. Konversi Bilangan Oktal ke Biner Untuk konversi bilangan oktal ke biner dapat dilakukan dengan cara memisahkan setiap digit bilangan oktal dan setiap digit bilangan oktal dapat disajikan dengan 3 digit bilangan biner. Sebagai contoh untuk mengubah bilangan 581910 ke oktal. langkah-langkahnya adalah : 5819/8 = 727 sisa 3.b.. BILANGAN OKTAL Bilangan oktal adalah sistem bilangan yang berbasis 8 dan mempunyai delapan simbol bilangan yang berbeda yaitu 0. 2. . 7.

Sebagai contoh. sehingga 112 = 38 MSB 1102 = 68 0112 = 38 0012 = 18.. c.Tabel 3.5 Tabel Bilangan Oktal ke Biner Oktal 0 1 2 3 4 5 6 7 Sebagia Contoh 35278 . 2 38 = 0112.. MSB 58 = 1012 28 = 0102 78 = 1112. bilangan 111100110012 akan dikelompokkan menjadi 11 110 011 001. Biner 000 001 010 011 100 101 110 111 . LSB Jadi bilangan biner 11110011001 apabila diubah menjadi bilangan oktal akan diperoleh 36318. LSB Sehingga bilangan oktal 3527 sama dengan bilangan biner 011 101 010 111. Kemudian setiap kelompok diubah secara terpisah ke dalam bilangan oktal.. Konversi Bilangan Biner ke Bilangan Oktal Sebaliknya pengubahan dari bilangan biner ke bilangan oktal dilakukan dengan mengelompokkan setiap tiga digit biner dimulai dari digit paling kanan (LSB).

6 Tabel Bilangan Heksadesimal ke Desimal Heksadesimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Desimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bilangan yang lebih besar dari 1510 memerlukan lebih dari satu digit hex. dapat dilakukan dengan cara membagi bilangan desimal tersebut dengan 16. BILANGAN HEKSADESIMAL Bilangan heksadesimal.. dilakukan dengan langkahlangkah sebagai berikut : . 162 = 256 dan seterusnya.. 161 = 16...10 152B16 = (1 x 163) + (5 x 162) + (2 x 161) + (11 x 160) = 1 x 4096 + 5 x 256 + 2 x 16 + 11 x 1 = 4096 + 1280 + 32 + 11 = 541910 Sebaliknya untuk mengubah bilangan desimal menjadi bilangan heksadesimal. sebagai contoh untuk mengubah bilangan 340910 menjadi bilangan heksadesimal...3.. sering disingkat dengan hex adalah bilangan dengan basis 16 dan mempunyai 16 simbol yang berbeda Tabel 3. yaitu 160 = 1. Sebagai contoh 152B16 = ... Kolom heksadesimal menunjukkan eksponen dengan basis 16.

MSB sehingga 340910 = D5116 a. MSB A16 = 1010 516 = 0101 .7 Tabel Konversi Heksadesimal ke Biner Heksadesimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Biner 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 untuk mengubah bilangan heksadesimal menjadi bilangan biner. Konversi Heksadesimal ke biner Setiap digit pada bilangan heksadesimal dapat disajikan dengan empat buah bit seperti terlihat pada tabel dibawah ini Tabel 3.3409/16 = 213 sisa 110 = 116 LSB 213/16 = 13 sisa 510 = 516 13/6 = 0 sisa 1310 = D16. setiap digit dari bilangan heksadesimal diubah secara terpisah ke dalam empat bit bilangan biner. Sebagai contoh 2A5C16 dapat diubah ke bilangan biner sebagai berikut : 216 = 0010.

Jika masukannya High maka keluarannya Low dan sebaliknya.C16 = 1100. NOT dan EXOR a. NOR. Sebaliknya bilangan biner dapat diubah menjadi bilangan heksadesimal dengan cara mengelompokkan setiap empat digit dari bilangan biner tersebut dimulai dari digit paling kanan. GERBANG LOGIKA Gerbang Logika adalah piranti yang mempunyai dua kondisi yaitu kondisi dengan tegangan 0 volt menyatakan logika 0 (low) dan kondisi dengan tegangan 5 volt menyatakan logika 1 (High). Gerbang logika dapat mempunyai beberapa masukan yang masing-masing mempunyai salah satu dari dua kondisi logika yaitu 0 atau 1. OR.8 Tabel Kebenaran Gerbang NOT A 0 1 A 1 0 .1 Gerbang Logika NOT Tabel 3. NAND. misalnya AND. Gerbang NOT Gerbang NOT merupakan gerbang satu masukan dan satu keluaran yang berfungsi sebagai pembalik (inverting). gerbang logika dapat digunakan untuk melakukan fungsi-fungsi khusus. Sebagai contoh 01001111010111002 dapat dikelompokan menjadi 0100 1111 0101 1110 sehingga 01002 = 416 MSB 11112 = F16 01012 = 516 11102 = E16 LSB dengan demikian bilangan 01001111010111002 = 4F5E16 4. LSB sehingga bilangan heksadesimal 2A5C akan diubah menjadi bilangan biner 0010 1010 0101 1100. A A Gambar 3.

B Gambar 3. A B A+B B 0 0 1 1 A. B 0 0 1 0 A+B 0 1 1 1 . maka keluarannya akan bernilai 1. sebaliknya jika ada sebuah logika 0 pada sembarang masukan gerbang NAND.2 Gerbang Logika AND Tabel 3.B 0 0 0 1 Gambar 3. jika di inginkan keluaran bernilai 0 maka semua masukan harus dalam kondisi 0.9 Tabel Kebenaran Gerbang AND A 0 1 0 1 c.10 Tabel Kebenaran Gerbang OR A 0 1 0 0 d.b.3 Gerbang Logika OR Tabel 3. Gerbang OR Gerbang OR akan memberikan keluaran 1 jika salah satu dari masukkanya pada kondisi 1. jika tidak maka akan menghasilkan logika 0 A B A. Gerbang NAND Gerbang NAND akan mempunyai keluaran 0 jika semua masukan pada logika 1. Gerbang AND Gerbang AND digunakan untuk menghasilkan logika 1 jika semua masukan mempunyai logika 1.

Gerbang XOR Gerbang XOR akan memberikan keluaran 1 jika masukkannya mempunyai keadaan yang berbeda. Jika diinginkan keluaran bernilai 1.3 Gerbang Logika NAND Tabel 3. A B A + B . A B A+B Gambar 3.4 Gerbang Logika NOR Tabel 3. maka semua masukkan harus dalam kondisi 0. Gerbang NOR Gerbang NOR akan memberikan keluaran 0 jika salah satu dari masukkannya pada kondisi 1.12 Tabel Kebenaran Gerbang NOR A 0 1 0 1 B 0 0 1 1 AB 1 0 0 1 f.11 Tabel Kebenaran Gerbang NAND A 0 0 1 1 B 0 1 0 1 A∗B 1 1 1 0 e.A B A*B Gambar 3.

13 Tabel Kebenaran Gerbang XOR A 0 1 0 1 B 0 0 1 1 AB 0 1 1 0 .Gambar 3.4 Gerbang Logika XOR Tabel 3.

BS2P24. sedangkan teknologi CISC (Complex Instruction Set Computing) yaitu teknologi yang memiliki banyak instruksi set namun tidak memiliki kelebihan dalam hal memori. AT89C52. AT89S52 8051. AT89C51. peripheral dan fungsinya dibandingkan dengan yang menggunakan teknologi RISC. AT89C4051 AT89S51. PIC12C519 Basic Stamp (BS2PX. 8052 . AT89LP214 PIC12C508. Mikrokontroller yang termasuk dalam kelompok RISC dan CISC adalah sebagai berikut : a. MC68HC12) Mikrokontroller yang menggunakan Teknologi CISC : ● ● ● ● b.BS2Pe) Motorolla (MC68HC11. AT89C55 AT89C205. ● ● ● ● ● Mikrokontroller yang menggunakan Teknologi RISC AVR (ATMega8535) AT89S8253. peripheral dan fungsinya. PIC12C518. PIC12C509. AT89LP213.BAB IV MIKROKONTROLLER Mikrokontroller secara teknologi dibedan menjadi 2 yaitu teknologi RISC (Reduced Instruction set Computing) yaitu teknologi yang memiliki sedikit instruksi set namun memiliki kelebihan dalam hal memori.

● ● ● ● ● ● ● ● ● ● ● Arsitektur dan Peripheral Mikrokontroller Arsitektur dan Perihperal AT89S51 Kompatibel dengan Mcs`51 4Kbyte Flash Memory (ISP) In-System Programmable 1000 kali ditulis dan dihapus Tegangan Operasional 4. a.1 Konfigurasi Pin AT89S51 .1.0 Volt – 5.5 Volt Range Frekuensi 0Hz – 33 Mhz 128 x 8 bit Internal RAM 32 Jalur I/O Dua Timer/Counter 16 Bit 6 sumber Interupt Full Duplex Serial UART Watchdog Timer 2 Data Pointer Gambar 4.

Gambar 4. masing-masing terdiri dari atas 8 buah jalur I/O • Lima buah Jalur interupsi (2 buah interupsi eksternal dan 3 buah internal) • Sebuah Port serial dengan control serial full duplex UART .2 Diagram Blok AT89S51 b Arsitektur AT89C51 Mikrokontroller AT89C51 memiliki beberapa fasilitas sebagai berikut : • Sebuah CPU (Central Prosesing Unit) 8 bit yang termasuk keluarga MCS-51TM • Osilator Internal dan rangkain timer • Flash memori 4 Kbyte • RAM internal 128 byte • Empat buah programmable port I/O.

4 Diagram AT89C51 c.5 Volt . ● ● ● ● Arsitektur Mikrokontroller AT89S8253 Kompatibel dengan Mcs`51 12Kbyte Flash Memory (ISP) In-System Programmable 1000 kali di tulis dan di hapus 2Kbyte EEPROM Data Memory 1000 Kali di tulis dan di hapus Tegangan Operasional 2.3 Konfigurasi pin AT89C51 Gambar 4.• Kemampuan melaksanakan operasi perkalian. Gambar 4.7 Volt – 5. penjumlahan dan operasi Boolean (bit) • Kecepatan pelaksanaan intruksi per siklus 1 mikrodetik pada frekuensi clock 12 Mhz. pembagian.

● ● ● ● ● ● ● ● ● Range Frekuensi 0Hz – 24 Mhz 64 Byte User Signature Array 256 x 8 bit Internal RAM 32 Jalur I/O Tiga Timer/Counter 16 Bit 9 sumber Interupt Full Duplex Serial UART Watchdog Timer 2 Data Pointer Gambar 4.5 Konfigurasi Pin AT89S8253 .

Gambar 4.6 Diagram Blok AT89S8253 d. Indirect Relative pengalamatan Mode untuk data dan intruksi In-Circuit Serial Programming 8 bit Realtime Timer/Counter . ● ● ● ● ● ● ● ● ● Arsitektur dan Peripheral PIC12C5XX Memiliki hanya 33 intruksi Intuksi dikerjakan dalam satu siklus (1uS) Clock External 4 Mhz Lebar Instruksi 12 Bit Lebar data 8 bit 7 Spesial Fungsi Register Hardware Memiliki Direct.

8 Blok Diagram PIC12C5XX .7 Konfigurasi Pin PIC12C5XX Gambar 4.● ● ● Device Reset Timer 1Kbyte ROM dan bisa di hapus dan di tulis 1000 kali Data yang di simpan di ROM(EEPROM) bisa bertahan lebih dari 40 tahun Gambar 4.

Arsitektur dan Peripheral Basic Stamp .e.

Gambar 4.9 Konfigurasi Pin Basic Stamp .

komponen tersebut tidak terintegrasi. MCS-51 salah satu keluarga mikrokontroler yang sampai sekarang masih banyak dikembangkan oleh berbagai produsen semacam Atmel Corp.7 – 6 Volt. Tegangan Kerja Tegangan kerja AT89LV55 buatan Atmel mampu beroperasi dengan tegangan kerja 2. Namun mikrokontroler memiliki banyak komponen yang terintegrasi didalamnya. tipe memory yang digunakan pun bervariasi yaitu :   OTP (One Time Programmable) atau Mask ROM (Read Only Memory) MTP (Multiple Time Programmable UVEPROM (Ultra Violet Erasable programmable ROM) . Pada awalnya MCS-51 dibuat dalam dua bersi NMOS dan CMOS.BAB V ARSITEKTUR AT89S51 Mikrokontroler jika di terjemahkan secara harfiah berarti pengendali yang berukuran mikro. Philips Semiconductors. Mikrokontroler lebih sesuai untuk tugas-tugas yang lebih spesifik. berbagai kemapuan yang dimiliki MCS-51 Masih terus di tingkatkan. misalnya timer/counter. Namun akhirnya hanya versi CMOS yang tersedia dipasaran saat ini. Memori dan Pemrograman Internal program memory yang dimiliki AT89C51 sebesar 4KB sedangkan internal data memory yang dimilikinya sebesar 256 byte. Sekilas mikrokontroler hampir sama degan mikroprosesor. dan Winbond Electronics Corp.4 – 3. MCS-51 pertama kali dikembangkan oleh intel Corporation pada tahun 70-an sehingga dapat dibilang usia MCS-51 sudah lebih dari 30 tahun. 2. Cygnal Integrated Product Inc. Seri P89LPC9xx buatan Philips memiliki tegangan kerja 2. Tipe C8051F12X buatan Cygnal memiliki internal program memory 128 KB sedangkan internal data memory yang dimilikinya sebesar 8448 byte. Tidak hanya kapasitas memori. 1. Mikroprosesor umumnya kita jumpai pada komputer dimana tugas dari mikroprosesor adalah untuk memproses berbagai macam data input maupun output dari berbagai sumber. Sedangkan pada mikroprosesor.6 Volt. Perbedaan antar varian keluarga MCS-51 dapat dikelompokan dalam 8 bagian yaitu : 1. BEBERAPA VARIAN IC MCS-51 DAN FITURNYA Keluraga MCS-51 telah berkembang pesat dan memiliki berbagai macam varian.

In System Programming (ISP) dan Parallel Programming (PP). In Application Programming (IAP). Special Function . combined serial port Rx/Tx. Programmable Counter Array (PCA) dan WatchDog Timer. contohnya P89LPC932 buatan Philips. Beberapa produsen menggunakan satuan MHz (MegaHertz). I/O Jumlah pin yang berfungsi sebagai digital input/output pada IC buatan Cygnal dapat berjumlah mulai 8. CCU (Capture Compare Unit). CAN (Control Area Network) bahkan USB (Universal Serial Bus). 7. Clock rate umunya bernilai 12. 3. Timer/Counter Timer/Counter yang dimiliki varian MCS-51 dapat berjumlah hingga 5 buah. Kecepatan Dalam hal kecepatan ada dua satuan yang digunakan. serial port Tx. yang berarti internal clock beroperasi 1/12 dari frekuensi sumber clock atau 1 cycle membutuhkan 12 pulsa clock. 5. watchdog/Real-Timer clock. sedangkan yang lain menggunakan satuan MIPS (Million Instructions Per Second). serial port Rx. Serial Interface Serial interface yang banyak didukung MCS-51 adalah Universal Asynchronous Receiver Transmitter (UART). SPI (Serial Pheriperal Interface). Interrupt Tipe P89LPC932 buatan Philips memiliki interrupt source : External interrupt 0 dan 1 timer 0 dan 1. keyboard. 32 dan 64 pin. MTP Flash/EEPROM Cara penulisan internal program memory pun bervariasi antara lain : In Circuit Programming (ICP). brownout detect. 8. Namun varian yang lebih baru juga memiliki interface I2C (Inter Integrated Circuit) atau Two Wire Interface. 6. 16. dan data EEPROM write completion. SPI. AT83C5111 memiliki frekuensi maksimum 66 MHz sedangkan C8051F120 buatan Cygnal mampu memproses 100 MIPS. Tipe tersebut memiliki interrupt level/p[riority hingga 4 tingkat. Beberapa varian bahkan memiliki fasilitas Pulse Width Mudulation (PWM). comparator 1 dan 2. IC buatan Cygnal memiliki clock rate 1 diman 1 cycle membutuhkan 1 pulsa clock. 4.

mikrokontroller buatan intel dengan mikrokontroller buatan Motorola memiliki perangkat intruksi yang berbeda. 2. Karakteristik mikrokontroller AT89C51 Mikrokontroller AT89C51 memiliki beberapa fasilitas sebagai berikut : • Sebuah CPU (Central Prosesing Unit) 8 bit yang termasuk keluarga MCS-51TM • Osilator Internal dan rangkain timer • Flash memori 4 Kbyte • RAM internal 128 byte • Empat buah programmable port I/O. Intruksi-intruksi perangkat lunak berbeda untuk masing-masing jenis mikrokontroller. Sebuah mikrokontroller tidak dapat memahimi intruksi-intruksi yang berlaku pada mirkrokontroller lain. Power-On Reset pada P87LPC768 buatan Philips. . Program tersebut memberitahu mikrokontroller apa yang harus dilakukan. Mikrokontroller AT89S51 termasuk dalam keluarga MCS-51TM dari intel. pembagian. Beberapa kemampuan yang terdapat pada varian MCS-51 antara lain :    ADC hinga 12 bit 32 channel pada C8051F20 buatan Cygnal 8 Keyboard interrupt. interface dan jalur input/output. penjumlahan dan operasi Boolean (bit) • Kecepatan pelaksanaan intruksi per siklus 1 mikrodetik pada frekuensi clock 12 Mhz. Intruksi-intruksi tersebut dikenal sebagai bahasa pemograman system mikrokontroller. jumlah timer. kecepatan. W925E/C240 dan W925E/C625 buatan Winbond memiliki DTMF generator/receiver dan FSK generator receiver yang terintegrasi. Sebagai contoh.Selain berbeda kapasistas memori. masing-masing terdiri dari atas 8 buah jalur I/O • Enam buah Jalur interupsi (3 buah interupsi eksternal dan 3 buah internal) • Sebuah Port serial dengan control serial full duplex UART • Kemampuan melaksanakan operasi perkalian. Intruksi-intruksi hanya dapat dipahami oleh jenis mikrokontroller yang bersangkutan. Salah satu keunggulan dari AT89S51 adalah dapat diisi ulang dengan program lain sebanyak 1000 kali pengisian. Sebuah mikrokontroller tidak dapat bekerja bila tidak diberi program kepadanya. varian MCS-51 juga memiliki kemampuan yang spesifik.

P1.7 selain digunakan sebagai I/O. Juga digunakan sebagai masukkan untuk pengisian program ke dalam IC AT89S51. Pin ini dihubungkan dengan rangkaian power on reset . Pin 9 (Reset) adalah intrupsi reset (aktif high) perpindahan kondisi rendah ke tinggi akan mereset AT89S51.1 Konfigurasi Pin AT89S51 a. b.6 dan P1. Pin 1 sampai 8 (port 1) merupakan prot paralel 8 bit dua arah (input-output) yang digunakan sebagai keperluan general purpose. Penjelasan dari masing-masing pin adalah sebagai berikut : Gambar 5. P1.• ISP Programming • Memiliki 2 DPTR • WatchDog Timer • Low Power Idnle dan Power-Down Mode Ü Diskripsi Kaki (Pin) AT89S51 Susunan pin-pin mikrokontroler AT89S51 diperlihatkanan pada gambar dibawah ini.5.

c. Pin 10 sampai 17 (port 3) adalah port paralel 8 bit dua arah (input-output) yang memiliki fungsi pengganti. h. Pin 21 sampai 28 (port 2) adalah port paralel 8 bit dua arah (input-output). maka program hanya akan dijalankan dari external program . Fungsi pengganti meliputi : d. PSEN akan bernilai high pada saat pembacaan program dari internal memory. i. Pin 30 adalah pin ALE (Address Latch Enable) berfungsi sebagai demultiplexer pada saat port 0 bekerja sebagai multiplexed address/data bus. PSEN akan bernilai low pada saat pembacaan program dari external memory. yang merupakan input clock bagi rangkaian osilator internal e. Pin 31 EA merupakan pin yang berfungsi sebagai input control. Pin 18 dan 19 (XTAL1 dan XTAL2) adalah pin input osilator kristal. Port 2 ini mengirim byte alamat bila dilakukan pengaksesan memori ekternal g. Jika EA bernilai low (dihubungkan ke ground). Pin 20 (ground) dihubungkan ke Vss atau Ground f. Pin 29 adalah pin PSEN (Program Strobe Enable) merupakan jalur control untuk mengakses external program memory.

Jika EA bernilai high (dihubungkan ke + 5 V). Bila digunakan untuk mengakses memori luar.memory. Organisasi Memori Semua mikrokontroler dalam keluarga MCS-51 memiliki pembagian ruang alamat (address space) untuk program dan data. maka program akan dijalankan dari internal program memory terlebih dahulu. Pin 40 (Vcc) dihubungkan ke Vcc (+5 Volt) Gambar 5. port ini akan memultipleks alamat memori dengan data k.2 Blok Diagram AT89S51 3. Pemisahan memori program dan memori data . Pin 32 sampai 39 (port 0) merupakan port paralel 8 bit open drain dua arah. j.

Alamat-alamat tersebut terdapat pada gambar dibawah ini. Memori program dapat ditingkatkan sebesar 64 Kbyte dengan menambahkan memori eksternal. Sinyal yang membolehkan pembacaan dari memori program eksternal adalah dari PSEN. alamat data 16 bit dapat dihasilkan melalui register DPTR (Data Pointer Register).3 Memori Program 60 Kbyte External Program Memory 4 Kbyte Internal Program Memory 64 Kbyte External Program Memory Gambar 5. 0023H 001BH 0013H 000BH 0003H 0000H Serial Interrupt Timer 1 Interrupt Program Memory External Interrupt 1 Timer 0 Interrupt External Interrupt 0 Reset Gambar 5. Selain berisi instruksi user juga memiliki beberapa alamat khusus yang ditujukan untuk reset address (alamat yang dituju pada saat pertama kali mikrokontroler berkerja) dan interrupt vector address. Ø Memori Program Memori program hanya dapat dibaca tidak bisa ditulisi (karena disimpan dalam Flash Memori) berfungsi untuk menyimpan kode program user yang akan dijalankan.4 Konfigurasi Internal dan External Program Memory  Memori Data Memori data internal dipetakan seperti pada gambar dibawah ruangan memorinya . Meskipun demikian.membolehkan memori data untuk diakses oleh alamat 8 bit.

Yang meliputi : Register Banks.5 Memori Data  Scratch Pad Area Sering disebut juga sebagai General Purpose RAM adalah ruang data memory yang bebas digunakan oleh user sebagai tempat penyimpanan variable atau sebagai alamat inisialisasi Stack Pointer. FFH 80H 7FH 30H 2FH 20H 1FH 00H Special Function Registers Scratch Pad Area Bit-addressabel Register Banks Gambar 5. Bit-addressable.  Bit-addressable Bit-addressable memiliki fungsi yang sama dengan Scratch Pad Area. Alokasi alamat Register Bank dapat dilihat pada gambar dibawah ini : 1FH 18H 17H 10H 0FH 08H 07H 00H Register Bank 3 Register Bank 2 Register Bank 1 Register Bank 0 Gambar 5. User juga dapat menggunakan ruang ini untuk menyimpan variable atau alamat inisialisasi Stack Pointer. Accumulator.dibagi dua bagian yaitu RAM 128 Byte serta SFR (Special Fungsi Register).  Register Banks Internal data memory memuat 4 register banks : Register bank 0. Scratch Pad Area dan SFR (Special Function Register). Register bank 2 dan Register bank 3. Register B. Timer dan sejumlah . Register banks ini digunakan sebagai alamat untuk menampung delapan register yaitu R0 – R7.6 Pembagian Register Banks  Special Function Registers Sesuai namanya Special Function Register (SFR) merupakan sejumlah register khusus yang mencakup : alamat port. Scratch Pad Area hanya dapat diakses per byte. Register bank 1. Bit-addressable tidak hanya bisa di akses per byte tetapi bisa juga diakses per bit.

Ada beberapa dari SFR hanya dapat diakses/dialamati per byte namun beberapa SFR juga dapat diakses per bit (bit-addressable) Gambar dibawah menunjukan pembagian ruang SFR (Special Function Register).register control. FFH F8H F0H E0H D0H B8H B0H A8H 86H A2H A0H 90H 8EH 8DH 8CH 8BH 8AH 89H 88H 87H 85H 84H 83H 82H 81H 80H Bit-addressable Bit-addressable Bit-addressable Bit-addressable Bit-addressable Bit-addressable Bit-addressable Bit-addressable Bit-addressable Bit-addressable Bit-addressable Non Bit-addressable Non Bit-addressable Non Bit-addressable Non Bit-addressable Non Bit-addressable Bit-addressable Non Bit-addressable Non Bit-addressable Non Bit-addressable Non Bit-addressable Non Bit-addressable Non Bit-addressable Bit-addressable B ACC PSW IP P3 IE WDTRST AUXR1 P2 P1 AUXR TH1 TH0 TL1 TL0 TMOD TCON PCON DP1H DP1L DP0H DP0L SP P0 Gambar 5.7 Pembagian Special Fungsi Register .

1 Special Fungsi Register Gambar 5 Special Function Register 5. setelah interrupt selesai dilaksanakan maka CPU kembali ke program . C 1 33p F X TAL1 12 M h z X TAL2 C 2 33p F Gambar 5. sedangkan untuk kapasitor dapat bernilai antara 27 pF sampai 33pF.8 Konfigurasi Pemberian Clock 5 Interupt Apabila CPU pada mikrokontroler AT89S51 sedang melaksanakan tugas suatu program. Untuk kristalnya dapat digunakan frekuensi dari 6 sampai 24 Mhz.4 Osilator Mikrokontroller AT89S51 memiliki osilator internal yang dapat diguakan sebagai sumber clock bagai CPU. program counter (PC) akan diisi alamat vector interrupt.Tabel 5. kita dapat menghentikan pelaksanaan program tersebut secara sementara dengan meminta interrupt. Apabila mendapat permintaan interrupt. Untuk menggunakan osilator internal diperlukan sebuah kristal atau resonator keramik antara pin XTAL1 dan XTAL2 dan sebuah kapasitor ke ground.

2 Alamat Layanan Rutin Interrupt Nama Lokasi Alat Interupt Reset 00H Power on Reset INT 0 03H INT 0 Timer 0 0BH Timer 0 INT 1 13H INT 1 Timer 1 1BH Timer 1 Serial 23H Port I/O serial Mikorokontroler AT89S51 menyediakan 6 sumber interrupt.  Interupt Enable Sumber Interupt dapat diaktifkan dan dimatikan secara individual atau dengan mengatur satu bit di SFR yang bernama IE (Interupt Enable). misalnya reset b. Interrupt yang dapat dihalangi perangkat lunak (maskable interrupt). INT1. 2 interrupt timer dan satu interrupt port serial. Contoh interrupt jenis ini adalah INT0. 3 interrupt eksternal. Intruksi ini dipakai agar saluran interrupt kembali dapat dipakai. Pada mikrokontroler AT89S51 terdapat beberapa saluran interrupt. Interrupt eksternal INT 0. INT 1 dan Reset masing-masing dapat diaktifkan berdasarkan level atau transisi. Timer/Counter 1 serta interrupt serial. Bit-bit IE didefinisikan sebagai berikut : . Alamat layanan rutin interrupt dari setiap sumber diperlihatkan pada table dibawah Tabel 5. Intruksi RETI harus digunakan untuk kembali dari layanan rutin interrupt. Interrupt pada AT89S51 dibedakan dalam dua jenis : a. Interrupt yang tak dapat dihalangi oleh perangkat lunak (non maskable interrupt).utama yang ditingalkan.

Bit-bit pada IP adalah sebagai berikut : 5. Sedangkan bila prioritasnya sama. tetapi tidak bisa di interrupt oleh interrupt dengan prioritas lebih rendah.  Prioritas Interupt Setiap Sumber interrupt dapat interrupt secara individual menjadi satu atau dua tingkat prioritas dengan mengatur bit SFR yang bernama IP. maka akan dilakukan poling untuk menentukan mana yang dilayani. Interupt dengan prioritas rendah dapat diinterupt oleh interrupt yang memiliki prioritas lebih tinggi. interrupt dengan prioritas lebih tinggi yang dilayani.6 Program Status Word Program status word berisi beberapa bit status yang mencerminkan keadaan .Jika akan mengaktifkan interrupt 0 (INT0). Interrupt prioritas tertinggi tidak dapat diinterupt oleh sumber interrupt lain. Bila permintaan interrupt dengan tingkat prioritas berbeda diterima pada saat yang sama. nilai yang harus diberikan ke IE adalah 81H (yaitu memberikan logika 1 ke EA dan EX0).

R4.  CY (Carry Flag) Carry Flag bernilai ‘1’ jika sebuah penjumlah menghasilkan nilai lebih dari 255 (FFH) dan Carry Flag juga akan menghasilkan nilai ‘1’ jika operasi aritmatika pengurangan menghasilkan nilai kurang dari ‘0’  AC (Auxiliary Carry) Auxiliary Carry Flag bernilai ‘1’ jika penjumlahan Binary Coded Decimal (BCD) menghasilkan nilai lebih dari 9  F0 Flag 0 merupakan general purpose flag yang dapat digunakan oleh user  OV (Overflow Flag) Overflow flag bernilai ‘1’ jika ada penambahan atau pengurangan signed number yang . R2. R5.mikrokontroller. Delapan buah register ini merupakan register serbaguna yang memiliki alamat dari 00H sampai 1FH. Sisa register lainya tidak dapat digunakan untuk pengalamatan tak langsung. Definisi daribit-bit dalam PSW dijelaskan dibawah ini  RS0 dan RS1 RS0 dan RS1 digunakan untuk memilih bank register. Pemilihan bank register diperlihatkan pada tabel dibawah ini : Tabel 5. R1. R6. Register ini dapat diakses melalui symbol assembler (R0.3 Pemilihan Bank Register Register R0 dan R1 dapat digunakan untuk pengalamatan tak langsung pada RAM internal. R7). R3.

RET. DPTR umumnya digunakan untuk mengakses alamat pada memori eksternal.menghasilkan nilai lebih dari +127 atau kurang dari -128.8 Stack Pointer (SP) Stack Pointer (SP) merupakan register 8 bit yang berisi lokasi dimana data alamat stack teratas disimpan. Sedangkan instruksi POP. Jika pada accumulator jumlah bit yang bernilai ‘1’ sama dengan ganjil maka Parity Flag akan bernilai ‘1’. LCALL. 5. RETI adan sejnisnya akan mengurangi nilai pada SP. 5.7 Accumulator Register Accumulator (ACC) sebuah register yang digunakan untuk general purpose atau juga digunakan untuk dalam proses pertambahan.9 Data Pointer (DPTR) Data Pointer (DPTR) merupakan register 16 bit yang terdiri dari 8 bit data pointer High (DPH) dan 8 bit data pointer low (DPL). . perkalian dan pembagian. sedangkan jika jumlah bit yang nilai ‘1’ sama dengan genap maka Parity Flag akan bernilai ‘0’ 5. Jika proses penambahan atau pengurangan tidak menggunakan signed number maka perubhana OV dapat diabaikan  P (Parity Flag) Parity Flag digunakan untuk mengetahui jumlah ganjil bit yang bernilai ‘1’ pada accumulator. ACC akan menyimpan hasil perkalian 8 bit terbawah dan hasil pertambahan dan pembagian. proses interrupt dan sejenisnya akan menambah nilai pada SP. Intruksi PUSH.

#20h (Mengisi accumulator dengan data 20h) .7FH (isi accumulator dengan isi alamat 7Fh)  Pengalamatan Tidak Langsung (Indirect Addressing) Mode ini menggunakan Register tertentu berisi Data yang menunjukan Alamat. intruksi yang dikenal secara umum dikelompokan menjadi beberapa kelompok yaitu intruksi untuk pemindahan data. pengaturan aliran program dan beberapa hal khusus. Register untuk menunjukkan alamat tersebut adalah R0 atau R1. Untuk mengakses 16 bit alamat digunakan data pointer DPTR. operasi logika.BAB 6 SET INTRUKSI DAN PEMOGRAMAN ASSEMBLY MSC51 1. aritmetika. 2 Mode Pengalamatan dalam MCS51 Data ataupun operan bisa berada ditempat yang berbeda sehingga dikenal beberapa cara untuk mengakses data operan tersebut yang dinamakan sebagai mode pengalamatan (Addressing Mode) antara lain yaitu :  Pengalamatan Langsung (Direct Addressing) Pada mode ini operand ditentukan dari sebuah alamat 8 bit. kombinasi dari instruksi dan operan itulah yang membentuk intruksi pengaturan kerja mikrokontroller.@R0 (isi accumulator dengan alamat yang ditunjukkan oleh isi R0)  Pengalamatan Register Pengalamatan mode ini lebih effisien dan mengeleminasi satu byte alamat Contoh: MOV A. Operand dan Set Intruksi MCS51 Operan dalam pemrograman mikrokontroller adalah data yang tersimpan dalam memori. register dan input/output (I/O).R7  Immediate Constant Sebuah nilai konstanta dapat mengikuti opcode dalam Program memori Contoh: MOV A. Contoh: MOV A. Bisa berlaku untuk internal dan external RAM. Contoh: MOV A. maupun Stack Pointer untuk operasi 8 bit. Hanya berlaku untuk RAM internal dan SFR.

2 IP. 21H. Pengalamatan Bit Pengalamatan bit adalah penunjukan alamat lokasi bit baik dalam RAM internal (byte 32 sampai 47) atau bit perangkat keras.6 SCON.5.2 TCON.2 SCON.0 Alamat Bit D7H D6H D5H D4H D3H D2H D0H 8Fh 8EH 8DH 8CH 8BH 8AH 89H 88H 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H AFH ACH ABH AAH A9H A8H BCH BBH BAH B9H B8H Nama Carry Flag Auxilliary carry falg Flag 0 Reg.). 40. Seluruh intruksi dapat .7 TCON.6 TCON.4 PSW.3 PSW.1 SCON.1 IE.3.7 SCON.2 IE.6 PSW. Untuk melakukan pengalamatan bit digunakan symbol titik (.2 PSW0 TCON.0 IP.3 IE. Tabel dibawah menunjukan pengalamatan bit pada mikrokontroller AT89C51 Tabel 6.1 dan ACC.3 SCON.3 TCON.4 IP.7 PSW.5 SCON.1 IP. misalnya FLAGS.7.3 IP.1 Spesial function register (SFR) Simbol CY AC F0 RS1 RS0 OV P TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 SM0 SM1 SM2 REN TB8 RB8 TI RI EA ES ET1 EX1 ET0 EX0 PS PT1 PX1 PT0 PX0 3 Posisi Bit PSW.4 TCON.4 IE.5 TCON.0 IE.1 TCON.5 PSW. Bank Select Bit 1 Reg Bank Select Bit 0 Overflow Flag Parity Flag Timer 1 overflow flag Timer run control bit Timer 0 overflow flag Timer 0 run control bit Interupt 1 edge flag Interupt 1 type control Interupt 0 edge flag Interupt 0 type control Serial Mode control bit 0 Serial mode control bit 1 Serial mode control bit 2 Reciever enable Transmit bit 8 Receiver bit 8 Transmit interrupt flag Receive Interupt flag Enable all interupr Enable serial port interrupt Enable Timer 1 Interupt Enable external Interupt 1 Enable Timer 0 interupt Enable external interrupt 0 Serial port interrupt priority Timer 1 interupt priority External interrupt priority Timer 0 interupt priority External interrupt 0 priority Perangkat Intruksi Mikrokontroller AT89C51 memiliki 256 perangkat intruksi.0 SCON.4 SCON.7 IE.

registermemori.3 Intruksi Aritmatika ini melaksanakan operasi aritmatika yang meluputi penjumlahan. perkalian dan  Instruksi Logika dan Manupulasi Bit Instruksi ini melaksanakan operasi Boolean (AND. perbandingan. OR. pengurangan satu (dekremen). Tabel 6. kecepatan pelaksanaan intruksi akan bervarias dari 1 hingga mikrodetik. Perangkat intruksi mikrokontroller AT89C51 dapat dibagi menjadi lima kelompok sebagai berikut :  Intruksi Transfer data Intruksi ini memindahkan data antara register-register. pergeseran dan komplemen data. pengurangan. penambahan satu (inkremen). XOR).dikelompokan dalam 4 bagian yang meliputi intruksi 1 byte sampai 4 byte. .2 Intruksi Transfer Data  Instruksi Aritmatika Intruksi pembagian. antar muka register dan antar muka memori. Apabila frekuensi clock mikrokontroller yang digunakan adalah 12 Mhz. Tabel 6. memori-memori.

5 Intruksi Percabangan 6. Intruksi percabangan dibedakan atas 2 yaitu : percabangan bersyarat dan percabangan tanpa syarat. Dengan instruksi ini program yang sedang dilaksanakan akan mencabang ke suatu alamat tertentu.Tabel 6.4 Aturan Pembuatan Program Assebler AT89C51 Program bahasa assembly berisikan : ● ● Intruksi-intruksi mesin Pengarah-pengarah assembler .4 Intruksi Logika dan manupulasi Bit  Instruksi Percabangan Instruksi ini mengubah urutan normal pelaksanaan suatu program. Tabel 6.

. data. LOMPAT KE LABEL START [. Format umumnya : [label :] mnemonic [operand] [. symbol-simbol. jika pembuatan program di mulai dari alamat 0000H maka program dipastikan tidak akan berjalan sebab 0000 di isi oleh intrupt reset. . Sebaiknya pembuatan program di mulai dari alamat memori 0100h agar tidak terjadi cras dengan interrupt yang lain.operand] [……] contoh pembuatan program assembler ORG 0000H LJMP START . Kontrol-kontrol assembler mengatur (menentukan) mode-mode assembler dan aliran assembly langsung (misalnya $TITLE). END Catatan : Setiap pembuatan program tidak boleh di mulai dari alamat 0000H. Pengarah assembler (assembler directive) merupakan intruksi ke program assembler yang mendefinisikan struktur program. AWAL PROGRAM YANG AKAN DIJALANKAN START : ISI PROGRAM ASSEMBLER . komentar] ORG 0100H . .● ● Kontrol-kontrol assembler Komentar-komentar Intruksi-intruksi mesin merupakan mnemonic yang menyatakan suatu instruksi yang bisa dijalankan (misalnya MOV). konstanta dan lain-lain (misalnya ORG). Baris-baris program yang mengandung instruksi mesin atau pengarah assembler harus mengikuti aturan program assembler ASM51. Komentar perlu ditulis agar program mudah dibaca. masing-masing baris atas beberapa field yang dipisahkan dengan spasi atau tabulasi. INISIALISASI ALAMAT AWAL .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->