mikrokontroler - gembong lecture · 2013. 10. 9. · • materi mikrokontroler 8051 atmel 89s51...
TRANSCRIPT
MIKROKONTROLERArsitektur Mikrokontroler AT89S51
Ringkasan Pendahuluan Mikrokontroler
• Mikrokontroler = µP + Memori (RAM & ROM) +I/O Port + Programmable IC
• Mikrokontroler digunakan sebagai komponenpengendali
• Mikrokontroler digunakan untuk 1 tujuan (singlepurpose)
• Aplikasi mikrokontroler: dunia industri, kontrolproses, instrumentasi, home applications,robotika, dll
• Materi Mikrokontroler 8051 Atmel 89S51SAP
Outline
• Spesifikasi Mikrokontroler AT89S51• Diagram Blok• Deskripsi Pin• Port I/O
Spesifikasi Mikrokontroler AT89S51
• Kompatibel dengan produk MCS-51.• 4K Byte flash memori yang dapat diprogram dan
dihapus.• Catu tegangan sebesar 4V – 5,5V.• Frekuensi operasi dari 0 Hz – 33 MHz.• 128 Byte RAM internal.• 32 jalur I/O yang dapat diprogram (P0-P3).• Dua buah Timer/Counter 16 bit.• Lima vektor interupsi.• Port serial (UART) full duplex.
Diagram Blok
Diagram Pin
ControlBus
Port 0
Port 2
VCC
Port 3
Port 1
Reset
OscillatorGround
Control Bus
PSENProgram Store Enable, digunakan untuk mengaksesprogram memori eksternal. Biasanya pin inidikoneksikan dengan pin OE pada EPROM.
ALE/PROGPin ini berfungsi untuk me-latch low byte alamatpada saat mengakses memori eksternal. Sedangsaat flash programming (PROG) berfungsi sebagaipulsa input.
EA / VPPJika EA=1 maka mikrokontroler akan melaksanakaninstruksi dari ROM internalJika EA=0 maka mikrokontroler akan melaksanakaninstruksi dari ROM eksternal
RSTMerupakan pin untuk memberikan sinyal reset padamikrokontroler. Pulsa dari low ke high akan meresetmikrokontroler
Port I/O
Port 0Port 0 merupakan port paralel 8 bit dua arah (bi-directional)yang dapat digunakan untuk berbagai keperluan.Port 0 juga memultipleks alamat dan data jika digunakanuntuk mengakses memori eksternal
Port 1Port 1 merupakan port paralel 8 bit bi-directional denganinternal pull-up.Port 1 juga digunakan dalam proses pemrograman (InSystem Programming) P1.5 MOSI; P1.6 MISO ; P1.7 SCK
Port 2Port 2 merupakan port paralel 8 bit bi-directional denganinternal pull-up.Port 2 akan mengirim byte alamat jika digunakan untukmengakses memori eksternal.
Port 3Port 3 merupakan port paralel 8 bit bi-directional denganinternal pull-up.Port 3 juga bisa difungsikan untuk keperluan khusus
Fungsi Khusus Port 3
PIN FUNGSI ALTERNATIFP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7
RXD (port input serial)TXD (port output serial)INT0 (interrupt eksternal 0)INT1 (interrupt eksternal 1)T0 (input eksternal timer 0)T1 (input eksternal timer 1)WR (strobe penulisan data eksternal)RD (strobe pembacaan data eksternal)
Fungsi Pin Lain
VCC
Sumber tegangan, dapat menggunakansumber tegangan dari +2,5 V – 6 V,biasanya menggunakan sumber tegangan+5 V
GND Ground
XTAL1Merupakan input untuk amplifier osilatorinverting dan input untuk rangkaian clockinternal
RSTMerupakan keluaran dari amplifier osilatorinverting.
Perancangan Rangkaian Minimum
• Rangkaian minimal yang harus ada agarmikrokontroler dpt bekerja.
• Komponen Yg Harus Ada– CPU– Memori Program (ROM)– Memori Data (RAM)– Port I/O– Pewaktuan CPU (Crystal 4-24 MHz)– Reset– Power Supply (5 Volt)– EA, VPP dihubungkan ke VCC
Internal (Sudah AdaDalamMikrokontroler)
Eksternal
Pewaktuan CPU (Crystal)
• Mikrokontroler 8951 memiliki osilator internalbagi sumber clock CPU.
• Untuk menggunakan osilator internal diperlukankristal antara XTAL1 dan XTAL 2 dan sebuahkapasitor ground.
• Untuk kristalnya dapat digunakan frekuensi dari4 sampai 24 MHZ.
• Sedang untuk kapasitor dapat bernilai 20 pFsampai 40 pF.
• Bila menggunakan clock eksternal rangkaiandihubungkan seperti berikut :
Rangkaian Oscilator
Siklus Mesin
• Dalam mikrokontroler dikenal istilah MachineCycle (MC) / Siklus Mesin, dimana :
1 MC = 6 state = 12 periode clock• Jika frekuensi crystal yang digunakan adalah 12
MHz maka 1 MC = 12/frekuensi crystal = 12/12MHz =1uS
Waktu Eksekusi
• Waktu eksekusi sebuah instruksi olehmikrokontroler tergantung dari jenis instruksidan frekuensi clock yang digunakan.
• Setiap instruksi memiliki panjang byte danjumlah siklus yang berbeda.
• Byte instruksi (Byte) menandakan jumlah lokasimemori yang dipakai
• Siklus instruksi (Cycle) menandakan jumlahmachine cycle yang dibutuhkan.
• Waktu eksekusi dapat dihitung dengan rumus :
Waktu Eksekusi
Dimana :Tinst : Waktu yang dibutuhkan untuk mengeksekusi1 instruksi (Secon)C : Jumlah machine cycle
Waktu Eksekusi
Contoh :Diketahui sebuah mikrokontroler dengan frekuensi crystal
12 MHz. Berapakah waktu yang diperlukan untukmengeksekusi perintah berikut ini?
Mov A,#30hJawab :Dari lembaran data 8051 Operational Code Mnemonics
diketahui bahwa instruksi dengan formatMov A,#n adalah instruksi dengan Byte = 1 dan Cycle = 1Maka : Tinst = (1x12)/12MHz=1uS
Contoh Opcode (Operational Code Mnemonics)
Reset
Mengapa Perlu Reset?• Saat power dinyalakan, instruksi yang pertamakali dieksekusi oleh
mikrokontroler adalah instruksi yang tersimpan pada address0000h.
• Agar Program Counter (PC) dapat menunjuk address 0000h padasaat awal maka mikrokontroler perlu di-reset.
• Caranya adalah dengan memberikan pulsa high pada pin Resetselama minimal 2 machine cycle ( jika f crystal = 12 MHz maka 2MC= 2uS).
• Setelah itu baru diberikan pulsa low. Kondisi ini dapat dipenuhidengan memasang rangkaian RC yang akan mensuplai teganganVcc ke pin 9 selama kapasitor mengisi muatan / charging.
• Konstanta waktu pengisian dapat dihitung dengan mengalikan nilaiR dan C.
• Pada rangkaian dibawah adalah : T=R.C = (8K2).(10uF) = 82mS.Setelah kapasitor terisi, maka pin 9 akan low.
Rangkaian Reset
Rangkaian Minimum
Tombol push buttondipasang agar pada saatrunning Mikrokontroler dapatjuga di-reset.Pin EA / External Accessharus dihubungkan ke +5Vagar mikrokontroler dapatmengambil byte instruksidari ROM internalmikrokontroler.
Untuk Pertemuan Minggu Depan
• Baca dan pahami Arsitektur MikrokontrolerAT89S51
• Mengulang sekilas pelajaran hari ini• Mempunyai Modul Rangkaian AT89S51• Baca dan pahami mengenai Organisasi Memori
Mikrokontroler AT89S51