• Tidak ada hasil yang ditemukan

Cara Kerja Mikrokontroler Prinsip kerja

N/A
N/A
Protected

Academic year: 2018

Membagikan "Cara Kerja Mikrokontroler Prinsip kerja"

Copied!
38
0
0

Teks penuh

(1)

Cara Kerja Mikrokontroler

Prinsip kerja mikrokontroler adalah sebagai berikut:

Berdasarkan nilai yang berada pada register Program Counter, mikrokontroler mengambil data pada ROM dengan alamat sebagaimana yang tertera pada register Program Counter.

Selanjutnya isi dari register Program Counter ditambah dengan satu (Increment) secara otomatis. Data yang diambil pada ROM merupakan urutan instruksi program yang telah dibuat dan diisikan sebelumnya oleh pengguna.

Instruksi yang diambil tersebut diolah dan dijalankan oleh mikrokontroler. Proses

pengerjaan bergantung pada jenis instruksi, bisa membaca, mengubah nilai-nilai pada register, RAM, isi Port,atau melakukan pembacaan dan dilanjutkan dengan pengubahan data.

Program Counter telah berubah nilainya (baik karena penambahan otomatis pada langkah 1, atau karena pengubahan-pengubahan pada langkah 2). Selanjutnya yang dilakukan oleh

mikrokontroler adalah mengulang kembali siklus ini pada langkah 1. Demikian seterusnya hingga power dimatikan.

PERKEMBANGAN MIKROPROSESOR DAN MIKROKONTROLER

Komputer hadir 50 tahun terakhir, namun efeknya sangat besar dalam mengubah kehidupan manusia.

Kemampuan chip mikroprosesor : 1. Melakukan komputasi sangat cepat. 2. Dapat bekerja sendiri dengan program. 3. Memory untuk menyimpan banyak data.

Perkembangan zaman memperluas kebutuhan akan komputer munculnya chip mikrokontroler. Mikroprosesor dan mikrokontroler adalah suatu IC yang hanya bisa bekerja bila diisi suatu program yang sesuai untuk menjalankannya. Mikroprosesor salah satu piranti yang di gunakan sebagai CPU dalam sistem komputer (single chip CPU ). Mikrokontroler merupakan IC yang di dalamnya terdapat CPU, RAM, ROM, I/O Port, dll (single chip computer).

Komputer satu chip yang memiliki kemampuan untuk diprogram dan digunakan untuk tugas yang berorientasi kontrol. Alasan adanya mikrokontroler: –

kebutuhan pasar (market need) – perkembangan teknologi baru dimana

mikrokontroler mempunyai kemampuan komputasi yang sangat cepat, bentuk yang semakin mungil, dan harga yang semakin murah.

Kemampuan tinggi, bentuk kecil, konsumsi daya rendah, dan harga murah  mikrokontroler banyak digunakan. Digunakan untuk mainan anak-anak,

perangkat elektronik rumah tangga, perangkat pendukung otomotif, peralatan industri, peralatan telekomunikasi, peralatan medis dan kedokteran, dan pengendali robot serta persenjataan militer.

Keunggulan 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.

(2)

pula dijual ke pasar sesuai kebutuhan (shorter time to market)– Konsumsi daya yang rendah (lower power consumption).

Perkembangan Mikroprosesor : Intel 4004 – 4 bit – Memori 4096 lokasi – 45 instruksi – Teknologi P-channel MOSFET – 50 KIP (kilo instructions per seconds) – Versi 8 bit: 404 - Intel 8008 (1971) – 8-bit – Memori 16kbyte – 48 instruksi – 50 KIP - Intel 8080 (1973)• Motorola MC6800 – 8 bit – Memori 64 kbyte – 500 KIP – Kompatibel dengan TTL - Intel 8085 (1977) – 8-bit – 769.230 instructions per seconds – 246 instruksi – Internal clock generator – Sistem kontrol internal – Frekuensi clock lebih tinggi• Zilog Z-80 - Intel 8086, 8088 (1978) – 16-bit – 2,5 MIP – Memori 1Mbyte – 200 kilo instruksi (CISC) - Intel 80286 – 16-bit – Memori 16 Mbyte – 4 MIP – Lebih cepat 8 kali - Intel 80386 – Data 32-bit, alamat 32-bit – Memori 4 Gbyte – Varian: 80386SX, 80386SLC, 80386EX – Koprosesor 80387 - Intel 80486 – Gabungan prosesor dan koprosesor – 50 MIP - ntel Pentium (1993)• Frekuensi 60 MHz, 66 MHz, 120 MHz, 133 MHz, 233 MHz• 150 MIP• RISC

(Reduced Instruction Set Computer) - Pentium Pro (1995) – 150 MHz, 166 MHz• Pentium II• Pentium III• Pentium 4• dst.

Perkembangan Mikrokontroler : 1970-an, Motorola 6800, dikembangkan hingga sekarang menjadi 68HC05, 68HC08, 68HC11, 68HC12, dan 68HC16.• Zilog Z80-nya, dikembangkan hingga kini menjadi Z180, dan diadopsi oleh mikroprosesor Rabbit.• Intel 8051, arsitektur 8051 kemudian diadopsi oleh vendor lain seperti Phillips, Siemens, Atmel, dan vendor-vendor.• Basic Stamps, PIC dari Microchip, MSP 430 dari Texas Instrument, dll. Perkembangan chip pintar lain• DSP

prosesor• Application Spesifc Integrated Circuit (ASIC). Perkembangan Mikrokontroller

intel 4004

intel 8048

Intel 4004 adalah mikropprosesor pertama yang dibuat tahun 1971, sedangkan Intel 8048 adalah single chip microprosesor yang pertama, dilempar kepasaran ditahun 1976 dan ini yang merupakan cikal bakal dari mikrokontroler. Keluarga dari 8048 adalah 8021, 8022, 8048, 8049 yang hingga saat ini masih digunakan pada alat-alat kedokteran modern dan digunakan pada keyboard IBM PC untuk scanning tombol-tombolnya.. Versi 8748 memiliki EPROM 1 Kbyte untuk

menyimpan programnya. Keluarga mikrokontroler pertama ini dikenal dengan nama MCS-48.

(3)

mikrokontroler 16 bit, seri MCS-96 yang dapat melakukan operasi 16 bit serta penambahan kemampuan dan kecepatan proses yang ditingkatkan. Kini jutaan chip telah digunakan diseluruh dunia untuk pengendalian proses-proses dan instrumentasi.

Seri MCS-51 sederhana, murah dan mudah didapat dipasaran, cukup untuk aplikasi sederhana bagi para pecinta elektronik maupun aplikasi di industri. Chip ini kemudian dikembangkan menjadi beberapa seri dengan berbagai

kemampuan (ftur), seperti pada 8031, 80C31, 8051AH dan 8751.Beberapa perusahaan membuat varian nya yaitu suatu chip yang kompatibel dengan bahasa dan ftur 8051 ditambah dengan kemampuan dan kemudahan khusus. Perusahaan tersebut antara lain; AMD, Atmel, Dallas, Matra, OKI, Philips,

Siemens, ISS. Produk Philips memberikan tambahan adanya ADC dan generator PWM, sedangkan Dallas mempercepat detak (clock) dan siklus mesin, Atmel membuat mikrokontroler yang menggunakan memory Flash didalamnya dan harganya relatif murah, Atmel juga membuat mikrokontroler kecil, 20 pin yaitu AT89C2051.

at89s205 .

Saat ini ada banyak mikrokontroler didunia, tetapi di Indonesia yang banyak digunakan untuk ekperimental (diantaranya digunakan untuk lomba robot) adalah produk Atmel Seri MCS51 seperti AT89S51, AT89S2051, seri AVR seperti ATMega8, ATMega16, AT902313, AT8535 dan seterusnya. Pilih mana?, ini harus melihat kebutuhan. Misalnya digunakan untuk pengajaran - sekolah, maka lebih baik diberikan seri MCS51 saja, sebab dapat berlaku seperti mikroprosesor atau mikrokontroler serta masih mengandung flosopi dasar mikroprosesor,

sedangkan seri AVR dengan banyak kemudahannya bisa dipilih untuk aplikasi - cepat. Untuk harga yang paling murah dan mudah didapat, saat ini adalah AT89S2051, sekitar 15rb/buah, jumlah pin 20, mudah memprogramnya, sangat cocok untuk pemula.

PERBEDAAN ANTARA MIKROPROSESOR DAN MIKROKONTROLER

Sobat blogger yang berbahagia, pembahasan untuk sesi sistem mikroprosesor kita akhiri dulu dan sekarang kita beralih ke sesi sistem mikrokontroler. Pada pertemuan yang pertama untuk sesi sistem mikrokontroler kali ini kita akan bahas tentang perbedaan antara mikroprosesor dan mikrokontroler. Sebenarnya mikroprosesor dan mikrokontroler dikembangkan dari satu ide dasar yang sama dan dibuat oleh orang yang sama. Lalu apa perbedaan diantara keduanya ?, Nah untuk mengetahuinya ikuti dan simak uraian berikut ini.

1. Mikroprosesor

(4)

Gambar 1. Blok Diagram Mikroprosesor

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 paralel.

Pokok dari penggunaan mikroprosesor adalah untuk mengambil data, membentuk kalkulasi, perhitungan atau manipulasi data, dan menyimpan hasil perhitungan pada peralatan penyimpan atau menampilkan hasilnya pada sebuah monitor atau cetak keras.

2. Mikrokontroler

Mikrokontroler adalah komputer 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 seperti terlihat pada Gambar 2 di bawah ini.

Gambar 2. Blok Diagram Mikrokontroler

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.

(5)

Sebagai catatan dari tabel ini, jika dilakukan perbandingan bukanlah berarti menunjukkan bahwa yang satu lebih baik dari yang lainnya. Kedua rancangan tersebut memiliki penekanan dan tujuan yang berbeda.

3. Survey Mikrokontroler

Seperti halnya sebuah mikroprosesor, mikrokontroler juga berkembang dalam rancangan dan aplikasinya. Mikrokontroler berdasarkan jumlah bit data yang dapat diolah dapat dibedakan dalam : - Mikrokontroler 4 Bit

- Mikrokontroler 8 Bit - Mikrokontroler 16 Bit - Mikrokontroler 32 Bit

a. Mikrokontroler 4 Bit

Mikrokontroler 4 bit merupakan mikrokontroler dengan jumlah bit data terkecil. Mikrokontroler jenis ini diproduksi untuk meminimalkan jumlah pin dan ukuran kemasan.

Tabel 2. Mikrokontroler 4 bit

b. Mikrokontroler 8 Bit

(6)

jauh lebih banyak dibandingkan dengan mikrokontroler 4 bit. Aplikasinya juga sangat pariatif mulai dari aplikasi kendali sederhana sampai kendali mesin berkecepatan tinggi.

Tabel 3. Mikrokontroler 8 bit

c. Mikrokontroler 16 Bit

Keterbatasan-keterbatasan yang ada pada mikrokontroler 8 bit berkaitan dengan semakin kompleknya pengolahan data dan pengendalian serta kecepatan tanggap (respon), disempurnakanlah dengan menggunakan mikrokontroler 16 bit. Salah satu solusinya adalah dengan menaikkan kecepatan clock, dan ukuran data. Mikrokontroler 16 bit digunakan untuk mengatur tangan robot, dan aplikasi Digital Signal Processing (DSP).

Tabel 4. Mikrokontroler 16 Bit

Pulse Width Modulation (PWM) atau modulasi lebar pulsa sangat bermanfaat untuk mengontrol kecepatan motor listrik sebagai penggerak peralatan mesin industri.

(7)

Mikrokontroler 32 bit ditargetkan untuk aplikasi Robot, Instrumen cerdas, Avionics, Image Processing, Telekomunikasi, Automobil, dan sebagainya. Program-program aplikasinya bekerja dengan sistem operasi.

adapun perbedaan mikrokontroler dengan mikroprosesor adalah:

perbedaan yang cukup penting antara Mikroprosesor dan Mikrokontroler. Jika

Mikroprosesor merupakan CPU

(Central Processing Unit)

tanpa memori dan I/O

pendukung dari sebuah komputer, maka Mikrokontroler umumnya terdiri dari

CPU, Memori , I/O tertentu dan unit pendukung, misalnya

Analog to Digital

Converter

(ADC)

yang sudah terintegrasi di dalam mikrokontroler tersebut.

kelebihan mikrokontroler:

Mikrokontroler ialah telah tersedianya RAM dan peralatan I/O Pendukung

sehingga ukuran board mikrokontroler menjadi sangat ringkas. Terdapat berbagai

jenis mikrokontroler dari berbagai vendor yang digunakan secara luas? di dunia.

Diantaranya yang terkenal ialah dari Intel, Maxim, Motorolla , dan ATMEL.

Beberapa seri mikrokontroler yang digunakan secara luas ialah 8031, 68HC11,

6502 , 2051 dan 89S51. Mikrokontroler yang mendukung jaringan komputer

seperti DS80C400 tampaknya akan menjadi primadona pada tahun-tahun

mendatang

DASAR-DASAR MIKROKONTROLLER

AT89S51 (BAG-1)

Mikrokontroler tipe AT89S51 merupakan mikrokontroler keluarga MCS-51

dengan konfigurasi yang sama persis dengan AT89C51 yang cukup terkenal,

hanya saja AT89S51 mempunyai fitur ISP (In-System Programmable Flash

Memory). Fitur ini memungkinkan mikrokontroler dapat diprogram langsung

dalam suatu sistem elektronik tanpa melalui Programmer Board atau

Downloader Board. Mikrokontroler dapat diprogram langsung melalui kabel

ISP yang dihubungkan dengan paralel port pada suatu Personal Computer.

Adapun fitur yang dimiliki Mikrokontroler AT89S51 adalah sebagai berikut :

1. Sebuah CPU (Central Processing Unit) 8 bit yang termasuk keluarga

MCS51.

2. Osilator internal dan rangkaian pewaktu, RAM internal 128 byte (on chip).

3. Empat buah Programmable port I/O,masing-masing terdiri atas 8 jalur I/O

4. Dua buah Timer Counter 16 bit.

(8)

6. Sebuah port serial dengan kontrol serial full duplex UART.

7. Kemampuan melaksanakan operasi perkalian, pembagian dan operasi

Boolean (bit)

8. Kecepatan pelaksanaan instruksi per siklus 1 microdetik pada frekuensi

clock 12 MHz

9. 4 Kbytes Flash ROM yang dapat diisi dan dihapus sampai 1000 kali

10. In-System Programmable Flash Memory

Dengan keistimewaan diatas, pembuatan alat menggunakan AT89S51

menjadi lebih sederhana dan tidak memerlukan IC pendukung yang banyak.

Sehingga mikrokontroler AT89S51 ini mempunyai keistimewaan dari segi

perangkat keras. Adapun blok diagram dari mikrokontroler 89S51

diperlihatkan pada Gambar 1.1.

Gambar 1.1. Blok diagram dari mikrokontroler 89S51

Konfigurasi Pin Mikrokontroler AT89S51

(9)

Gambar 1.2. Konfigurasi Pin AT89S51

Mikrokontroler AT89S51 memiliki pin berjumlah 40 dan umumnya dikemas

dalam DIP (Dual Inline Package). Masing-masing pin pada mikrokontroler

AT89S51 mempunyai kegunaan sebagai berikut:

Port 0

Port 0 merupakan port dua fungsi yang berada pada pin 32-39 dari AT89S51.

Dalam rancangan sistem sederhana port ini sebagai port I/O serbaguna.

Untuk rancangan yang lebih komplek dengan melibatkan memori eksternal

jalur ini dimultiplek untuk bus data dan bus alamat.

Port 1

Port 1 disediakan sebagai port I/O dan berada pada pin 1-8. Beberapa pin

pada port ini memiliki fungsi khusus yaitu P1.5 (MOSI), P1.6 (MISO), P1.7

(SCK) yang digunakan untuk jalur download program.

Port 2

Port 2 ( pin 21-28 ) merupakan port dua fungsi yaitu sebagai I/O serbaguna,

atau sebagai bus alamat byte tinggi untuk rancangan yang melibatkan

memori eksternal.

Port 3

Port 3 adalah port dua fungsi yang berada pada pin 10-17, port ini memiliki

multi fungsi, seperti yang terdapat pada tabel 1.1 berikut ini :

BIT NAME BIT ADDRESS ALTERNATE FUNCTION

P3.0 RXD B0h Receive data for serial port

P3.1 TXD B1h Transmit data for serial port

P3.2 INT0 B2h External interrupt 0

P3.3 INT1 B3h External interrupt 1

(10)

P3.5 T1 B5h Timer/counter 1 external input

P3.6 WR B6h External data memory write strobe

P3.7 RD B7h External data memory read strobe

PSEN (Program Store Enable)

adalah sebuah sinyal keluaran yang terdapat pada pin 29. Fungsinya adalah

sebagai sinyal kontrol untuk memungkinkan mikrokontroler membaca

program (code) dari memori eksternal. Biasanya pin ini dihubungkan ke pin

EPROM. Jika eksekusi program dari ROM internal atau dari flash memori

(ATMEL AT89SXX), maka berada pada kondisi tidak aktif (high).

ALE (Address Latch Enable)

Sinyal output ALE yang berada pada pin 30 fungsinya sama dengan ALE pada

microprocessor INTEL 8085, 8088 atau 8086. Sinyal ALE dipergunakan untuk

demultiplek bus alamat dan bus data. Sinyal ALE membangkitkan pulsa

sebesar 1/6 frekuensi oscillator dan dapat dipakai sebagai clock yang dapat

dipergunakan secara umum.

EA(External Access)

Masukan sinyal terdapat pada pin 31 yang dapat diberikan logika rendah

(ground) atau logika tinggi (+5V). Jika diberikan logika tinggi maka

mikrokontroler akan mengakses program dari ROM internal (EPROM/flash

memori). Jika diberi logika rendah maka mikrokontroler akan mengakses

program dari memori eksternal.

RST (Reset)

Input reset pada pin 9 adalah reset master untuk AT89S51. Pulsa transisi dari

tinggi selama 2 siklus ke rendah akan mereset mikrokontroler.

Oscillator

Oscillator yang disediakan pada chip dikemudikan dengan XTAL yang

(11)

Gambar 1.3. Konfigurasi Xtal Osilator

Power

AT89S51 dioperasikan pada tegangan supply +5v, pin Vcc berada pada nomor

40 dan Vss (ground) pada pin 20.

Organisasi Memori

a. Pemisahan Memori Program dan Data

Semua divais 8051 mempunyai ruang alamat yang terpisah untuk memori

program dan memori data, seperti yang ditunjukkan pada gambar1.1. dan

gambar 1.2. Pemisahan secara logika dari memori program dan data,

mengijinkan memori data untuk diakses dengan pengalamatan 8 bit, yang

dengan cepat dapat disimpan dan dimanipulasi dengan CPU 8 bit. Selain itu,

pengalamatan memori data 16 bit dapat juga dibangkitkan melalui register

DPTR. Memori program ( ROM, EPROM dan FLASH ) hanya dapat dibaca, tidak

ditulis. Memori program dapat mencapai sampai 64K byte. Pada 89S51, 4K

byte memori program terdapat didalam chip. Untuk membaca memori

program eksternal mikrokontroller mengirim sinyal PSEN ( program store

enable ) . Memori data ( RAM ) menempati ruang alamat yang terpisah dari

memori program. Pada keluarga 8051, 128 byte terendah dari memori data,

berada didalam chip. RAM eksternal (maksimal 64K byte). Dalam

(12)

Gambar 1.4. Struktur memori mikrokontroler keluarga MCS51

Gambar 1.5. Arsitektur Memori Mikrokontroller 8051

b. Memori Program

Gambar 1.5. menunjukkan suatu peta bagian bawah dari memori program.

Setelah reset CPU mulai melakukan eksekusi dari lokasi 0000H. Sebagaimana

yang ditunjukkan pada gambar 1.6, setiap interupsi ditempatkan pada suatu

lokasi tertentu pada memori program. Interupsi menyebabkan CPU untuk

melompat ke lokasi dimana harus dilakukan suatu layanan tertentu.

Interupsi Eksternal 0, sebagi contoh, menempatai lokasi 0003H. Jika

(13)

lokasi 0003H. Jika interupsi ini tidak digunakan, lokasi layanan ini dapat

digunakan untuk berbagai keperluan sebagai Memori Program.

Gambar 1.6. Peta Interupsi mikrokontroller 8051

c. Memori Data

Pada gambar 1.7. menunjukkan ruang memori data internal dan eksternal

pada keluarga 8051. CPU membangkitkan sinyal RD dan WR yang diperlukan

selama akses RAM eksternal. Memori data internal terpetakan seperti pada

gambar 1.7. Ruang memori dibagi menjadi tiga blok, yang diacukan sebagai

128 byte lower, 128 byte upper dan ruang SFR. Alamat memori data internal

selalu mempunyai lebar data satu byte. Pengalamatan langsung diatas 7Fh

akan mengakses satu alamat memori, dan pengalamatan tak langsung diatas

7Fh akan mengakses satu alamat yang berbeda. Demikianlah pada gambar

1.7 menunjukkan 128 byte bagian atas dan ruang SFR menempati blok

alamat yang sama, yaitu 80h sampai dengan FFh, yang sebenarnya mereka

terpisah secara fisik

(14)

Gambar 1.7. Memori data internal

Gambar 1.8. RAM internal 128 byte paling bawah

(15)

Gambar 1.9. RAM internal 128 byte paling atas

d. Special Function Register

Sebuah peta memori yang disebut ruang special function register ( SFR )

ditunjukkan pada gambar berikut. Perhatikan bahwa tidak semua

alamat-alamat tersebut ditempati, dan alamat-alamat-alamat-alamat yang tak ditempati tidak

diperkenankan untuk diimplementasikan. Akses baca untuk alamat ini akan

menghasilkan data random, dan akses tulis akan menghasilkan efek yang tak

jelas.

e. Accumulator

ACC adalah register akumulator. Mnemonik untuk instruksi spesifik

akumulator ini secara sederhana dapat disingkat sebagai A.

f. Register

Register B digunakan pada saat opersi perkalian dan pembagian. Selain

untuk keperluan tersebut diatas, register ini dapat digunakan untuk register

bebas.

g. Program Status Word.

Register PSW terdiri dari informasi status dari program .

h. Stack Pointer

Register Pointer stack mempunyai lebar data 8 bit. Register ini akan

bertambah sebelum data disimpan selama eksekusi push dan call. Sementara

stack dapat berada disembarang tempat RAM. Pointer stack diawali di

(16)

i. Data Pointer

Pointer Data (DPTR) terdiri dari byte atas (DPH) dan byte bawah (DPL).

Fungsi ini ditujukan untuk menyimpan data 16 bit. Dapat dimanipulasi

sebagai register 16 bit atau dua 8 bit register yang berdiri sendiri.

Gambar 1.10. Pemetaan Data Pointer.

About these ads

Mikrokontroler adalah mikrokomputer dalam keping tunggal (single chip Microcomputer) yang dapat berdiri sendiri serta memiliki CPU dan dilengkapi dengan memori input output. Mikrokontroler AT89C51 adalah mikrokontroler ATMEL yang kompatibel penuh dengan mikrokontroler keluarga MCS-51, membutuhkan daya yang rendah, memiliki performa yang tinggi dan merupakan mikrokomputer 8 bit yang dilengkapi 4 Kbyte EPROM (Erasable and Programable Read Only Memori) dan 128 byte RAM internal. Program memori dapat diprogram ulang dalam sistem atau dengan menggunakan Program Nonvolately Memory Konvensional.

Arsitektur

AT89C51

(17)

Arsitektur Mikrokontroler AT89C51

Sebagai single chip yaitu suatu system mikroprosesor yang terintegrasi, mikrokontroler AT89C51 mempunyai konfigurasi sebagai berikut:

 CPU 8 bit termasuk keluarga MCS-51.

 4 Kbyte alamat untuk memory program internal (EEPROM).

 128 byte memory data dalam ( Internal Data memory/ RAM).

 8 bit program status word (PSW).

 8 bit stack pointer ( SP).

 32 pin I/O tersusun yaitu port 0-port 3 @ 8 bit.

 2 buah timer/ counter 16 bit.

 Data serial full dupleks.

 Control register.

 5 sumber interrupt.

(18)

Fungsi Pin Mikrokontroller AT89C51

Susunan pin-pin mikrokontroller AT89C51 diperlihatkan pada Gambar di bawah ini dan penjelasan dari masing-masing pin adalah sebagai berikut:

PIN Mikrokontroler AT89C51

Port 0

Port 0 merupakan port dua fungsi yang berada pada pin 32-39 dari IC AT 89C51. Merupakan port I/O 8 bit dua arah yang serba guna port ini dapat digunakan sebagai multlipleks bus data dan bus alamat rendah untuk pengaksesan memori eksternal.

Port 1

Port 1 merupakan port I/O yang berada pada pin 1-8. Port ini dapat bekerja dengan baik untuk operasi bit maupun byte, tergantung dari pengaturan pada software

Port 2

Port 2 merupakan port I/O serba guna yang berada pada pin 21- 28, port ini dapat juga digunakan sebagai bus alamat byte tinggi untuk rancangan yang melibatkan pengaksesan memori eksternal.

Port 3

(19)

BIT NAMA BIT

PSEN adalah sebuah sinyal keluaran yang terdapat pada pin 29. Fungsinya adalah sebagai sinyal kontrol untuk memungkinkan mikrokontroller membaca program (code) dari memori eksternal atau dapat dikatakan sebagai sinyal kontrol yang menghubungkan memori program eksternal dengan bus selama pengaksesan.

ALE ( Address Latch Enable)

Sinyal output ALE yang berada pada pin3.0 fungsinya sama dengan ALE pada mikroprosesor INTEL 8085 atau 8088. Sinyal ALE dipergunakan untuk demultlipleks bus alamat dan bus data. Dan untuk menahan alamat memori eksternal selama pelaksanaan instruksi.

EA ( External Acces)

Maksudnya sinyal EA terdapat pada pin 3.1 yang dapat diberikan logika rendah (ground) atau logika tinggi(+ 5 V ). Jika EA diberikan logika tinggi maka mikrokontroller akan mengakses program dari ROM internal

( EEPROM/ flash memori).Jika EA diberi logika rendah maka mikrokontroller akan mengakses program dari memori eksternal.

RST ( Reset)

Input reset pada pin 9 adalah reset master untuk AT89C51. Perubahan tegangan dari rendah ke tinggi akan merest AT 89C51.

Osilator

(20)

Osilator Eksternal AT89C51

Power (Vcc)

AT89C51 dioperasikan dengan tegangan supply +5v, pin Vcc berada pada pin 40 dan Vss(ground) pada pin 20.

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

A.

Pendahuluan

(21)

B.

Pengenalan Mikrokontroler AT89C51

Mikrokontroler, sebagai suatu terobosan teknologi mikroprosesor dan mikrokomputer, hampir memenuhi kebutuhan pasar dan teknologi baru. Teknologi baru, di sini pengertiannya adalah teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun membutuhkan ruang yang kecil serta dapat diproduksi secara massal sehingga harganya menjadi lebih murah. Mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih baik atau canggih.

Ada perbedaan yang cukup penting antara mikroprosesor dengan mikrokontroler. Jika mikroprosesor merupakan CPU (Central Processing Unit) tanpa memori dan I/O pendukung dari sebuah komputer, maka mikrokontroler umumnya terdiri atas CPU, memori, I/O tertentu, dan unit pendukung lainnya, misalnya Analog to Digital Converter (ADC) yang sudah terintegrasi di dalam mikrokontroler tersebut. Kelebihan mikrokontroler adalah telah tersedianya RAM dan peralatan I/O pendukung. Terdapat berbagai jenis mikrokontroler dari berbagai vendor yang digunakan secara luas di dunia ini. Di antaranya yang terkenal adalah dari Intel, Maxim, Motorola, dan ATMEL.

2.1.1 Komponen Dasar Mikrokontroler

Mikrokontroler umumnya terdiri dari dari CPU, memori, I/O tertentu dan unit pendukung lainnya seperti ADC (Analog Digital Converter) yang sudah terintegrasi didalamnya.

1. Cental Processing Unit (CPU)

(22)

melakukan proses perhitungan yang diperlukan selama program dijalankan serta mempertimbangkan suatu kondisi dan mengambil keputusan yang diperlukan untuk instruksi-instruksi berikutnya.

2. Bus Alamat

Bus alamat berfungsi sebagai sejumlah lintasan saluran pengalamatan antara alat dengan sebuah komputer. Pengalamatan ini harus ditentukan terlebih dahulu untuk menghindari terjadinya kesalahan pengiriman sebuah instruksi dan terjadinya ketidaksesuaian antara dua buah alat yang bekerja secara bersamaan.

3. Bus Data

Bus data merupakan sejumlah lintasan saluran keluar-masuknya data dalam suatu mikrokontroler. Pada umumnya saluran data yang masuk sama dengan saluran data yang keluar.

4. Bus Kontrol

Bus kontrol atau bus pengendali ini berfungsi untuk menyerempakan operasi mikrokontroler dengan operasi rangkaian luar.

5. Memori

Di dalam sebuah mikrokontroler terdapat suatu memori yang berfungsi untuk menyimpan data atau program. Ada beberapa jenis memori, di antaranya adalah RAM dan ROM. Ada beberapa tingkatan memori, di antaranya adalah register internal, memori utama, dan memori massal. Register internal adalah memori di dalam ALU. Waktu akses register ini sangat cepat, umumnya kurang dari 100 ns. Memori utama adalah memori yang ada pada suatu sistem. Waktu aksesnya lebih lambat dibanding register internal, yaitu antara 200 sampai 1000 ns. Memori massal dipakai untuk penyimpanan berkapasitas tinggi, biasanya berbentuk disket, pita magnetik, atau kaset.

(23)

RAM merupakan memori yang dapat dibaca dan ditulis. RAM biasanya digunakan untuk menyimpan data sementara atau sering disebut dengan memori data saat program bekerja. Data yang ada pada RAM akan hilang bila catu daya dari RAM dimatikan sehingga RAM hanya dapat digunakan untuk menyimpan data sementara. Teknologi RAM dapat dibagi menjadi dua, yaitu statik dan dinamik. RAM dinamik tersusun oleh sel-sel yang menyimpan data sebagai muatan listrik pada kapasitor. Ada-tidaknya muatan yang ada pada kapasitor dijadikan oleh RAM dinamik sebagai bilangan biner 1 atau 0. Oleh karena kapasitor memiliki kecendrungan alami untuk mengosongkan muatan, RAM dinamik memerlukan pengisian muatan secara periodik untuk

ROM merupakan memori yang hanya dapat dibaca. Data yang disimpan di ROM tidak akan hilang meskipun tegangan catu daya dimatikan. Berdasar sifat itu maka ROM sering dipakai untuk menyimpan program. Ada beberapa jenis ROM, diantaranya ROM, PROM, EPROM, dan EEPROM. ROM merupakan memori yang sudah diprogram oleh pabrik. PROM dapat diprogram oleh pemakai tapi hanya dapat ditulis sekali saja. UV-EPROM merupakan PROM yang dapat diprogram atau ditulis beberapa kali dan dapat dihapus dengan sinar ultraviolet. Flash PEROM adalah PROM yang dapat ditulis ulang beberapa kali dan dapat dihapus secara elektrik atau dengan tegangan listrik. UV-EPROM harganya lebih mahal dari

Flash PEROM, karena itu Flash PEROM lebih populer dan diminati

programmer mikrokontroler.

2.1.2 Mikrokontroler AT89C51

Mikrokontroler AT89C51 adalah mikrokomputer CMOS 8 bit

(24)

non-volatile, mikrokontroler AT89C51 ini kompatibel dengan mikrokontroler standar industri MCS-51 (seperti mikrokontroler 8031 yang terkenal dan banyak digunakan beberapa waktu lalu).

AT89C51 mempunyai memori yang terdiri atas : RAM internal sebesar 128 byte dengan alamat 00H-7Fh, dan dapat diakses menggunakan RAM address register. RAM internal ini terdiri atas

Register Banks dengan 8 buah register (R0-R7). Memori lain, yaitu 21 buah Special Function Register dimulai dari alamat 80H-FFH. RAM ini beda lokasi dengan Flash PEROM dengan alamat 000H-7FFH.

Tabel 1. Alamat RAM Internal

Special Function Register

RAM Internal

Untuk sekedar perbandingan kapasitas memori, Tabel 2 berikut memperlihatkan kapasitas memori dari mikrokontroler seri AT89XXX.

Tabel 2. Kapasitas Memori Mikrokontroler seri AT89XXX.

Type RAM Flash

Memory

EEPROM

AT89C51/S51 8 x 128 byte 4 Kbyte Tidak

AT89C52/S52 8 x 256 byte 4 Kbyte Tidak

AT89C55 8 x 256 byte 4 Kbyte Tidak

AT89S53 8 x 256 byte 4 Kbyte Tidak

AT89S8252 8 x 256 byte 4 Kbyte 4 Kbyte

2.1.3 Arsitektur Mikrokontroler AT89C51

(25)

mikrokontroler dijalankan secara bertahap, jadi pada program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu dijalankan secara bertahap atau berurutan.

Beberapa fasilitas yang dimiliki oleh mikrokontroler AT89C51 adalah sebagai berikut:

a. Sebuah CPU 8 bit.

b. Osilator internal dan rangkaian pewaktu. c. RAM internal 128 byte.

d.Flash memori 4 Kbyte.

e. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal).

f. Empat buah programable port I/O yang masing-masing terdiri dari delapan buah jalur I/O.

g. Sebuah port serial dengan kontrol serial full duplex UART.

h. Kemampuan untuk melaksanakan operasi aritmatika dan logika. i. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik

pada frekuensi 12 MHz.

Berdasarkan susunan kaki yang terdapat pada Gambar 2 mikrokontroler AT89C51 di atas dapat dijelaskan sebagai berikut: a. VCC

Vcc digunakan sebagai catu daya (+) yang dibutuhkan mikrokontroler AT89C51.

b. GND

GND digunakan

(26)

Gambar 1. Mikrokontroler seri AT89C51

c. RST (Reset)

Berfungsi sebagai masukan reset. Kondisi high selama 2 siklus mesin selama osilator bekerja akan me-reset mikrokontroler yang bersangkutan.

d.ALE/PROG

Keluaran ALE atau Address Latch Enable akan menghasilkan pulsa-pulsa untuk mengunci byte rendah (low byte) alamat selama mengakses memori eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program (the program pulse input) atau PROG

selama pemrograman flash. Pada operasi normal, ALE akan berpulsa dengan laju 1/6 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan (timing) atau pendetakan (clocking) rangkaian eksternal. Jika dikehendaki, operasi ALE bisa dimatikan dengan cara mengatur bit 0 dari SFR lokasi 8Eh. Jika isinya ‘1’(hight),

ALE hanya akan aktif selama dijumpai instruksi MOVX atau

MOVC. Selain itu, kaki ini akan secara lemah di-pulled high. Mematikan bit ALE tidak akan ada efeknya jika mikrokontroler mengeksekusi program secara eksternal.

(27)

Port 0 merupakan port paralel 8 bit dua arah. Posisi Least Signifcant Bit (LSB) terletak pada kaki 39 dan Most Signifcant Bit (MSB) terletak pada kaki 32.

Gambar 2. BitPort 0

Port 0 juga merupakan port keluaran/masukkan (I/O) bertipe open drain bidirectional, dan sebagai port keluaran, masing-masing kaki dapat menyerap arus (sink) delapan masukkan TTL (sekitar 3,8 mA). Pada saat ‘1’ dituliskan ke kaki-kaki Port 0 ini, maka kaki-kaki

Port 0 dapat digu-nakan sebagai masukan berimpedansi tinggi.

Port 0 juga dapat dikonf-gurasi sebagai bus alamat/data bagian rendah (low byte) selama proses pengaksesan memori data dan program eksternal. Jika digunakan dalam mode ini Port 0 memiliki pull-upinternal. Port 0 juga menerima kode- kode yang dikirimkan kepadanya selama proses pemrograman dan mengeluarkan kode-kode selama proses verifkasi program yang telah ter- simpan dalam flash. Dalam hal ini dibutuhkan pull-up eksternal selama proses verifkasi program.

f. Port 1

(28)

Gambar 3. BitPort 1

Port 1 merupakan port I/O dua arah yang dilengkapi dengan pull-up internal. Penyangga keluaran Port 1 mampu memberikan / menyerap arus empat masukan TTL (sekitar 1,6mA). Jika ‘1’ dituliskan ke kaki-kaki Port 1, maka masing-masing kaki akan

di-pulled high dengan pull-up internal sehingga dapat digunakan sebagai masukan. Apabila kaki-kaki Port 1 dihubungkan ke

ground (di-pulled low), maka masing-masing kaki akan

memberikan arus (source) karena di-pulled high secara internal.

Port 1 juga menerima alamat bagian rendah (low byte) selama pemrograman dan verifkasi flash.

g.Port 2

Port 2 merupakan port paralel 8 bit dua arah. Port ini mengirim

(29)

Gambar 4. BitPort 2

Penyangga keluaran Port 2 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Jika ‘1’ dituliskan ke kaki-kaki Port 2, maka masing-masing kaki akan di-pulled high dengan

pullup internal sehingga dapat digunakan sebagai masukan. Apabila kaki-kaki Port 2 dihubungkan ke ground (di-pulled low), maka masing-masing kaki akan memberikan arus (source) karena di-pulled high secara internal. Port 2 akan memberikan byte alamat bagian tinggi (high byte) selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 16 bit

(misalnya: MOVX @ DPTR). Dalam aplikasi ini, jika ingin mengirimkan ‘1’, maka digunakan pull-up internal yang sudah disediakan. Selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 8 bit (misalnya: MOVX @Ri),

Port 2 akan mengirimkan isi dari SFR P2. Port 2 juga menerima alamat bagian tinggi selama pemrograman dan verifkasi flash. h.Port 3

Port 3 merupakan port paralel 8 bit dua arah. LSB terletak pada kaki 10 dan MSB terletak pada kaki 17. Port ini mempunyai beberapa fungsi khusus yaitu:

Tabel 3. Fungsi khusus kaki-kaki pada port 3

KAKI PORT 3 FUNGSI KHUSUS

P3.0 RXD (port input serial)

P3.1 TXD (port output serial)

P3.2 INT0 (interrupt eksternal 0)

P3.3 INT1 (interrupt eksternal 1)

P3.4 T0 (input eksternal timer 0)

(30)

P3.6 WR (perintah write pada memori eksternal)

P3.7 RD (perintah read pada memori eksternal)

Port 3 merupakan port I/O dua arah dengan dilengkapi pull-up internal. Penyangga keluaran Port 3 mampu memberikan / menyerap arus empat masukan TTL (sekitar 1,6 mA).

Gambar 5. Bit Port 3

Jika ‘1’ dituliskan ke kaki-kaki Port 3, maka masing-masing kaki akan di-pulled high dengan pull-up internal sehingga dapat digunakan sebagai masukan. Apabila kaki-kaki Port 3 dihubungkan ke ground (di-pullup low), maka masing-masing kaki akan memberikan arus (source) karena di-pulled high secara internal.

i. PSEN (Program Store Enable)

(31)

eksternal, PSEN akan diaktifkan dua kali per siklus mesin, kecuali dua aktivasi PSEN dilompati (diabaikan) saat mengakses memori

(32)

Gambar 6. Diagram blok AT89C51

j. EA/Vpp (External Access Enable)

EA harus selalu dihubungkan ke ground, jika mikrokontroler akan mengeksekusi program dari memori eksternal lokasi 0000h hingga

FFFFh. Selain dari itu, EA harus dihubungkan ke Vcc agar mikrokontroler mengakses program secara internal.

k. XTAL 1

XTAL1 berfungsi sebagai masukan dari rangkaian osilator. l. XTAL 2

XTAL 2 berfungsi sebagai keluaran dari rangkaian osilator.

Mikrokontroler tipe AT89S51 merupakan mikrokontroler keluarga MCS-51 dengan konfigurasi yang sama persis dengan AT89C51 yang cukup terkenal, hanya saja AT89S51 mempunyai fitur ISP (In-System Programmable Flash Memory). Fitur ini memungkinkan mikrokontroler dapat diprogram langsung dalam suatu sistem elektronik tanpa melalui Programmer Board atau Downloader Board. Mikrokontroler dapat diprogram langsung melalui kabel ISP yang dihubungkan dengan paralel port pada suatu Personal Computer.

Adapun fitur yang dimiliki Mikrokontroler AT89S51 adalah sebagai berikut : 1. Sebuah CPU (Central Processing Unit) 8 bit yang termasuk keluarga MCS51. 2. Osilator internal dan rangkaian pewaktu, RAM internal 128 byte (on chip). 3. Empat buah Programmable port I/O,masing-masing terdiri atas 8 jalur I/O 4. Dua buah Timer Counter 16 bit.

5. Lima buah jalur interupsi (2 interupsi external dan 3 interupsi internal ) 6. Sebuah port serial dengan kontrol serial full duplex UART.

7. Kemampuan melaksanakan operasi perkalian, pembagian dan operasi Boolean (bit) 8. Kecepatan pelaksanaan instruksi per siklus 1 microdetik pada frekuensi clock 12 MHz 9. 4 Kbytes Flash ROM yang dapat diisi dan dihapus sampai 1000 kali

10. In-System Programmable Flash Memory

(33)

keistimewaan dari segi perangkat keras. Adapun blok diagram dari mikrokontroler 89S51 diperlihatkan pada Gambar 1.1.

Gambar 1.1. Blok diagram dari mikrokontroler 89S51 Konfigurasi Pin Mikrokontroler AT89S51

Susunan pin mikrokontroler AT89S51 diperlihatkan pada Gambar 1.2.

Gambar 1.2. Konfigurasi Pin AT89S51

(34)

Port 0 merupakan port dua fungsi yang berada pada pin 32-39 dari AT89S51. Dalam rancangan sistem sederhana port ini sebagai port I/O serbaguna. Untuk rancangan yang lebih komplek dengan melibatkan memori eksternal jalur ini dimultiplek untuk bus data dan bus alamat.

Port 1

Port 1 disediakan sebagai port I/O dan berada pada pin 1-8. Beberapa pin pada port ini memiliki fungsi khusus yaitu P1.5 (MOSI), P1.6 (MISO), P1.7 (SCK) yang digunakan untuk jalur download program. Port 2

Port 2 ( pin 21-28 ) merupakan port dua fungsi yaitu sebagai I/O serbaguna, atau sebagai bus alamat byte tinggi untuk rancangan yang melibatkan memori eksternal.

Port 3

Port 3 adalah port dua fungsi yang berada pada pin 10-17, port ini memiliki multi fungsi, seperti yang terdapat pada tabel 1.1 berikut ini :

BIT NAME BIT ADDRESS ALTERNATE FUNCTION P3.0 RXD B0h Receive data for serial port P3.1 TXD B1h Transmit data for serial port P3.2 INT0 B2h External interrupt 0

P3.3 INT1 B3h External interrupt 1

P3.4 T0 B4h Timer/counter 0 external input P3.5 T1 B5h Timer/counter 1 external input P3.6 WR B6h External data memory write strobe P3.7 RD B7h External data memory read strobe PSEN (Program Store Enable)

adalah sebuah sinyal keluaran yang terdapat pada pin 29. Fungsinya adalah sebagai sinyal kontrol untuk memungkinkan mikrokontroler membaca program (code) dari memori eksternal. Biasanya pin ini dihubungkan ke pin EPROM. Jika eksekusi program dari ROM internal atau dari flash memori (ATMEL AT89SXX), maka berada pada kondisi tidak aktif (high).

ALE (Address Latch Enable)

Sinyal output ALE yang berada pada pin 30 fungsinya sama dengan ALE pada microprocessor INTEL 8085, 8088 atau 8086. Sinyal ALE dipergunakan untuk demultiplek bus alamat dan bus data. Sinyal ALE membangkitkan pulsa sebesar 1/6 frekuensi oscillator dan dapat dipakai sebagai clock yang dapat dipergunakan secara umum.

EA(External Access)

Masukan sinyal terdapat pada pin 31 yang dapat diberikan logika rendah (ground) atau logika tinggi (+5V). Jika diberikan logika tinggi maka mikrokontroler akan mengakses program dari ROM internal (EPROM/flash memori). Jika diberi logika rendah maka mikrokontroler akan mengakses program dari memori eksternal.

RST (Reset)

Input reset pada pin 9 adalah reset master untuk AT89S51. Pulsa transisi dari tinggi selama 2 siklus ke rendah akan mereset mikrokontroler.

Oscillator

Oscillator yang disediakan pada chip dikemudikan dengan XTAL yang dihubungkan pada pin 18 dan pin 19. Diperlukan kapasitor penstabil sebesar 30 pF. Besar nilai XTAL sekitar 3 MHz sampai 33 MHz. XTAL1 adalah input ke pembalikan penguat osilator (inverting oscillator amplifier) dan input ke clock internal pengoperasian rangkaian. Sedangkan XTAL2 adalah output dari pembalikan penguat osilator.

Gambar 1.3. Konfigurasi Xtal Osilator

Power

(35)

Organisasi Memori

a. Pemisahan Memori Program dan Data

Semua divais 8051 mempunyai ruang alamat yang terpisah untuk memori program dan memori data, seperti yang ditunjukkan pada gambar1.1. dan gambar 1.2. Pemisahan secara logika dari memori program dan data, mengijinkan memori data untuk diakses dengan pengalamatan 8 bit, yang dengan cepat dapat disimpan dan dimanipulasi dengan CPU 8 bit. Selain itu, pengalamatan memori data 16 bit dapat juga dibangkitkan melalui register DPTR. Memori program ( ROM, EPROM dan FLASH ) hanya dapat dibaca, tidak ditulis. Memori program dapat mencapai sampai 64K byte. Pada 89S51, 4K byte memori program terdapat didalam chip. Untuk membaca memori program eksternal mikrokontroller mengirim sinyal PSEN ( program store enable ) . Memori data ( RAM ) menempati ruang alamat yang terpisah dari memori program. Pada keluarga 8051, 128 byte terendah dari memori data, berada didalam chip. RAM eksternal (maksimal 64K byte). Dalam pengaksesan RAM Eksternal, mikrokontroller mingirimkan sinyal RD ( baca ) dan WR ( tulis ).

Gambar 1.4. Struktur memori mikrokontroler keluarga MCS51

(36)

b. Memori Program

Gambar 1.5. menunjukkan suatu peta bagian bawah dari memori program. Setelah reset CPU mulai melakukan eksekusi dari lokasi 0000H. Sebagaimana yang ditunjukkan pada gambar 1.6, setiap interupsi ditempatkan pada suatu lokasi tertentu pada memori program. Interupsi menyebabkan CPU untuk melompat ke lokasi dimana harus dilakukan suatu layanan tertentu. Interupsi Eksternal 0, sebagi contoh, menempatai lokasi 0003H. Jika Interupsi Eksternal 0 akan digunakan, maka layanan rutin harus dimulai pada lokasi 0003H. Jika interupsi ini tidak digunakan, lokasi layanan ini dapat digunakan untuk berbagai keperluan sebagai Memori Program.

Gambar 1.6. Peta Interupsi mikrokontroller 8051

c. Memori Data

Pada gambar 1.7. menunjukkan ruang memori data internal dan eksternal pada keluarga 8051. CPU membangkitkan sinyal RD dan WR yang diperlukan selama akses RAM eksternal. Memori data internal terpetakan seperti pada gambar 1.7. Ruang memori dibagi menjadi tiga blok, yang diacukan sebagai 128 byte lower, 128 byte upper dan ruang SFR. Alamat memori data internal selalu mempunyai lebar data satu byte. Pengalamatan langsung diatas 7Fh akan mengakses satu alamat memori, dan

pengalamatan tak langsung diatas 7Fh akan mengakses satu alamat yang berbeda. Demikianlah pada gambar 1.7 menunjukkan 128 byte bagian atas dan ruang SFR menempati blok alamat yang sama, yaitu 80h sampai dengan FFh, yang sebenarnya mereka terpisah secara fisik

128 byte RAM bagian bawah dikelompokkan lagi menjadi beberapa blok, seperti yang ditunjukkan pada gambar 8. 32 byte RAM paling bawah, dikelompokkan menjadi 4 bank yang masing-masing terdiri dari 8 register. Instruksi program untuk memanggil register-register ini dinamai sebagai R0 sampai dengan R7. Dua bit pada Program Status Word (PSW) dapat memilih register bank mana yang akan digunakan. Penggunaan register R0 sampai dengan R7 ini akan membuat pemrograman lebih efisien dan singkat, bila dibandingkan pengalamatan secara langsung.

(37)

Gambar 1.8. RAM internal 128 byte paling bawah

Semua pada lokasi RAM 128 byte paling bawah dapat diakses baik dengan menggunakan pengalamatan langsung dan tak langsung. 128 byte paling atas hanya dapat diakses dengan cara tak langsung, gambar 1.9.

Gambar 1.9. RAM internal 128 byte paling atas

d. Special Function Register

Sebuah peta memori yang disebut ruang special function register ( SFR ) ditunjukkan pada gambar berikut. Perhatikan bahwa tidak semua alamat-alamat tersebut ditempati, dan alamat-alamat yang tak ditempati tidak diperkenankan untuk diimplementasikan. Akses baca untuk alamat ini akan

menghasilkan data random, dan akses tulis akan menghasilkan efek yang tak jelas. e. Accumulator

ACC adalah register akumulator. Mnemonik untuk instruksi spesifik akumulator ini secara sederhana dapat disingkat sebagai A.

f. Register

(38)

g. Program Status Word.

Register PSW terdiri dari informasi status dari program . h. Stack Pointer

Register Pointer stack mempunyai lebar data 8 bit. Register ini akan bertambah sebelum data disimpan selama eksekusi push dan call. Sementara stack dapat berada disembarang tempat RAM. Pointer stack diawali di alamat 07h setelah reset. Hal ini menyebabkan stack untuk memulai pada lokasi 08h. i. Data Pointer

Pointer Data (DPTR) terdiri dari byte atas (DPH) dan byte bawah (DPL). Fungsi ini ditujukan untuk menyimpan data 16 bit. Dapat dimanipulasi sebagai register 16 bit atau dua 8 bit register yang berdiri sendiri.

Gambar

Gambar 1. Blok Diagram Mikroprosesor
Tabel 2. Mikrokontroler 4 bit
Tabel 3. Mikrokontroler 8 bit
Gambar 1.1. Blok diagram dari mikrokontroler 89S51
+7

Referensi

Dokumen terkait

Potensi limbah kebun sawit (pelepah dan daun sawit) pada suatu hamparan pabrik kelapa sawit mini, mampu menampung pengembangan ternak domba sampai sebanyak 66.279 ekor

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

Pengaruh Pemberian Ekstrak Daun Sirih Merah (Piper crocatum) terhadap Ekspresi IL-1 dan Aktivitas Protease Jaringan Paru pada Tikus (Rattus norvegicus) Model Asma yang diinduksi

oleh CCD, merupakan titik fokus laser, maka pada titik tersebut memiliki eksitasi laser terbesar , maka analisa atau distribusi intensitas emisi kuantum dot

Perubahan warna terjadi setelah satu menit dari penambahan sodium sitrat, larutan berubah dari kuning bening menjadi abu-abu, ungu, danberwarna merah pada produk

8 Florjančič, Vukovič 1998: Kadrovska funkcija – mamagement, Založba moderna organizacija, Kranj, str 44 9 Ibidem, str 44, 56 Janja Martinčič: Analiza absentizma in fluktuacije

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

Purchasing pertanyaan untuk kepentingan audit 19 Agustus 2011 (8 jam) 08.00-09.00 09.00-12.00 Mempersiapkan diri untuk melakukan wawancara dengan divisi Marketing Ethical