TEORI DAN DASAR DAN MIKROKONTROLER
RESUME
TEORI DASAR MIKROKONTROLER
Arwin Darwis (60400114016)
Pengenalan Mikrokontroller
Mikrokontroller
sebagai
teknologi semikonduktor yang memiliki
kandungan transistor yang lebih banyak namun hanya membutuhkan ruang yang
kecil serta dapat diproduksi dalam jumlah banyak dan harganya relatif lebih
murah. Mikrokontroller hanya bisa digunakan untuk suatu aplikasi tertentu
saja. Pada mikrokontroler, perbandingan ROM dan RAM-nya besar. Artinya
program kontrol disimpan dalam
ROM yang ukurannya relatif lebih besar,
sedangkan RAM digunakan sebagai
tempat penyimpan sementara, termasuk
register-register yang digunakan pada mikrokontroller yang bersangkutan.
Adapun kelebihan dari mikrokontroller adalah sebagai berikut :
1) Penggerak pada
assembly
mikrokontoler
menggunakan
bahasa pemograman
dengan berpatokan pada kaidah digital dasar sehingga
pengoperasian sistem menjadi sangat mudah dikerjakan sesuai dengan
logika sistem.
2) Mikrokontroller tersusun dalam satu chip dimana prosesor, memori,
dan I/O terintegrasi menjadi satu kesatuan kontrol sistem sehingga
mikrokontroller dapat dikatakan sebagai komputer mini
3) Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputer
sedangkan parameter
komputer
hanya
digunakan
untuk
download
perintah instruksi atau program.
4) Pada mikrokontroller tersedia fasilitas tambahan untuk pengembangan
memori dan I/O yang disesuaikan dengan kebutuhan sistem.
5) Harga untuk memperoleh mikrokontroller lebih murah dan mudah didapat.
Unit Mikrokontroler
Mikrokontroller AT89C51 merupakan versi EEPROM dari 80C51
dimana memory internal ini dapat diprogram dan dihapus secara elektrik
diproduksi oleh ATMEL Corporation. AT89C51 dibuat compatible dengan sel
instruksi dan pin keluaran standar industri MCS-51 yang memiliki 4Kbyte RAM
internal dengan teknologi flas EEPROM yang dapat menyimpan data meskipun
catu daya dimatikan. DT-51 merupakan development tools yang terdiri dari 2
bagian terintegrasi yaitu perangkat keras dan perangkat lunak. Komponen
utama perangkat keras DT-51 ialah mikrokontroller AT89C51 yang merupakan
salah satu turunan keluarga MCS-51 Intel. Fungsi DT-51, antara lain : timer,
counter, RS-232 serial port, Programmable Perangkat Interface (PPI), serta
LCD port. Perangkat lunak DT-51 terdiri dari Downloader DT51L dan
Debugger DT51D.
Berikut ini spesifikasi DT-51 :
1) Berbasis mikrokontroller 89C51 yang berstandar industri.
2) Serial port interface standar RS-232 untuk komunikasi antara komputer
dengan board DT-51.
3) Memiliki 8 Kbytes non-volatile memory (EEPROM) untuk menyimpan
program dan data.
4) Terdapat 4 port input output (I/O) dengan kapasitas 8 bit tiap portnya.
5) Port Liquid Crystal Display (LCD) untuk keperluan tampilan.
6) Konektor ekspansi untuk menghubungkan DT-51 dengan add-on board
yang kampatibel dari Innovative Electronics.
Mikrokontroller AT89C51
Mikrokontroler AT89C51 ialah mikrokomputer CMOS 8 bit dengan 4
KB Flash PEROM (Programmable and Erasable Only Memory) yang dapat
dihapus dan ditulisi sebanyak 1000 kali. Mikrokontroler ini diproduksi
dengan menggunakan teknologi high density non-volatile memory Atmel.
Karakteristik mikrokontroler AT89C51 sebagai berikut :
Low-power
32 jalur masukan/keluaran yang dapat diprogram (32 jalur masukan
dihimpun dalam 4 buah port, setiap port memiliki 8 buah masukan)
Dua timer counter 16 bit
RAM 128 byte
Lima interrupt
Fungsi dari mikrokontroler AT89C51 secara keseluruhan dapat
dijelaskan sebagai berikut :
Pin 1 sampai 8, adalah
kelompok
pin untuk port 1. Port 1 ini
merupakan
port
I/O
dua
arah
yang digunakan untuk penghubungan
dengan peralatan luar.
Pin 9, adalah masukan reset.
Pin 10 sampai 17, adalah port 3
yang juga merupakan port I/O.
Pin 18, adalah
untuk
XTAL
keluaran
dari
2
yaitu
inverting
oscillator amplifier.
Pin 19, adalah XTAL 1 yaitu masukan untuk inverting oscillator amplifier
dan masukan untuk rangkaian sumber detak (clock).
Pin 20, adalah ground dan diberi simbol gnd. Pin ini terhubung dengan
jalur netral/ground dari rangkaian pengatur daya.
Pin 21 sampai 28, adalah port 2 yang juga sebagai port I/O.
Pin 29, adalah Program Store Enable (PSEN), yaitu masukan sinyal
baca untuk memori program eksternal agar masuk ke dalam bus
selama proses pemberian/pengambilan instruksi (fetching).
Pin 30, adalah Address Latch Enable (ALE) yaitu keluaran yang
menghasilkan pulsa-pulsa untuk mengancing byte rendah alamat selama
mengakses eksternal.
Pin 31, adalah External Acces Enable (EA) yang merupakan sinyal
kontrol untuk pembacaan memori program.
Pin 32 sampai 39, adalah merupakan port 0 dan berfungsi sebagai I/O.
Pin 40, adalah Vcc atau sumber tegangan.
Organisasi Memori Mikrokontroller AT89C51
Gambar 2. Blok Diagram Inti Dari AT89C
Memori Program
Memori program hanya bisa dibaca saja karena bersifat sebagai ROM.
Memori ini disimpan dalam Flash PEROM. Memori program yang bisa diakses
langsung hingga 64 Kbyte. Mikrokontroler AT89C51 mempunyai 4 Kbyte
memori program internal. Bila memakai memori program eksternal, maka pin
`EA’ diberi logika Low. Apabila ingin memakai memori program internal pin
`EA’ diberi logika High.
Memori Data
Memori data menempati ruang alamat terpisah. Memori
eksternalnya
dapat diakses secara langsung hingga 64 Kbyte. CPU akan memberikan sinyal
baca RD dan tulis WR selama mengakses memori data eksternal.
Memori Eksternal
Selain
PEROM
dan
internal
RAM
yang
terdapat
pada
mikrokontroler AT89C51, DT51 juga mempunyai memori eksternal berjenis
EEPROM (Electrically Erasable Programmable Read Only Memory).
Set Instruksi
Ada beberapa instruksi yang dikenal oleh mikrokontroler AT89C51
yaitu:
Instruksi aritmetika, mencakup
penambahan
(ADD),
pengurangan
(SUBB), perkalian (MUL), dan pembagian (DIV).
Intruksi logika dan manipulasi bit, terdiri dari : Logika AND (ANL), Logika
OR (ORL), Logika NOT (CPL), Logika EXOR (XRL), Manipulasi
Pengesetan (CLR), Manipulasi Bit Pengesetan (SETB), Manipulasi Bit
Pengisian (MOV) dan Manipulasi Lompat.
Instruksi transfer data, digunakan untuk memindahkan data antara : registerregister,
memori-memori,
register-memori,
antarmuka-register
dan
antarmuka-memori.
Instruksi percabangan, dibagi dua yaitu percabangan dengan syarat dan
percabangan tanpa syarat. Percabangan dengan syarat terdiri atas : CJNE,
DJNZ dan JBC. Sedangkan percabangan tanpa syarat terdiri dari : Long
Jump (LJMP) dan Short Jump (SJMP).
Program Sumber Assembly
Program sumber assembly merupakan program yang ditulis oleh
pembuat program berupa kumpulan baris-baris perintah dan biasanya disimpan
dengan extension .ASM. program sumber assembly terdiri atas beberapa bagian
yaitu :
Label, sangat berguna dalam pemberian nama pada alamat-alamat yang
dituju, karena pemberian label pada suatu alamat lebih bersifat relatif.
Mnemonic, disebut kode operasi adalah kode-kode yang akan dikerjakan
oleh program assembler yang ada pada mikrokontroller merupakan
perintah-perintah atau instruksi -instruksi yang sangat bergantung dengan
jenis mikrokontroller yang digunakan.
Operand merupakan pelengkap dari mnemonic, jumlah operand yang
dibutuhkan oleh satu mnemonic tidak selalu sama, sebuah mnemonic dapat
memiliki tiga, dua, satu atau bahkan tidak memiliki operand sama sekali.
Komentar tidak mutlak ada dalam sebuah program, namun bagian ini
sangat berguna untuk menjelaskan proses-proses kerja ataupun catatancatatan tertentu pada bagian-bagian program.
Programmable Peripheral Interface (PPI) 8255
Programmable Peripheral Interface (PPI) 8255 ialah chip antarmuka
24 bit (3 port) yang dapat diprogram sesuai keinginan. PPI 8255 merupakan
chip yang paling banyak digunakan untuk interfacing menggunakan port ISA
komputer. PPI 8255 sering digunakan sebagai
pengendali
motor stepper,
ADC/DAC, relay, dan rangkaian digital lainnya yang digunakan untuk Sistem
Akuisisi Data.
Berikut ini penjelasan mengenai tiap pin :
PA0-PA07, merupakan
terdiri
dari
8
bit,
port
dapat
A
yang
diprogram
sebagai input atau output dengan metode
bidirectional input/output.
PB0-PB07, Port B dapat diprogram sebagai
input/output, tetapi tidak dapat digunakan
sebagai port bidirectional.
PC0-PC07, Port
sebagai
C
input/output,
dapat
diprogram
bahkan
dapat
dipecah menjadi dua, yaitu CU (bit PC4PC7) dan CL (bit PC0-PC3) yang dapat
diprogram sebagai input/output.
RD dan WR, Sinyal kontrol aktif rendah ini dihubungkan ke 8255. Jika
8255 menggunakan desain periferal I/O maka IOR dan IOW bus sistem
dihubungkan ke kedua pin ini.
RESET, Pin aktif tinggi ini digunakan untuk membersihkan Control
Register. Ketika RESET diaktifkan, seluruh port diinisialisasi sebagai port
input.
Pengaturan Control Word
Pengaturan control word
bertujuan untuk menentukan fungsi dari
setiap port pada PPI 8255. dengan menentukan data yang masuk pada pin
D0 – D7, kita dapat menentukan fungsi dari port-port pada PPI 8255.
Dengan fungsi masing - masing pin sebagai berikut :
Gambar 4. Pengaturan Control Word
Keypad
Keypad adalah rangkaian tombol yang berfungsi untuk memberi sinyal
pada suatu rangkaian dengan menghubungkan jalur-jalur tertentu. Keypad
terdiri dari beberapa macam berdasarkan jumlah tombol dan fungsinya.
LCD (Liquid Cristal Display)
LCD
(Liquid
Cristal
Display)
adalah
salah
satu
komponen
elektronika yang berfungsi sebagai tampilan suatu data, baik karakter, huruf
ataupun grafik. Dipasaran tampilan LCD sudah tersedia dalam bentuk modul
yaitu tampilan LCD beserta
rangkaian pendukungnya termasuk ROM dll.
LCD mempunyai pin data, kontrol catu daya, dan pengatur kontras tampilan.
Fungsi dari pin-pin pada rangkaian LCD yaitu:
Pin data dapat dihubungkan dengan bus data dari rangkaian lain seperti
mikrokontroler dengan lebar data 8 bit.
Pin RS (Register Select) berfungsi sebagai indikator atau yang
menentukan jenis data yang masuk, apakah data atau perintah. Logika
low menunjukan yang masuk adalah perintah, sedangkan logika high
menunjukan data.
Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika
low tulis data, sedangkan high baca data.
Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.
Pin VLCD, berfungsi mengatur kecerahan tampilan (kontras) dimana pin
ini dihubungkan dengan
trimpot
5
Kohm,
jika
tidak
digunakan
dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5
Volt
TEORI DASAR MIKROKONTROLER
Arwin Darwis (60400114016)
Pengenalan Mikrokontroller
Mikrokontroller
sebagai
teknologi semikonduktor yang memiliki
kandungan transistor yang lebih banyak namun hanya membutuhkan ruang yang
kecil serta dapat diproduksi dalam jumlah banyak dan harganya relatif lebih
murah. Mikrokontroller hanya bisa digunakan untuk suatu aplikasi tertentu
saja. Pada mikrokontroler, perbandingan ROM dan RAM-nya besar. Artinya
program kontrol disimpan dalam
ROM yang ukurannya relatif lebih besar,
sedangkan RAM digunakan sebagai
tempat penyimpan sementara, termasuk
register-register yang digunakan pada mikrokontroller yang bersangkutan.
Adapun kelebihan dari mikrokontroller adalah sebagai berikut :
1) Penggerak pada
assembly
mikrokontoler
menggunakan
bahasa pemograman
dengan berpatokan pada kaidah digital dasar sehingga
pengoperasian sistem menjadi sangat mudah dikerjakan sesuai dengan
logika sistem.
2) Mikrokontroller tersusun dalam satu chip dimana prosesor, memori,
dan I/O terintegrasi menjadi satu kesatuan kontrol sistem sehingga
mikrokontroller dapat dikatakan sebagai komputer mini
3) Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputer
sedangkan parameter
komputer
hanya
digunakan
untuk
download
perintah instruksi atau program.
4) Pada mikrokontroller tersedia fasilitas tambahan untuk pengembangan
memori dan I/O yang disesuaikan dengan kebutuhan sistem.
5) Harga untuk memperoleh mikrokontroller lebih murah dan mudah didapat.
Unit Mikrokontroler
Mikrokontroller AT89C51 merupakan versi EEPROM dari 80C51
dimana memory internal ini dapat diprogram dan dihapus secara elektrik
diproduksi oleh ATMEL Corporation. AT89C51 dibuat compatible dengan sel
instruksi dan pin keluaran standar industri MCS-51 yang memiliki 4Kbyte RAM
internal dengan teknologi flas EEPROM yang dapat menyimpan data meskipun
catu daya dimatikan. DT-51 merupakan development tools yang terdiri dari 2
bagian terintegrasi yaitu perangkat keras dan perangkat lunak. Komponen
utama perangkat keras DT-51 ialah mikrokontroller AT89C51 yang merupakan
salah satu turunan keluarga MCS-51 Intel. Fungsi DT-51, antara lain : timer,
counter, RS-232 serial port, Programmable Perangkat Interface (PPI), serta
LCD port. Perangkat lunak DT-51 terdiri dari Downloader DT51L dan
Debugger DT51D.
Berikut ini spesifikasi DT-51 :
1) Berbasis mikrokontroller 89C51 yang berstandar industri.
2) Serial port interface standar RS-232 untuk komunikasi antara komputer
dengan board DT-51.
3) Memiliki 8 Kbytes non-volatile memory (EEPROM) untuk menyimpan
program dan data.
4) Terdapat 4 port input output (I/O) dengan kapasitas 8 bit tiap portnya.
5) Port Liquid Crystal Display (LCD) untuk keperluan tampilan.
6) Konektor ekspansi untuk menghubungkan DT-51 dengan add-on board
yang kampatibel dari Innovative Electronics.
Mikrokontroller AT89C51
Mikrokontroler AT89C51 ialah mikrokomputer CMOS 8 bit dengan 4
KB Flash PEROM (Programmable and Erasable Only Memory) yang dapat
dihapus dan ditulisi sebanyak 1000 kali. Mikrokontroler ini diproduksi
dengan menggunakan teknologi high density non-volatile memory Atmel.
Karakteristik mikrokontroler AT89C51 sebagai berikut :
Low-power
32 jalur masukan/keluaran yang dapat diprogram (32 jalur masukan
dihimpun dalam 4 buah port, setiap port memiliki 8 buah masukan)
Dua timer counter 16 bit
RAM 128 byte
Lima interrupt
Fungsi dari mikrokontroler AT89C51 secara keseluruhan dapat
dijelaskan sebagai berikut :
Pin 1 sampai 8, adalah
kelompok
pin untuk port 1. Port 1 ini
merupakan
port
I/O
dua
arah
yang digunakan untuk penghubungan
dengan peralatan luar.
Pin 9, adalah masukan reset.
Pin 10 sampai 17, adalah port 3
yang juga merupakan port I/O.
Pin 18, adalah
untuk
XTAL
keluaran
dari
2
yaitu
inverting
oscillator amplifier.
Pin 19, adalah XTAL 1 yaitu masukan untuk inverting oscillator amplifier
dan masukan untuk rangkaian sumber detak (clock).
Pin 20, adalah ground dan diberi simbol gnd. Pin ini terhubung dengan
jalur netral/ground dari rangkaian pengatur daya.
Pin 21 sampai 28, adalah port 2 yang juga sebagai port I/O.
Pin 29, adalah Program Store Enable (PSEN), yaitu masukan sinyal
baca untuk memori program eksternal agar masuk ke dalam bus
selama proses pemberian/pengambilan instruksi (fetching).
Pin 30, adalah Address Latch Enable (ALE) yaitu keluaran yang
menghasilkan pulsa-pulsa untuk mengancing byte rendah alamat selama
mengakses eksternal.
Pin 31, adalah External Acces Enable (EA) yang merupakan sinyal
kontrol untuk pembacaan memori program.
Pin 32 sampai 39, adalah merupakan port 0 dan berfungsi sebagai I/O.
Pin 40, adalah Vcc atau sumber tegangan.
Organisasi Memori Mikrokontroller AT89C51
Gambar 2. Blok Diagram Inti Dari AT89C
Memori Program
Memori program hanya bisa dibaca saja karena bersifat sebagai ROM.
Memori ini disimpan dalam Flash PEROM. Memori program yang bisa diakses
langsung hingga 64 Kbyte. Mikrokontroler AT89C51 mempunyai 4 Kbyte
memori program internal. Bila memakai memori program eksternal, maka pin
`EA’ diberi logika Low. Apabila ingin memakai memori program internal pin
`EA’ diberi logika High.
Memori Data
Memori data menempati ruang alamat terpisah. Memori
eksternalnya
dapat diakses secara langsung hingga 64 Kbyte. CPU akan memberikan sinyal
baca RD dan tulis WR selama mengakses memori data eksternal.
Memori Eksternal
Selain
PEROM
dan
internal
RAM
yang
terdapat
pada
mikrokontroler AT89C51, DT51 juga mempunyai memori eksternal berjenis
EEPROM (Electrically Erasable Programmable Read Only Memory).
Set Instruksi
Ada beberapa instruksi yang dikenal oleh mikrokontroler AT89C51
yaitu:
Instruksi aritmetika, mencakup
penambahan
(ADD),
pengurangan
(SUBB), perkalian (MUL), dan pembagian (DIV).
Intruksi logika dan manipulasi bit, terdiri dari : Logika AND (ANL), Logika
OR (ORL), Logika NOT (CPL), Logika EXOR (XRL), Manipulasi
Pengesetan (CLR), Manipulasi Bit Pengesetan (SETB), Manipulasi Bit
Pengisian (MOV) dan Manipulasi Lompat.
Instruksi transfer data, digunakan untuk memindahkan data antara : registerregister,
memori-memori,
register-memori,
antarmuka-register
dan
antarmuka-memori.
Instruksi percabangan, dibagi dua yaitu percabangan dengan syarat dan
percabangan tanpa syarat. Percabangan dengan syarat terdiri atas : CJNE,
DJNZ dan JBC. Sedangkan percabangan tanpa syarat terdiri dari : Long
Jump (LJMP) dan Short Jump (SJMP).
Program Sumber Assembly
Program sumber assembly merupakan program yang ditulis oleh
pembuat program berupa kumpulan baris-baris perintah dan biasanya disimpan
dengan extension .ASM. program sumber assembly terdiri atas beberapa bagian
yaitu :
Label, sangat berguna dalam pemberian nama pada alamat-alamat yang
dituju, karena pemberian label pada suatu alamat lebih bersifat relatif.
Mnemonic, disebut kode operasi adalah kode-kode yang akan dikerjakan
oleh program assembler yang ada pada mikrokontroller merupakan
perintah-perintah atau instruksi -instruksi yang sangat bergantung dengan
jenis mikrokontroller yang digunakan.
Operand merupakan pelengkap dari mnemonic, jumlah operand yang
dibutuhkan oleh satu mnemonic tidak selalu sama, sebuah mnemonic dapat
memiliki tiga, dua, satu atau bahkan tidak memiliki operand sama sekali.
Komentar tidak mutlak ada dalam sebuah program, namun bagian ini
sangat berguna untuk menjelaskan proses-proses kerja ataupun catatancatatan tertentu pada bagian-bagian program.
Programmable Peripheral Interface (PPI) 8255
Programmable Peripheral Interface (PPI) 8255 ialah chip antarmuka
24 bit (3 port) yang dapat diprogram sesuai keinginan. PPI 8255 merupakan
chip yang paling banyak digunakan untuk interfacing menggunakan port ISA
komputer. PPI 8255 sering digunakan sebagai
pengendali
motor stepper,
ADC/DAC, relay, dan rangkaian digital lainnya yang digunakan untuk Sistem
Akuisisi Data.
Berikut ini penjelasan mengenai tiap pin :
PA0-PA07, merupakan
terdiri
dari
8
bit,
port
dapat
A
yang
diprogram
sebagai input atau output dengan metode
bidirectional input/output.
PB0-PB07, Port B dapat diprogram sebagai
input/output, tetapi tidak dapat digunakan
sebagai port bidirectional.
PC0-PC07, Port
sebagai
C
input/output,
dapat
diprogram
bahkan
dapat
dipecah menjadi dua, yaitu CU (bit PC4PC7) dan CL (bit PC0-PC3) yang dapat
diprogram sebagai input/output.
RD dan WR, Sinyal kontrol aktif rendah ini dihubungkan ke 8255. Jika
8255 menggunakan desain periferal I/O maka IOR dan IOW bus sistem
dihubungkan ke kedua pin ini.
RESET, Pin aktif tinggi ini digunakan untuk membersihkan Control
Register. Ketika RESET diaktifkan, seluruh port diinisialisasi sebagai port
input.
Pengaturan Control Word
Pengaturan control word
bertujuan untuk menentukan fungsi dari
setiap port pada PPI 8255. dengan menentukan data yang masuk pada pin
D0 – D7, kita dapat menentukan fungsi dari port-port pada PPI 8255.
Dengan fungsi masing - masing pin sebagai berikut :
Gambar 4. Pengaturan Control Word
Keypad
Keypad adalah rangkaian tombol yang berfungsi untuk memberi sinyal
pada suatu rangkaian dengan menghubungkan jalur-jalur tertentu. Keypad
terdiri dari beberapa macam berdasarkan jumlah tombol dan fungsinya.
LCD (Liquid Cristal Display)
LCD
(Liquid
Cristal
Display)
adalah
salah
satu
komponen
elektronika yang berfungsi sebagai tampilan suatu data, baik karakter, huruf
ataupun grafik. Dipasaran tampilan LCD sudah tersedia dalam bentuk modul
yaitu tampilan LCD beserta
rangkaian pendukungnya termasuk ROM dll.
LCD mempunyai pin data, kontrol catu daya, dan pengatur kontras tampilan.
Fungsi dari pin-pin pada rangkaian LCD yaitu:
Pin data dapat dihubungkan dengan bus data dari rangkaian lain seperti
mikrokontroler dengan lebar data 8 bit.
Pin RS (Register Select) berfungsi sebagai indikator atau yang
menentukan jenis data yang masuk, apakah data atau perintah. Logika
low menunjukan yang masuk adalah perintah, sedangkan logika high
menunjukan data.
Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika
low tulis data, sedangkan high baca data.
Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.
Pin VLCD, berfungsi mengatur kecerahan tampilan (kontras) dimana pin
ini dihubungkan dengan
trimpot
5
Kohm,
jika
tidak
digunakan
dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5
Volt