Transcript
Page 1: kisi kisi mikrokontroller

Cara Kerja MikrokontrolerPrinsip 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 diisikansebelumnya 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 MIKROKONTROLERKomputer 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.

Penggunaan komponen dipersedikit (reduced component count) yang juga akan menyebabkan biaya produksi dapat semakin ditekan (lower manufacturing cost)– Waktu pembuatan lebih singkat (shorter development time) sehingga lebih cepat pula dijual ke pasar sesuai kebutuhan (shorter time to market)– Konsumsi daya yang rendah (lower power consumption).

Page 2: kisi kisi mikrokontroller

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 Spesific Integrated Circuit (ASIC).

Perkembangan Mikrokontrollerintel 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.Generasi kedua mikrokontroler 8 bit adalah keluarga mikrokontroler 8051 di tahun 1980, dengan nama MCS-51 dan diklaim sebagai standart mikrokontroler untuk industri yang menguasai lebih dari 60% pasar mikrokontroler dan menjadi inti bagi terciptanya mikrokontroler produk lainnya. Generasi ketiga adalah 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 (fitur), seperti pada 8031, 80C31, 8051AH dan 8751.Beberapa perusahaan membuat varian nya yaitu suatu chip yang kompatibel dengan bahasa

Page 3: kisi kisi mikrokontroller

dan fitur 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 filosopi 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          Mikroprosesor dalam perkembangan komputer digital disebut sebagai Central Processing Unit (CPU) yang bekerja sebagai pusat pengolah dan pengendalian pada sistem komputer mikro. Sebuah mikroprosesor tersusun dari tiga bagian penting yaitu : Arithmetic Logic Unit (ALU), Register Unit (RU), dan Control Unit (CU) seperti terlihat pada Gambar 1 di bawah ini.

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.

Page 4: kisi kisi mikrokontroller

        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.

Tabel 1.  Perbandingan konfigurasi, arsitektur, dan set instruksi

          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

Page 5: kisi kisi mikrokontroller

          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          Mikrokontroler 8 bit merupakan mikrkontroler yang paling banyak digunakan untuk dalam pekerjaan-pekerjaan perhitungan skala kecil. Dalam komunikasi data, Data ASCII serial juga disimpan dalam ukuran 8 bit. Kebanyakan IC memori dan fungsi logika dibangun menggunakan data 8 bit sehingga interface bus data menjadi sangat mudah dibangun. Penggunaan mikrokontroler 8 bit 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 

Page 6: kisi kisi mikrokontroller

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.

d. Mikrokontroler 32 Bit          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

Page 7: kisi kisi mikrokontroller

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/O4. 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 MHz9. 4 Kbytes Flash ROM yang dapat diisi dan dihapus sampai 1000 kali10. 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.

Page 8: kisi kisi mikrokontroller

Gambar 1.1. Blok diagram dari mikrokontroler 89S51

Konfigurasi Pin Mikrokontroler AT89S51Susunan pin mikrokontroler AT89S51 diperlihatkan pada Gambar 1.2.

Gambar 1.2. Konfigurasi Pin AT89S51

Page 9: kisi kisi mikrokontroller

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 0Port 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 1Port 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 2Port 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 3Port 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 FUNCTIONP3.0  RXD B0h Receive data for serial portP3.1  TXD B1h Transmit data for serial portP3.2  INT0 B2h External interrupt 0P3.3  INT1 B3h External interrupt 1P3.4  T0 B4h Timer/counter 0 external inputP3.5  T1 B5h Timer/counter 1 external inputP3.6  WR B6h External data memory write strobeP3.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

Page 10: kisi kisi mikrokontroller

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.

OscillatorOscillator 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

Page 11: kisi kisi mikrokontroller

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

Organisasi Memoria. Pemisahan Memori Program dan DataSemua 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 ).

Page 12: kisi kisi mikrokontroller

Gambar 1.4. Struktur memori mikrokontroler keluarga MCS51

 

Gambar 1.5. Arsitektur Memori Mikrokontroller 8051

b. Memori ProgramGambar 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

Page 13: kisi kisi mikrokontroller

c. Memori DataPada 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 fisik128 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.

Gambar 1.7. Memori data internal

Page 14: kisi kisi mikrokontroller

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 RegisterSebuah 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

Page 15: kisi kisi mikrokontroller

baca untuk alamat ini akan menghasilkan data random, dan akses tulis akan menghasilkan efek yang tak jelas.

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

f. RegisterRegister 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 PointerRegister 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 PointerPointer 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.

Page 16: kisi kisi mikrokontroller

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

Arsitektur dasar dari mikrokontroler AT89C51 seperti diagram blok berikut ini:

Page 17: kisi kisi mikrokontroller

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.

Rangkaian osilator dan clock.

Page 18: kisi kisi mikrokontroller

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

Port 3 merupakan port I/O yang memiliki dua fungsi yang berada pada pin 10-17, port ini mempunyai multi fungsi, seperi yang terdapat pada tabel berikut:

Page 19: kisi kisi mikrokontroller

BIT NAMA BIT

ADDRES

FUNGSI ALTERNATIF

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

RXD

TXD

INT0

INT 1

T0

T1

WR

RD

B0H

B1H

B2H

B3H

B4H

B5H

B6H

B7H

Penerima data pada port serial

Pemancar data pada port serial

Eksternal interupsi 0

Eksternal interuposi 1

Input Timer/ counter eksternal

Input Timer / counter

Sinyal pembacaan memori data eksternal

Sinyal penulisan memori data eksternal

PSEN ( Programable Store Enable)

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 

Osilator yang disediakan pada chip dikemudikan  dengan kristal yang dihubungkan pada pin 18 (X2) dan pin 19 (X1) sebesar 12 Mhz.

Page 20: kisi kisi mikrokontroller

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

Mikrokontroler merupakan lompatan teknologi mikroprosesor dan mikro-

komputer. Mikrokontroler diciptakan tidak semata-mata hanya memenuhi kebutuh-an

kalangan industri, namun juga para konsumen untuk pembuatan alat-alat bantu dan

mainan yang lebih canggih. Aplikasi lain dari mikrokontroler adalah dalam bidang

pengukuran jarak-jauh / telemetri. Sistem telemetri ini jelas memerlukan sistem akuisi

data sekaligus sistem pengiriman data secara serial (melalui transmi-ter), yang semua

itu bisa diperoleh dari mikrokontroler yang digunakan. Sedikit berbeda dengan sistem

komputer (yang dapat menangani berbagai macam program aplikasi), mikrokontroler

hanya bisa digunakan untuk aplikasi tertentu saja (hanya satu program saja yang dapat

disimpan). Perbedaan lainnya terletak pada perbandingan memori ROM & RAM-nya.

Pada sistem komputer perbandingan memori ROM & RAM-nya besar, artinya program-

program yang sedang digunakan disimpan dalam RAM yang kapasitasnya relatif besar,

sedang rutin-rutin interface hardware disimpan dalam ROM yang kapasitasnya kecil.

Untuk mikrokontroler perbandingan memori ROM & RAM-nya yang besar, artinya

program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang

ukurannya relatif besar, sedangkan RAM digunakan sebagai tempat penyimpan

sementara, ter-masuk register-register yang dipakai pada mikrokontroler yang

bersangkutan.

Page 21: kisi kisi mikrokontroller

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)

CPU terdiri atas dua bagian, yaitu unit pengendali (control unit) serta unit

aritmatika dan logika (ALU). Fungsi utama unit pengendali adalah mengambil,

mengkodekan, dan melaksanakan urutan instruksi sebuah program yang

tersimpan dalam memori. Unit pengendali menghasilkan dan mengatur sinyal

pengendali yang diperlukan untuk menyerempakan operasi, aliran, dan instruksi

program. Unit aritmatika dan logika berfungsi untuk melakukan proses

perhitungan yang diperlukan selama program dijalankan serta

Page 22: kisi kisi mikrokontroller

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.

6. Random Access Memory (RAM)

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.

Page 23: kisi kisi mikrokontroller

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 memelihara penyimpanan data. Pada

RAM statik, nilai biner disimpan menggunakan konfigurasi gate logika flip-flop.

RAM statik akan menyimpan data selama aliran daya diberikan padanya.

7. Read Only Memory (ROM)

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 dengan 4KB Flash

Programmable dan Erase Read Only Memory (PEROM) yang termasuk dalam keluarga

Atmel. Mikrokontroler jenis ini merupakan Chip yang menggunakan teknologi memori

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

Page 24: kisi kisi mikrokontroller

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

Sebuah mikrokontroler dapat bekerja bila di dalam mikrokontroler tersebut

terdapat sebuah program yang berisi instruksi-instruksi yang akan digunakan untuk

menjalankan sistem mikrokontroler tersebut. Pada prinsipnya program pada

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.

Page 25: kisi kisi mikrokontroller

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 sebagai ground .

Page 26: kisi kisi mikrokontroller

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.

e. Port 0

Port 0 merupakan port paralel 8 bit dua arah. Posisi Least Significant Bit (LSB)

terletak pada kaki 39 dan Most Significant Bit (MSB) terletak pada kaki 32.

Page 27: kisi kisi mikrokontroller

Gambar 2. Bit Port 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 dikonfi-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-up internal. Port 0

juga menerima kode- kode yang dikirimkan kepadanya selama proses

pemrograman dan mengeluarkan kode-kode selama proses verifikasi program

yang telah ter- simpan dalam flash. Dalam hal ini dibutuhkan pull-up eksternal

selama proses verifikasi program.

f. Port 1

Port 1 merupakan port paralel 8 bit dua arah. Posisi LSB terletak pada kaki 1

dan MSB terletak pada kaki 8.

Gambar 3. Bit Port 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

Page 28: kisi kisi mikrokontroller

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 verifikasi flash.

g. Port 2

Port 2 merupakan port paralel 8 bit dua arah. Port ini mengirim byte ala- mat-

alamat bila dilakukan pengaksesan memori eksternal. LSB terletak pada kaki 21 dan

MSB terletak pada kaki 28.

Gambar 4. Bit Port 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

Page 29: kisi kisi mikrokontroller

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 verifikasi 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)

P3.5 T1 (input eksternal timer 1)

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

Page 30: kisi kisi mikrokontroller

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)

Page 31: kisi kisi mikrokontroller

Merupakan sinyal baca untuk memori program eksternal. Saat mikrokontroler

keluarga 51 menjalankan program dari memori eksternal, PSEN akan diaktifkan dua

kali per siklus mesin, kecuali dua aktivasi PSEN dilompati (diabaikan) saat

mengakses memori data eksternal.

Page 32: kisi kisi mikrokontroller

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/O4. 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

Page 33: kisi kisi mikrokontroller

9. 4 Kbytes Flash ROM yang dapat diisi dan dihapus sampai 1000 kali10. In-System Programmable Flash MemoryDengan 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 89S51Konfigurasi Pin Mikrokontroler AT89S51Susunan pin mikrokontroler AT89S51 diperlihatkan pada Gambar 1.2.

Page 34: kisi kisi mikrokontroller

Gambar 1.2. Konfigurasi Pin AT89S51Mikrokontroler AT89S51 memiliki pin berjumlah 40 dan umumnya dikemas dalam DIP (Dual Inline Package). Masing-masing pin pada mikrokontroler AT89S51 mempunyai kegunaan sebagai berikut:Port 0Port 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 1Port 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 2Port 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 3Port 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 FUNCTIONP3.0  RXD B0h Receive data for serial portP3.1  TXD B1h Transmit data for serial portP3.2  INT0 B2h External interrupt 0P3.3  INT1 B3h External interrupt 1P3.4  T0 B4h Timer/counter 0 external inputP3.5  T1 B5h Timer/counter 1 external inputP3.6  WR B6h External data memory write strobeP3.7 RD B7h External data memory read strobePSEN  (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.

Page 35: kisi kisi mikrokontroller

RST (Reset)Input reset pada pin 9 adalah reset master untuk AT89S51. Pulsa transisi dari tinggi selama 2 siklus ke rendah akan mereset mikrokontroler.OscillatorOscillator 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

PowerAT89S51 dioperasikan pada tegangan supply +5v, pin Vcc berada pada nomor 40 dan Vss (ground) pada pin 20.Organisasi Memoria. Pemisahan Memori Program dan DataSemua 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

Page 36: kisi kisi mikrokontroller

 

Gambar 1.5. Arsitektur Memori Mikrokontroller 8051

b. Memori ProgramGambar 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 DataPada 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 fisik128 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.

Page 37: kisi kisi mikrokontroller

Penggunaan register R0 sampai dengan R7 ini akan membuat pemrograman lebih efisien dan singkat, bila dibandingkan pengalamatan secara langsung.

Gambar 1.7. Memori data internal

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.

Page 38: kisi kisi mikrokontroller

Gambar 1.9. RAM internal 128 byte paling atas

d. Special Function RegisterSebuah 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. AccumulatorACC adalah register akumulator. Mnemonik untuk instruksi spesifik akumulator ini secara sederhana dapat disingkat sebagai A.f. RegisterRegister 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 PointerRegister 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 PointerPointer 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.

Page 39: kisi kisi mikrokontroller

Gambar 1.10. Pemetaan Data Pointer.


Top Related