Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
(UC)
mikroprosesor?
2. Apakah yang dimaksud dengan CPU, piranti memori
hardware
Software
adalah
software
yang
perangkat fisik
Antara
hardware
dan
software
dalam
mikrokontroler tidak bisa dipisahkan satu
sama
lainnya.
Tanpa
software
mikrokontroler hanyalah sebuah chip kosong
yang tidak berarti apa-apa, sedangkan tanpa
hardware mikrokontroler tidak bisa berjalan.
APLIKASI MIKROKONTROLER
Mikrokontroler digunakan mulai dari mainan anak-anak,
Kegunaan uC?
Kegunaan dari mikrokontroler pada umumnya banyak
manipulasi
software
dapat
meminimumkan penggunaan piranti fisik dan
mengoptimalkan unjuk kerja sistem
Bagian-bagian Mikrokontroler:
(1)Unit Memori
(2)CPU (Central Processing Unit)
(3)Bus
(4)Unit I/O
(5)Pembangkit Clock-Osilator
(6)Unit Timer/Counter
(7)Piranti Tambahan
(8)Program
(3) Bus
Bus adalah jalur-jalur fisik yang mengubungkan CPU
lingkungan luar
2 macam inteface I/Oyang biasa digunakan adalah
I/O serial standard RS 232/UART digunakan untuk komunikasi
dengan PC
Interface paralel/PIO (setiap pabrik mengeluarkan nama sendiri
[PIA (motorolla), PPI (intel), PDC (rockwell)
penyedia clock
Clock digunakan oleh mikrokontroler untuk dapat
mengeksekusi instruksi program secara serempak
(sinkron)
Frekuensi clock yang dibangkitkan oleh osilator akan
menentukan waktu yang diperlukan oleh mikrokontroler
untuk mengeksekusi suatu instruksi
Interupsi
Interupsi adalah suatu permintaan khusus kepada
Mikrokontroler MCS-51
Mikrokontroler dengan arsitektur MCS-51 merupakan
Keterangan:
Flash adalah suatu jenis Read Only Memory yang
menghitung waktu/pulsa
UART (Universal Asynchronous Receive Transmit) adalah
jalur komunikasi data khusus secara serial asynchronous
SPI (Serial Peripheral Interface) adalah jalur komunikasi
data khusus secara serial secara serial synchronous
ISP (In System Programming) adalah kemampuan khusus
mikrokontroler untuk dapat diprogram langsung dalam
sistem rangkaiannya dengan membutuhkan jumlah pin
yang minimal
A.Port 0
D. Port 3
Port
P3.0
Fungsi Khusus
RXD, merupakan masukan untuk port serial/receiver
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
WR, merupakan sinyal tulis (write strobe) untuk
menulis data ke memori data eksternal
P3.7
RD, merupakan sinyal baca (read strobe) untuk
membaca data dari memori eksternal
PSEN atau Program Store Enable adalah sinyal baca pada saat
menjalankan program dari memori eksternal. Di dalam aplikasi, PSEN
akan dihubungkan dengan sinyal RD memori program eksternal
(EEPROM).PSEN terdapat pada pin 29.
F. ALE (Address Latch Enable)
ALE atau Addres Latch Enable adalah pulsa keluaran latch pada
proses pengaksesan memori eksternal (program maupun data). Di
dalam aplikasi, ALE biasanya dihubungkan dengan masukan latch
enable dari IC latch, misalnya 74373.. ALE terdapat pada pin 30.
G. EA (External Access)
EA atau External Access Enable menentukan apakah alamat awal
memori program berada di memori eksternal atau internal. Bila
dihubungkan dengan GND, alamat awal program memori akan berada
di memori eksternal, sebaliknya bila dihubungkan dengan VCC, maka
alamat awal memori program AT89S52 akan berada di memori internal.
EA terdapat pada pin 31.
H. RST (Reset)
RST pada pin 9 merupakan pin reset. Jika pada pin ini diberi masukan
1 selama minimal 2 machine cycle maka system akan di-reset dan
register-register internal akan berisi nilai default tertentu dan program
kembali mengeksekusi dari alamat paling awal.
I.XTAL2 dan XTAL1
XTAL2 merupakan keluaran dari rangkaian penguat osilator internal.
Sedangkan XTAL1 merupakan masukan ke penguat osilator internal.
Sebuah kristal dan dua buah kapasitor yang dihubungkan ke pin ini
sudah cukup untuk menyediakan sinyal detak (clock) untuk
mikrokontroler.
J. Koneksi Power
VCC dan GND merupakan pin untuk tegangan DC. Mikrokontroler
AT89S52 membutuhkan tegangan DC sebesar 5 volt agar bisa bekerja
dengan baik (standar TTL). Pin Vcc terdapat pada pin 40 sedangkan
ground terdapat pada pin 20.
Mengenal DT-51
Pada percobaan pemrograman praktikum, yang akan
Spesifikasi DT-51
berbasis mikrokontroler berbasis 89S51 standar industri.
Port serial standar RS 232 untuk komunikasi antara
Register Utama
Keluarga MCS-51 memiliki banyak register yang meliputi
akumulator,
register R,
register B,
DPTR (Data Pointer),
PC (Program Counter),
SP (Stack Pointer).
Akumulator
digunakan sebagai register umum untuk
mengakumulasikan hasil dari instruksi-instruksi.
Register R dan B
Register R adalah delapan set register yang dinamakan
Mode Pengalamatan
Immediate Addressing
harga yang akan disimpan dalam memori langsung
Contohnya: MOV A,#20h
Direct Addressing
harga yang akan dipakai diambil langsung dalam alamat memori
lain
Mode pengalamatan ini cukup cepat, meskipun harga yang didapat
tidak langsung seperti immediate, namun cukup cepat karena
disimpan dalam RAM internal
Contohnya: MOV A,30h
Indirect Addressing
Mode digunakan untuk mengakses 128 byte lebih dari RAM
internal pada keluarga 8052
Contoh: MOV A,@R0
Interrupt Location
Data Memory
Siklus Mesin
1 MC = 6 state = 12 periode clock
Jika frekuensi crystal yang digunakan adalah 12 MHz
Dimana :
Tinst : Waktu yang dibutuhkan untuk mengeksekusi 1 instruksi (Secon)
C : Jumlah machine cycle
Contoh :
Diketahui sebuah mikrokontroler dengan frekuensi crystal 12 MHz.
Berapakah waktu yang diperlukan untuk mengeksekusi perintah berikut ini?
Mov A,#30h
Jawab :
Dari lembaran data 8051 Operational Code Mnemonics diketahui bahwa instruksi dengan format
Mov A,#n adalah instruksi dengan Byte = 1 dan Cycle = 1
Maka : Tinst = (1x12)/12MHz=1uS
TAB, khusus untuk operand yang lebih dari satu masingmasing operand dipisahkan dengan koma.
Bagian-bagian tersebut tidak harus semuanya ada
dalam sebuah baris, jika ada satu bagian yang tidak ada
maka spasi atau TAB sebagai pemisah bagian tetap
harus ditulis.
Bagian Label ditulis mulai huruf pertama dari baris, jika
baris bersangkutan tidak mengandung Label maka label
tersebut digantikan dengan spasi atau TAB, yakni sebagai
tanda pemisah antara bagian Label dan bagian
mnemonic.
END
$mod51
CSEG
ORG 4000H
LJMP START
ORG 4100H
START
MOV SP, #30H
SETB p1.0
CLR P1.1
SETB P1.2
CLR P1.3
SETB P1.4
CLR P1.5
CLR P1.6
CLR P1.7
SJMP $
END
Intruksi-intruksi lompat(JUMP)
Pada saat mikrokontroler menjalankan kelompok intruksi
Intruksi-intruksi lompatan
JMP
CALL
RET
RETI
SJMP
Panjang intruksinya 2 byte. Jarak lompatan terbatas pada
jangkauan 64 K P
AJMP
Panjang intruksinya 2 byte. Alamat tujuan berada pada
blok 2 K.
Penulisan alamat tujuan lompat bisa langsung dituliskan
alamatnya atau menuliskan label.
Dengan menuliskan alamat secara langsung, jika alamat
awal berubah, maka alamat tujuan juga harus
diperbaharui.
Dengan menggunakan label, hal itu tidak perlu dilakukan
Contoh
Org 0000H
Start
Mov A, P1
Mov P0, A
Sjmp Start
Start
Sjmp Start
Jika program dijalankan maka akan terjadi yang tak
berhenti.
Program diatas bisa digantikan dengan mengganti alamat
tujuan lompatan dengan tanda $
Start Sjmp $
CALL
Org 0000H
Start
clr A
Mov A, @A+DPTR
Mov P0,A ACALL DELAY
DELAY: MOV R0,#2H
.
.
RET
LCALL
Menggunakan format 16 bit, dan subrutinnya bisa ditulis
ACALL
Menggunakan format 11 bit, dan subrutinnya bisa ditulis
RET / RETI
Sebuah subrutin harus diakhiri dengan intruksi RET, yang
fungsi tertentu.
Melalui SFR inilah fasilitas-fasilitas internal mikrokontroler
bisa diakses dan dimanfaatkan dengan cara membaca
atau menulis SFR tersebut.
SFR menepati alamat memori 80H FFH.
7 Segmen LED
ANG
KA
0
1
2
3
4
5
6
7
8
9
O
O
O
O
O
O
O
POSISI LED
F E D C B
O O O O O
O O
O O O
O O O
O O O
O O O
O O O O
X O O
O O O O O
O O O O
A
O
O
O
O
O
O
O
O
HURU
F
A
b
C
d
E
F
G
O
O
O
O
O
F
O
O
O
O
O
POSISI LED
E D C
O O
O O O
O O
O O O
O O
O
B
O
A
O
O
O
Contoh-contoh program :
Aplikasi pada lampu LED
1. Program Lampu Flip Flop pada Port 0
delay:
mov r7,#100
delay_loop1:
mov r6,#100
delay_loop2:
mov r5,#100
djnz r5,$
djnz r6,delay_loop2
djnz r7,delay_loop1
ret
end
BufferData
LED_Data
LED_Digit
data
data
data
09h
p0
p1
LED_Display:
mov r0, #BufferData
mov r7, #8
mov a, #255
clr c
LED_Scan:
mov LED_Data, @r0
inc r0
rlc a
mov LED_Digit, a
acall Delay2u5s
mov LED_Digit, #255
djnz r7, LED_Scan
ajmp LED_Display
Delay2u5s:
mov r5, #5
Del: mov r6, #228
djnz r6, $
djnz r5, Del
ret