Mikrokontroller AT89S51
Mikrokontroller
adalah rangkaian elektronik atau chip yang sangat terintegrasi untuk membuat
sebuah alat kontrol. Biasanya terdiri dari CPU (Central Processing Unit),
RAM (Random Access Memory), sebagian bentuk ROM (Read Only Memory), I/O
(Input/Output) port, dan timers. Mikrokontroler digunakan untuk tugas yang
sangat spesifik. Sehingga jumlah komponen dapat dan ongkosproduksi dapat
dikurangi.
Mikrokontroller
AT89S51 merupakan mikrokomputer CMOS 8 bit dengan 4Kbyte Flash “Programable and
Erasable Read Only Memory” (PEROM) berteknologi memori non-volatile (isi memori
tidak akan hilang saat tegangan catu daya dimatikan). Memori ini biasa
digunakan untuk menyimpan instruksi (perintah) berstandar MCS-51 sehingga
memungkinkan mikrokontroller ini untuk bekerja dalam mode single chip operation
(mode operasi keping tunggal) yang tidak memerlukan memori luar untuk menyimpan
kode sumber sebagai perintah menjalankan mikrokontroller. Konfigurasi pin-pin
mikrokontroller AT89S51 diperlihatkan pada Gambar 2.1.
Gambar 2.1
Konfigurasi Mikrokontroler AT89S51
Sumber:
alldatasheet.com
Penjelasan
masing-masing pin pada gambar diatas adalah sebagai berikut :
1. Pin
40 (VCC) sebagai sumber tegangan
2. Pin
20 (GND) digunakan sebagai pentanahan.
3. Pin
32 sampai 39 (Port 0) merupakan port masukan dan keluaran biasa, juga bisa
sebagai jalur alamat rendah dan bus data untuk memori eksternal.
4. Pin 1
sampai 8 (Port 1) merupakan port masukan dan keluaran dua arah berjumlah 8 bit
dengan rangkaian pull-up internal dan dapat juga berfungsi sebagai input dengan
memberikan logika 1. Pada port ini terdapat pin MISO, MOSI dan SCK yang
digunakan saat pemrograman dan verifikasi data.
5. Pin
21 sampai 28 (Port 2) merupakan saluran atau bus I/O 8 bit dua arah biasa, atau
dapat berfungsi sebagai saluran alamat tinggi pada saat mengakses memori
eksternal.
6. Pin
10 sampai 17 (Port 3) merupakan saluran I/O 8 bit dua arah dengan internal
pull-up yang memiliki fungsi pengganti. Bila fungsi pengganti tidak
difungsikan, port ini dapat digunakan sebagai port paralel 8 bit serba guna.
Adapun fungsi pengganti pada port ini diperlihatkan seperti tabel di bawah ini:
Tabel
2.1 Fungsi pengganti Port 3 AT89S51
Bit
|
Nama
|
Fungsi Alternatif
|
P 3.0
|
RXD
|
Serial Input Port
|
P 3.1
|
TXD
|
Serial Output Port
|
P 3.2
|
INT 0
|
Eksternal Interupt 0
|
P 3.3
|
INT 1
|
Eksternal Interupt 1
|
P 3.4
|
T0
|
Timer 0 External Input
|
P 3.5
|
T1
|
Timer 1 External Input
|
P 3.6
|
WR
|
Eksternal data memori write strobe
|
P 3.7
|
RD
|
Eksternal data memori read strobe
|
1. Pin 9
(Reset) merupakan masukan reset. Sebuah sinyal berlogika tinggi pada pin ini
selama dua siklus mesin saat osilator bekerja akan mereset perangkat ini.
2. Pin
19 (XTAL1) masukan untuk penguat membalik osilator dan masukan bagi rangkaian
operasi detak internal.
3. Pin
18 (XTAL 2) keluaran dari penguat membalik osilator.
4. Pin
31 ( /VPP EA ) adalah pin untuk mengaktifkan pengaksesan eksternal. EA
(Eksternal Acces Enable) harus selalu ditanahkan saat mikrokontroler akan
mengeksekusi program dari memori eksternal dengan lokasi 0000h sampai FFFFh dan
EA harus dihubungkan ke Vcc agar mikrokontroler mengakses program secara
internal.
5. Pin
19 (PSEN ) Program Store Enable adalah sinyal baca untuk memori program
eksternal. Pada saat AT89S51 menjalankan program dari memori program eksternal,
PSEN diaktifkan dua kali setiap siklus mesin, kecuali pada saat dua aktivasi
PSEN dilompati selama tiap akses data memori eksternal
6. Pin
30 (ALE/PROG ) adalah sebuah pulsa keluaran untuk menahan bit alamat rendah
pada saat mengakses memori eksternal. Pin ini juga berfungsi sebagai sebagai
pulsa input pemrograman (PROG) selama proses pemrograman. Sedangkan diagram
blok mokrokontroller AT89S51 diperlihatkan pada gambar di bawah ini.
Gambar
2.2 : Diagram Blok Mikrokontroler AT89S51
Sumber:
alldatasheet.com
2.1.1 Memori
Program
Semua
mikrokontroler Atmel memiliki ruang alamat (address space) memori program dan
memori data yang terpisah. Pemisahan ruang alamat ini memudahkan memori data
untuk diakses oleh alamat 8 bit, sehingga lebih cepat disimpan dan dimanipulasi
oleh CPU 8 bit. Struktur memori program mikrokontroler AT89S51 ditunjukan pada
Gambar 2.3. Setelah reset, CPU segera melaksanakan program mulai dari lokasi
0000h. Dengan demikian, awal dari program pengendali MCS 51 harus ditempatkan
di memori nomor 0000h.
\
Gambar
2.3 Struktur Memori Program AT89S51
Sumber:
Endra Hermawan, 2010
2.1.2 Memori
Data
Gambar
2.4 menunjukkan struktur ruang-ruang memori data internal dan eksternal untuk
AT89S51. Memori data eksternal dapat ditentukan sampai sebesar 64 Kbyte.
Seperti terlihat dalam struktur memori data internal gambar 2.4 memori data
dibagi menjadi dua bagian, memori nomor 00h sampai 7Fh merupakan memori seperti
RAM selayaknya meskipun beberapa bagian mempunyai kegunaan khusus, sedangkan
memori nomor 80h sampai FFh digunakan sangat khusus yang dinamakan sebagai
Special Function Register.
Gambar
2.4 Peta Memori Data AT89S51
Sumber:
Endra Hermawan, 2010
Peta
memori data internalnya ditunjukkan pada Gambar 2.5 32 byte bawah yaitu alamat
00h sampai 1Fh selain sebagai memori-data biasa dapat pula digunakan sebagai
register serba guna (General Purpose Register). Memori sebanyak 32 byte ini
dikelompokkan menjadi 4 bank dan 8 register (R0 sampai R7). Dua bit pada PSW
(Program Status Word) digunakan untuk memilih kelompok register mana yang
digunakan. Arsitektur ini mengijinkan penggunaan ruang kode secara lebih
efisien, karena instruksi-instruksi register lebih pendek daripada
insutruksi-instruksi yang menggunakan pengalamatan langsung.16 Byte berikutnya,
di atas bank-bank register, membentuk suatu blok ruang memori yang bisa
teralamati per-bit (bit addressable). Alamat-alamat bit ini adalah 00h sampai
7Fh. Namun memori data pada lokasi ini tetap dapat digunakan sebagai memori
data biasa. Sedangkan memori nomor 30h sampai 7Fh yaitu sebanyak 80 byte
merupakan memori data biasa (general purpose RAM), dapat digunaan untuk
menyimpan data maupun digunakan sebagai Stack.
Gambar
2.5 Peta Memori Data Internal AT89S51
Sumber:
Endra Hermawan, 2010
2.1.3 SFR
(Special Function Register)
SFR
atau register fungsi khusus merupakan suatu daerah RAM dalam IC keluarga MCS51
yang digunakan untuk mengatur perilaku MCS51 dalam hal-hal khusus, misalnya
tempat untuk berhubungan dengan port paralel P1 atau P3, dan sarana
input/output lainnya, tapi tidak umum dipakai untuk menyimpan data seperti
layaknya memori-data. SFR dalam RAM internal menempati lokasi alamat 80h sampai
7Fh. Masing-masing register pada SFR ditunjukkan dalam tabel, yang meliputi
simbol, nama dan alamatnya.
Tabel.2.2
Special Funtion Register
Simbol
|
Nama
|
Alamat
|
Acc
|
Akumulator
|
E0h
|
B
|
B register
|
F0h
|
PSW
|
Program Status Word
|
D0h
|
SP
|
Stack Pointer
|
81h
|
DPTR
(DPH)
(DPL)
|
Data Pointer 16 Bit
DPL Byte rendah
DPH Byte tinggi
|
82h
83h
|
P0
|
Port 0
|
80h
|
P1
|
Port 1
|
90h
|
P2
|
Port 2
|
A0h
|
P3
|
Port 3
|
B0h
|
IP
|
Interupt Priority Control
|
B8h
|
IE
|
Interupt Enable Control
|
A8h
|
TMOD
|
Timer/Counter Mode Control
|
89h
|
TCON
|
Timer/Counter Control
|
88h
|
TH0
|
Timer/Counter 0 High byte
|
8Ch
|
TL0
|
Timer/Counter 0 Low byte
|
8Ah
|
TH1
|
Timer/Counter 1 High byte
|
8Dh
|
TL1
|
Timer/Counter 1 Low byte
|
8Bh
|
SCON
|
Serial Control
|
98h
|
SBUF
|
Serial Data Buffer
|
99h
|
PCON
|
Power Control
|
87h
|
2.1.4 Sistem
Interupsi
Apabila
CPU pada mikrokontroler AT89S51 sedang melaksanakan suatu program, maka
pelaksanaan program dapat dihentikan sementara dengan meminta interupsi.
Apabila CPU mendapat permintaan interupsi, program counter akan diisi alamat
dari vektor interupsi. CPU kemudian melaksanakan rutin pelayanan interupsi
mulai dari alamat tersebut. Bila rutin pelayanan interupsi selesai dilaksanakan,
CPU AT89S51 kembali ke pelaksanaan program utama yang ditinggalkan. Instruksi
RETI (return from interupt routine) harus digunakan untuk kembali dari layanan
rutin interupsi. Instruksi ini digunakan agar saluran interupsi kembali dapat
dipakai.
Mikrokontoler
AT89S51 menyediakan 5 sumber interupsi yaitu: interupsi eksternal (External
interupt) yang berasal dari pin INT0 dan INT1, interupsi timer (Timer Interupt)
yang berasal dari timer 0 maupun timer 1, dan yang terakhir adalah interupsi
port seri (Serial Port Interupt) yang berasal dari bagian penerima dan pengirim
port seri. Alamat awal layanan rutin interupsi dari setiap sumber interupsi
diperlihatkan pada Tabel.
Tabel
2.3 Alamat Layanan Rutin Interupsi
Interupsi
|
Alamat
|
Prioritas Interupsi
|
INT 0
|
03h
|
1
|
Interupsi Timer 0
|
0Bh
|
2
|
INT 1
|
13h
|
3
|
Interupsi Timer 1
|
1Bh
|
4
|
Interupsi Port Serial
|
23h
|
5
|
Ada
dua register yang mengontrol interupsi, yaitu IE (Interupt Enable) dan IP
(Interupt Priority). Register IE berfungsi untuk mengaktifkan atau menonaktifkan
sumber interupsi, sedangkan register IP digunakan untuk menentukan prioritas
suatu sumber interupsi terhadap sumber interupsi lainnya, yaitu apabila ada dua
atau lebih interupsi secara bersamaan. Jika register IP tidak didefinisikan,
maka prioritas interupsi menggunakan urutan prioritas seperti dicantumkan pada
Tabel 2.3
2.1.5 Timer/
Counter
Pada
mikrokonteroler AT89S51 terdapat dua timer/counter 16 Bit yang dapat diatur
melalui perangkat lunak, yaitu timer/counter 0 dan timer/counter 1. Apabila
timer/counter diaktifkan pada frekuensi kerja mikrokontroler 12 MHz,
timer/counter akan melakukan perhitungan waktu sekali setiap 1 µs secara
independen, tidak tergantung pada pelaksanaan suatu instruksi.
Apabila
periode waktu tertentu telah dilampaui, timer/counter segera menginterupsi
mikrokontroler untuk memberitahukan bahwa perhitungan periode waktu telah
selesai dilaksanakan. Timer/counter AT89S51 dapat dipilih beroperasi dalam 4
mode operasi yaitu sebagai timer/counter 13 bit, timer counter 16 bit,
timer/counter 8 bit dengan isi ulang (auto reload), dan gabungan timer/counter
16 bit dan 8 bit. Register timer mode (TMOD) dan register timer control (TCON)
merupakan register pembantu untuk mengatur kerja timer 0 dan timer 1. Register
TMOD digunakan sebagai pengontrol pemilih mode operasi timer/counter sedangkan
register TCON digunakan sebagai pengontrol kerja timer/counter
Belajar Mikrokontroler
Mikrokontroler adalah
suatu terobosan teknologi mikroprosesor dan mikrokomputer. Mikrokontroler
digunakan untuk memprogram piranti otomatis bahkan “Robot”, Mikrokontroler
merupakan komponen vital (bahan baku utama pembuatan robot). Tanpa
Mikrokontroler, Robot hanyalah sebuah kaleng rongsok yang tidak berguna dan
tidak dapat diperintah.
Mikrokontroler
berbentuk semacam IC (Chip) kecil. Mikrokontroler berisi CPU, RAM, ROM,
I/O Ports, Timers, Serial Port yang terintegrasi dalam satu
chip. Mikrokontroler adalah semikonduktor dengan kandungan transistor
lebih banyak namun dengan ukuran yang kecil dan dapat diproduksi secara massal
(diproduksi dalam jumlah banyak).
Tidak
seperti Microprosesor yang dapat menangani berbagai macam program aplikasi,
mikrokontroler hanya dapat digunakan untuk satu aplikasi tertentu saja artinya
hanya satu macam program saja yang dapat disimpan. Rata-rata mikrokontroler
memiliki instruksi manipulasi bit, akses ke I/O secara langsung dan mudah, dan
proses interupt yang cepat dan efisien. Dengan kata lain mikrokontroler adalah
" Solusi satu Chip" yang secara drastis mengurangi jumlah komponen
dan biaya disain (harga relatif rendah).
Mikrokontroler
Tipe AT89s51
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 :
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
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
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
Susunan pin mikrokontroler AT89S51 diperlihatkan pada Gambar 1.2.
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 :
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
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
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.
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.
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.
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.
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
AT89S51 dioperasikan pada tegangan supply +5v, pin Vcc berada pada nomor 40 dan Vss (ground) pada pin 20.
AT89S51 dioperasikan pada tegangan supply +5v, pin Vcc berada pada nomor 40 dan Vss (ground) pada pin 20.
Rangkaian Sistem
Minimum AT89S91
Agar
mikrokontroler dapat bekerja maka diperlukan komponen tambahan berupa rangkaian
reset dan clock.
Mengapa perlu reset ?
Saat power dinyalakan, instruksi yang pertamakali dieksekusi oleh mikrokontroler adalah instruksi yang tersimpan pada address 0000h. Agar Program Counter (PC) dapat menunjuk address 0000h pada saat awal maka mikrokontroler perlu di-reset. Caranya adalah dengan memberikan pulsa high pada pin Reset selama minimal 2 machine cycle ( jika f crystal = 12 MHz maka 2MC = 2uS). Setelah itu baru diberikan pulsa low. Kondisi ini dapat dipenuhi dengan memasang rangkaian RC yang akan mensuplai tegangan Vcc ke pin 9 selama kapasitor mengisi muatan / charging. Konstanta waktu pengisian dapat dihitung dengan mengalikan nilai R dan C. Pada rangkaian dibawah adalah : T=R.C = (8K2).(10uF) = 82mS. Setelah kapasitor terisi, maka pin 9 akan low.
Saat power dinyalakan, instruksi yang pertamakali dieksekusi oleh mikrokontroler adalah instruksi yang tersimpan pada address 0000h. Agar Program Counter (PC) dapat menunjuk address 0000h pada saat awal maka mikrokontroler perlu di-reset. Caranya adalah dengan memberikan pulsa high pada pin Reset selama minimal 2 machine cycle ( jika f crystal = 12 MHz maka 2MC = 2uS). Setelah itu baru diberikan pulsa low. Kondisi ini dapat dipenuhi dengan memasang rangkaian RC yang akan mensuplai tegangan Vcc ke pin 9 selama kapasitor mengisi muatan / charging. Konstanta waktu pengisian dapat dihitung dengan mengalikan nilai R dan C. Pada rangkaian dibawah adalah : T=R.C = (8K2).(10uF) = 82mS. Setelah kapasitor terisi, maka pin 9 akan low.
Tombol push button dipasang agar pada saat
running
Mikrokontroler dapat juga di-reset.
Pin EA / External Access harus dihubungkan ke +5V
agar mikrokontroler dapat mengambil byte instruksi
dari ROM internal mikrokontroler.
Mikrokontroler dapat juga di-reset.
Pin EA / External Access harus dihubungkan ke +5V
agar mikrokontroler dapat mengambil byte instruksi
dari ROM internal mikrokontroler.
Mikrokontroller
AT89C51 (Arsitektur dan Fungsi PIN)
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:
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.
Fungsi
Pin Mikrokontroller AT89C51
Susunan pin-pin mikrokontroller AT89C51
diperlihatkan pada Gambar di bawah ini dan penjelasan dari masing-masing pin
adalah sebagai berikut:
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: