-->

Mikrokontroller

Mikrokontroller adalah sebuah system mikrokontroler berteknologi single chip. Pada Mikrokontroller sudah terdapat komponen – komponen mikroprosesor dengan bus – bus internal yang saling berhubungan. Komponen – komponen tersebut adalah RAM, ROM, timer, komponen I/O paralel dan serial, dan interrupt kontroller.
Adapun keunggulan dari Mikrokontroller adalah adanya sistem interrupt. Sebagai perangkat kontrol penyesuaian, Mikrokontroller sering disebut juga untuk menaikkan respon semangat ekternal (interrupt) di waktu yang nyata. Perangkat tersebut harus melakukan hubungan switching cepat, menunda satu proses ketika adanya respon eksekusi yang lain.
Mikrokontroller AT89C51
Mikrokontroller AT89C51 merupakan CMOS 8 bit yang memiliki performa yang tinggi dengan disipasi daya yang rendah. Memiliki sistem pemograman kembali Flash Memori 4 Kbyte dengan daya tahan 1000 kali write/erase. AT89C51 diproduksi oleh ATMEL dengan teknologi kepadatan tinggi serta kompatibel dengan produk MCS-51 yang telah di standarisasi instruction set dan pin keluaran nya.
Disampig itu terdapat RAM Internal dengan kapasitas128 x 8 bit. Dan frekuensi pengoperasian hingga 24 MHz. Mikrokontroller ini juga memiliki 32 port I/O yang terbagi menjadi 4 buah port dengan 8 jalur I/O, kemudian terdapat pula Sebuah port serial dengan kontrol serial full duplex, dua timer/counter 16 bit dan sebuah osilator internal dan rangkaian pewaktu.
Diagram Blok dan Konfigurasi
Adapun blok diagram dari Mikrokontroller AT89C51 digambarkan pada gambar 2.1.a. Mikrokontroller ini memiliki 40 konfigurasi pin seperti digambarkan pada gambar 2.1.b. Fungsi dari tiap – tiap dapat dikelompokkan menjadi sumber tegangan, kristal, kontrol, dan input-output.
A. Pin 1 sampai 8
Ini adalah port 1 yang merupakan saluran/bus I/O 8 bit dua arah. Dengan internal pull-up yang dapat digunakan untuk berbagai keperluan. Pada port ini juga digunakan sebagai saluran alamat pada saat pemograman dan verifikasi.
B. Pin 9
Merupakan masukan reset (aktif tinggi), pulsa transisi dari rendah ke tinggi akan me-reset Mikrokontroller ini.
C. Pin 10 sampai 17
Ini adalah port 3 merupakan saluran/bus I/O 8 bit dua arah dengan internal pull-ups yang memiliki fungsi pengganti. Bila fungsi pengganti tidak dipakai, maka – ini dapat digunakan sebagai port paralel 8 bit serbaguna. Selain itu sebagian dari port 3 dapat berfungsi sebagai sinyal kontrol pada saat proses pemograman dan verifikasi. Adapun fungsi penggantinya seperti pada tabel 2.1.
D. Pin 18 dan 19
Ini merupakan masukan ke penguat osilator berpenguat tinggi. Pada Mikrokontroller ini memiliki seluruh rangkaian osilator yang diperlukan pada serpih yang sama (on chip) kecuali rangkaian kristal yang mengendalikan frekuensi osilator. Karenanya 18 dan 19 sangat diperlukan untuk dihubungkan dengan kristal. Selain itu XTAL 1 dapat juga sebagai input untuk inverting oscilator amplifier dan input ke rangkaian internal clock sedangkan XTAL 2 merupakan output dari inverting oscilator amplifier
Tabel 2.1. Fungsi pengganti dari port 3..
Bit
Nama
Fungsi Alternatif
P3.0
RXD
Untuk menerima data port serial
P3.1
TXD
Untuk mengirim data port serial
P3.2
INT0
Interupsi eksternal 0
P3.3
INT1
Interupsi eksternal 1
P3.4
T0
Input Eksternal waktu/pencacah 0
P3.5
T1
Input Eksternal waktu/pencacah 1
P3.6
WR
Jalur menulis memori data eksternal
P3.7
RD
Jalur membaca memori data eksternal
E. Pin 20
Ground.
F. Pin 21 sampai 28
ini adalah port 2 yang merupakan saluran/bus I/O 8 bit dua arah dengan internal pull-ups. Saat pengambilan data dari program memori eksternal atau selama mengakses data memori eksternal yang menggunakan alamat 16 bit (MOVX @ DPTR), port 2 berfungsi sebagai saluran/bus alamat tinggi (A8 – A15). Sedangkan pada saat mengakses ke data memori eksternal yang menggunakan alamat 8 bit (MOVX @ R1), port 2 mengeluarkan isi dari P2 pada Special Function Register.
G. Pin 29
Program Store Enable (PSEN) merupakan sinyal pengontrol untuk mengakses program memori eksternal masuk ke dalam bus selama proses pemberian/pengambilan instruksi (fetching).
H. Pin 30
Address Latch Enable (ALE)/PROG merupakan penahan alamat memori eksternal (pada port 1) selama mengakses ke memori eksternal. Pena ini juga sebagai pulsa/sinyal input pemograman (PROG) selama proses pemograman.
I. Pin 31
External Access Enable (EA) merupakan sinyal kontrol untuk pembacaan memori program. Apabila diset rendah (L) maka Mikrokontroller akan melaksanakan seluruh instruksi dari memori program eksternal, sedangkan apabila diset tinggi (H) maka Mikrokontroller akan melaksanakan instruksi dari memori program internal ketika isi program counter kurang dari 4096. ini juga berfungsi sebagai tegangan pemograman (VPP = +12V) selama proses pemograman.
J. Pin 32 sampai 39
Ini adalah port 0 yang merupakan saluran/bus I/O 8 bit open colector, dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Pada saat proses pemograman dan verifikasi port 0 digunakan sebagai saluran/bus data. External pull-ups diperlukan selama proses verifikasi.
K. Pin 40
Power Supply.

Register
Mikrokontroller AT89C51 mempunyai register – register sebagai berikut:
1. Accumulator (register A)
Accumulator adalah sebuah register 8 bit yang merupakan pusat dari semua operasi accumulator termasuk didalam operasi aritmatika, operasi logika, membebani dan menyimpan serta operasi – operasi masukan.
2. Register B
Register ini memiliki fungsi yang sama dengan register A.
3. Program Counter (PC)
Pencacah program merupakan sebuah register 16 bit yang selalu menunjukkan lokasi memori dari instruksi yang akan diakses.
4. Stack Pointer (SP)
Stack Pointer merupakan sebuah register 16 bit yang mempunyai fungsi khusus sebagai penunjuk alamat atau data yang berada paling atas pada operasi penumpukkan di RAM. Penunjukan penumpukkan selalu berkurang dua setiap kali data didorong masuk kedalam lokasi penumpukkan dan selalu bertambah dua setiap kali data ditarik ke luar dari lokasi penumpukkan.
5. Program Status Word
Register ini berisi beberapa bit status yang mencerminkan keadaan Mikrokontroller. Definisi dari bit – bit dalam PSW dijelaskan seperti berikut.

PSW.7
PSW.6
PSW.5
PSW.4
PSW.3
PSW.2
PSW.1
PSW.0

D0H
CY
AC
FO
RS1
RS2
OV
-
P
· Bit carry flag (CY)
Bit carry (bit ke – mempunyai dua fungsi yaitu: pertama: carry akan menunjukkan apakah operasi penjumlahan mengandung carry (sisa) atau pada operasi pengurangan mengandung borrow (kurang). Apabila operasi ini mengandung carry, maka bit ini akan diset satu. Sedangkan jika mengandung borrow, maka bit ini akan diset nol. Kedua : carry dimanfaatkan sebagai bit ke delapan untuk operasi pergeseran (shift) atau perputaran.
· Bit Auxiliary Carry (AC)
Bit ini menunjukkan adanya carry (bawaan) dari bit ketiga menuju ke bit keempat pada operasi aritmatika atau dari 4 bit rendah ke 4 bit tinggi. Bit ini jarang digunakan dalam program, tetapi digunakan oleh Mikrokontroller secara implisit pada operasi aritmatika bilangan BCD.
· Bit Flag 0 (F0)
Bit ini menunjukkan apakah hasil operasinya nol atau tidak. Apabila hasil operasi adalah nol, maka bit ini diset 1, dan apabila hasil operasinya adalah tidak nol maka bit ini akan reset. Bit ini juga digunakan pada perbandingan dua buah data. Bila kedua data sama maka akan diset 1 sedangkan jika kedua data itu berbeda maka akan direset nol.
· Bit register select (RS)
Register Bank Select Bits (RS0 dan RS1) digunakan untuk menentukan lokasi dari bank register (R0 hingga R7) pada memori. RS0 dan RS1 selalu bernilai Nol setiap kali system di reset, sehingga lokasi dari R0 hingga R7 akan berada pada alamat 00H hingga 07H (Bank 0). Pemilihan bank register diperlihatkan pada tabel 2.2.
Misal kita kan memilih bank 3 maka langkah yang harus kita lakukan sbb :
Setb RS0
Setb RS1 ;register Bank 3 aktif
Mov A,R0

Tabel 2.2. Pemilihan Bank Register

RS1
RS2
Bank
Lokasi Memori
0
0
0
00H – 07H
0
1
1
08H – 0FH
1
0
2
10H – 17H
1
1
3
18H – 1FH
· Bit Overflow (OV)
Bit ini menunjukkan adanya kelebihan atau kekurangan bit pada operasi penjumlahan atau pengurangan.
· Bit parity (P)
Bit ini menunjukkan paritas dari hasil operasi, jika 1 maka hasil operasinya adalah genap, dan jika 0 maka hasil operasinya adalah ganjil.
6. Power Control Register (PCON)
Register PCON berfungsi sebagai pengontrol mode kerja daripada CPU. Register PCON ini tidak dapat dialamati per bit.
7. Register Timer Mode (TMOD)
Register yang berfungsi sebagai pengontrol pemilihan mode operasi untuk timer/counter. Sedangkan untuk pengontrol kerja timer/counter adalah register timer control (TCON).
8. Serial Control Register (SCON)
Register yang berfungsi untuk mengontrol kerja port serial. Port serial pada Mikrokontroller AT89C51 bersifat full duplex, yang berarti dapat mengirim dan menerima data secara bersamaan. Register penerima dan pengirim pada port serial diakses pada SBUF(serial buffer).
Unit Aritmatik Logik
ALU (Arithmetic Logic Unit) berfungsi melaksankan operasi-operasi aritmatik maupun logika, seperti penjumlahan, pengurangan, operasi OR, operasi NAND dan sebagianya. Hasil operasi tersebut selanjutnya disimpan kembali ke dalam accumulator. Operasi yang terjadi pada ALU berhubungan erat dengan accumulator dan bit status pada register F/PSW.
Sumber Pencacah Pewaktuan AT89C51
Mikrokontroller AT89C51 dilengkapi dengan sumber detak / osilator internal (on chip oscilator) yang dapat digunakan sebagai sumber clock bagi AT89C51. Untuk menggunakan osilator internal diperlukan tambahan kristal atau resonator keramik antara pena XTAL1 dan XTAL2 dan sebuah kapasitor ke ground. Untuk kristalnya dapat digunakan frekuensi dari 3 sampai 24 MHz. Sedangkan untuk kapasitornya dapat bernilai 30 pF+10 pF. Bila menggunakan sumber clock eksternal maka XTAL 2 NC (No Connection) dan sumber dihubungkan dengan XTAL1.
Interupsi
Program yang sedang dijalankan oleh mikrokontroller AT89C51 dapat dihentikan untuk sementara dengan meminta interupsi. Apabila AT89C51 mendapat permintaan interupsi maka program counter (PC) akan diisi alamat dari vector interupsi, kemudian AT89C51 melaksanakan rutin pelayanan interupsi mulai dari alamat tersebut setelah selesai maka AT89C51 akan kembali ke pelaksanaan program utama yang ditinggalkan. Mikrokontroller AT89C51 menyediakan 6 sumber interupsi yaitu 2 buah interupsi eksternal (INT 0 dan INT 1), 3 buah interupsi timer (Timer 0, Timer 1, dan Timer 2), dan sebuah interupsi port serial.
Selain itu ada juga sebuah non maskable interrupt yaitu reset yang tidak dapat dihalangi oleh perangkat lunak. Setiap sumber interupsi dapat diprogram secara individual (sendiri-sendiri) baik pengaktifannya maupun prioritasnya. Untuk mengaktifkan atau menonaktifkan interupsi dikontrol oleh register IE (interrupt enable), sedangkan untuk tingkat prioritasnya diatur oleh register IP (interrupt priority).
Tabel Kapasitas Memory Mikrokontroller seri AT89X
Type
RAM
Flash Memory
EEPROM
AT89C51/ AT89S51
8 X 128 BYTE
4 Kbyte
No
AT89C52/ AT89S52
8 X 256 BYTE
8 Kbyte
No
AT89C55
8 X 256 BYTE
20 Kbyte
No
AT89S53
8 X 256 BYTE
12 Kbyte
No
AT89S8252
8 X 256 BYTE
8 Kbyte
2 Kbyte
Pada Tabel diatas Terdapat 3 macam memory yaitu:
§ Random Acsess Memory (RAM) : data yang dapat di baca dan tulis dan hanya akan tersimpan jika mikrokontroller mendapat suply
§ Flash Memory: Tempat penyimpanan Data program, yang hanya dapat di baca pada waktu mikrokontroller sedang aktiv
§ EEPROM : Tempat penyimpanan data yang dapat di baca dan tulis pada saat mikrokontroller sedang bekerja dan bersifat secara permanen (tidak akan hilang meskipun mikrokontroller tidak mendapat suply).

Disqus Comments