Microcomputer) yang dapat berdiri sendiri serta memiliki CPU dan dilengkapi dengan
memori input dan output. Mikrokontroler AT89S51 adalah mikrokontroler ATMEL yang
rendah, memiliki performa yang tinggi dan merupakan mikrokomputer 8 bit yang
dilengkapi 4 Kbyte EPROM (Eraseable and Programeble Read Only Memori) dan 128
byte RAM internal. Program memori dapat deprogram ulang dalam system atau dengan
pulsa clock, yang bekerja membangun sinkronisasi kerja dalam sistim. Pin XTAL1 dan XTAL2
adalah dua kaki yang disediakan untuk pembentuk jaringan osilator. Untuk membangun
jaringan osilator digunakan dua buah kapasitor keramik 30 pF dan sebuah kristal seperti
gambar dibawah.
a. Project Board
b. Multimeter
c. Power Supply
d. Jumper
e. Kristal
f. Resistor
g. Kapasitor
h. IC AT89S51
i. LED
j. Downloader
k. Laptop
Software pendukung
-MIDE51
-ProgISP 1.72
-Protesius 8 Profesional
4. Hubungkan XTAL 1 dan XTAL 2 pada Kristal secara pararel dan hubungkan secara seri
pada kapasitor.
telah ditentukan
PANDUAN PRATIKUM
PEMOGRAMAN ASSEMBLY
Bahasa Assembly adalah bahasa komputer yang kedudukannya di antara bahasa mesin dan bahasa
level tinggi misalnya bahasa C, C++, Pascal, Turbo Basic, Java, dan sebagainya. Bahasa C atau Pascal
dikatakan sebagai bahasa level tinggi karena memakai kata-kata dan pernyataan yang mudah dimengerti
manusia, meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya. Assembler adalah program
yang bekerja membantu penulisan instruksi dalam format bahasa inggris sehingga mudah dibaca dan
dipahami.
MOV A, #03h
ADD A, R0
Perintah baris pertama bekerja menjalankan proses pengisian register R0 dengan data 02h. Perintah
baris kedua bekerja menjalankan proses pengisian register A dengan data 03h. Kemudian proses
penjumlahan data pada register A dengan data pada register R0 dijalankan menggunakan perintah ADD A,R0
dan menghasilkan data 05h tersimpan di register A. Perintah MOV dan ADD adalah mnemonik atau
-MIDE51
-ProgISP 1.72
-Protesius 8 Profesional
PANDUAN PRATIKUM
LED (Light Emitting Diode) adalah semikonduktor (diode) yang dapat mengeluarkan
cahaya. Terdapat berbagai macam warna LED, yaitu merah, hijau, oranye, kuning, dan biru,
serta dalam berbagai bentuk. Seperti juga diode, LED juga merupakan komponen yang akan
aktif (menyala) jika dialiri arus pada arah tertentu, dan tidak untuk arah arus sebaliknya.
Gambar 3-1 menunjukkan bentuk fisik LED beserta simbolnya. Kaki yang lebih panjang
adalah anode, yang akan dihubungkan dengan kutub +, dan kaki yang lebih pendek adalah
katode, yang akan dihubungkan dengan kutub . Ingat KNAP : Katode (ke) Negatif, Anode (ke)
Positif.
Sews
a. Project Board
b. Multimeter
c. Power Supply
d. Jumper
e. Kristal
f. Resistor
g. Kapasitor
h. IC AT89S51
i. LED
j. Downloader
k. Laptop
Software pendukung
-MIDE51
-ProgISP 1.72
-Protesius 8 Profesional
3.4 Langkah Percobaan
Org 00h
Start: MOV P2#00001111b; Turn on LED P2.4-P2.7
ACALL DELAY
MOV P2,#11110000b; Turn on LED P2.0-P2.3
ACALL DELAY
SJMP start
DELAY: MOV R0,#5H
DELAY: MOV R1,#5H
DELAY: MOV R2,#0
djnz R2,$
djnz R1, delay 2
djnz R1, delay 2
ret
end
3. Buka program MIDE51 dibuka untuk melihat adanya error terjadi pada program yang
sudah diketik. Dengan cara File Open Nama File yang disimpan sebelumnya
Build.
4. Setelah itu buka program ProgISP Versi 1.72. lalu upload program yang sudah dibuat
sebelumnya dengan program ini dengan cara : Load Flash Pilih File Led3.hex
Auto. Dan data akan otomatis di upload melalui dounloader yang terhubung dengan PC
sebelumnya.
5. Perubahan pada LED diamati dan dicatat.
3.5 HASIL PENGAMATAN
LED
lampu LED menyala selama 5 kali perulangan di lanjut 4 lampu LED yang lain menyala
selama 6 kali bergantian.
PANDUAN PRATIKUM
a. Kabel
b. Kapasitor 6,8
c. Kristal 12 Mhz
d. Mikrokontroler AT89S51
e. PCB
f. Power Suply
g. Resistor 6,8
h. Resistor 330
i. 7 segmen
PANDUAN PRATIKUM
menjadi baris dan kolom. Gambar menunjukkan contoh keypad 3 kolom 4 baris, yang lebih sering
disebut sebagai keypad 3 x 4. Pin yang terhubung dengan baris akan bertindak sebagai output dari
mikrokontroler, sedangkan pin kolom akan bertindak sebagai input.Untuk mendeteksi tombol mana
yang ditekan, maka mikrokontroler akan mengirim sinyal low ke baris 1, kemudian mikrokontroler
akan mengecek kolom mana yang memberikan sinyal low. Misal tombol angka 1 ditekan, maka
saat baris 1 diberikan sinyal low, maka kolom 1 akan memberikan sinyal low, sedang dua tombol
lainnya pada baris 1 (tombol angka 2 dan 3) yang tidak ditekan akan terbuka. Pada gambar
rangkaian tersebut tampak rangkaian push button, bila saklar ditekan maka port sesuai dengan
bit tersebut akan mendapat logika low 0 dan sebaliknya bila saklar tidak ditekan maka port
b. Push Botton
c. Mikrokontroler AT89S51
d. PCB
e. Power Suply
f. LED
g. Downloader
h. Laptop
Software pendukung
-MIDE51
-ProgISP 1.72
-Protesius 8 Profesional
5.4 PROSEDUR PERCOBAAN
a. Rangkailah rangkaian seperti gambar dibawah ini
b. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program
c. Ketik program berikut ini:
Org 0h
Start:
Mov A, P2 ;Ambil data dari P2 dan Simpan ke A
Mov P0, A ;Kirim data A ke P0
sjmp start
end
d. Simpanlah program yang anda ketik dan beri nama : prog21a.asm
e. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program
PANDUAN PRATIKUM
a. Project Board
b. Multimeter
c. LCD
d. Power Supply
e. Jumper
f. Kristal
g. Resistor
h. Kapasitor
i. IC AT89S51
j. LED
k. Downloader
l. Laptop
Software pendukung
-MIDE51
-ProgISP 1.72
-Protesius 8 Profesional
ORG 000H
AJMP START
;=======LCD KONSTANTA======
DISPCLR EQU 00000001B
FUNCSET EQU 00111000B
ENTRMOD EQU 00000110B
DISPON EQU 00001100B
ORG 100H
START:
LCALL INITLCD
MOV A,#80H
CALL INSTLCD
MOV DPTR,#TULISAN1
CALL LCDSTRING
;=======PROSEDUR DELAY=========
DELAY:
MOV R6,#20
MUTER:
MOV R7,#250
DJNZ R7,$
DJNZ R6,MUTER
RET
;=======DATABASE STRING=======
TULISAN1:
DB 'HELLO WORLD',0
END
Penjelasan:
Jadi pertama mendeklarasikan inisial LCD 16x2 dengan output 4 bit, pada program
berikut
DISPCLR EQU 00000001B
FUNCSET EQU 00111000B
ENTRMOD EQU 00000110B
DISPON EQU 00001100B
Kemudian perintah CLR P3.2 akan mengirimkan nilai 0 pada RS sehingga akan mereset
tampilan lcd, jika RS bernilai 1 maka akan mulai menuliskan karakter, untuk perintah berikut
INITLCD:
MOV A,#DISPCLR
LCALL INSTLCD
LCALL DELAY
MOV A,#FUNCSET
LCALL INSTLCD
LCALL DELAY
MOV A,#DISPON
LCALL INSTLCD
LCALL DELAY
MOV A,#ENTRMOD
LCALL INSTLCD
LCALL DELAY
RET
Adalah perintah yang digunakan untuk memasukkan konstanta LCD ke dalam nilai A
secara berurutan, sehingga LCD bisa di set ke dalam format 4 bit data dan 16x2
WR_DT:
ADD A,#30H
LCALL DATALCD
LCALL DELAY
RET
Program diatas adalah program untuk menuliskan karakter ke LCD ADD A, #30H untuk
menambahkan nilai atau isi A dengan 30H untuk memberikan nilai penulisan, kemudian data
yang akan dituliskan dipanggil melalui perintah LCALL DATALCD dengan ditambah delay.
Data yang akan dikirimkan ke LCD ada dibaris program berikut
TULISAN1:
DB 'HELLO WORLD',0
Program untuk mengirimkan data ke lcd yaitu ada pada program
MOV A,#80H
CALL INSTLCD
MOV DPTR,#TULISAN1
CALL LCDSTRING
Pertama memasukkan nilai 80H ke dalam register A yang digunakan untuk perintah write
atau output, kemudian memanggil spesifikasi lcd yang akan digunakan, setelah
itumengirimkan tulisan ke DPTR adalah pointer penunjuk tempat, LCDSTRING adalah untuk
mendeklarasikan string dan pointer / penempatan karakter.
Simpanlah program yang anda ketik dan beri nama : prog21a.asm
4. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi