Anda di halaman 1dari 14

Percobaan 1

EMU8086

1. Tujuan percobaan
1. Bisa mengoperasikan simulator EMU8086 untuk memahami arsitektur internal
mikroprosesor Intel 8086
2. Bisa memahami proses yang terjadi di dalam CPU mikroprosesor Intel 8086
3. Tujuan ke 3 disesuaikan dengan file example yg anda pakai percobaan (ganti sesuai dengan
file sumber/examples yg anda pakai percobaan)

2. Alat Percobaan
Laptop yang sudah terinstall emulator EMU8086

3. Dasar Teori
(dicari sendiri sesuai file example yang dieksekusi).

4. Langkah Percobaan
1. Open Emu8086 dan buka sebuah file dari ikon examples, lakukan compile dan simpan file
ektensi hex/bin
2. klik ikon emulate dan perhatikan serta catat isi register, Memori/ROM pada kondisi
awal/startup
3. Klik ikon single step dan perhatikan perubahan yg terjadi pada register, memori/ROM dan
kode sumbernya dan lakukan pencatatan serta berikan analisisnya tentang perubahan isi
register, panjang kode hex dan perubahan alamat pada memori/ROM dan perubahan-
perubahan lain yang terajadi pada emulator anda.
4. Klik single step lagi dan lakukan hal yang sama seperti langkah 3.
5. Klik single step sampai code pada source kode habis/stop.

5. Pertanyaan
1. Apa yang dimaksud dengan alamat absolut, berikan penjelasan.
2. Berikan step-step untuk konversi alamat logika (segment :offset) menjadi alamat absolut
3. Apa fungsi register IP. Berikan satu contoh dan penjelasannya dari percobaan yang anda
lakukan
4. Berapa isi semua register segment pada emulator yang anda kerjakan(sudah eksekusi).
Mengapa isinya bisa seperti itu, berikan penjelasannya
5. Berikan fungsi register SP, BP, SI dan DI
6. Berikan arti intruksi MOV dan berikan 4 format atau contohnya dan berikan penjelasan atau
komen dari format/contoh tersebut
7. Berikan arti intruksi OUT dan IN dan berikan 2 format atau contohnya dan berikan
penjelasan atau komen dari format/contoh tersebut
8. Berikan arti intruksi JMP, JNE, CMP dan berikan 2 format atau contohnya masin-masing dan
berikan penjelasan atau komentar dari format/contoh tersebut
9. Berikan nama semua register Flag pada mikroprosesor intel 8086 dan berikan fungsinya
masing-masing
10. Berikan arti intruksi ADD dan DIV dan berikan 2 contoh dan penjelasan/komennya masing-
masing
Tampilan emulator EMU8086
Percobaan 2
Simulasi PPI8255

1. Tujuan percobaan
1. Bisa mengoperasikan simulator EMU8086 dan Proteus ISIS.
2. Mampu memahami code assembly terkait dengan input dan output port
3. Mampu mengantarmukakan perangkat keras input output ke Sistem minimum mikroprosesor
8086 memakai IC PPI8255

2. Alat Percobaan
Laptop yang sudah terinstall emulator EMU8086 dan Proteus ISIS

3. Dasar Teori
(dicari sendiri sesuai file/IO yang dieksekusi).

4. Langkah Percobaan
Percobaab 4.1.
1. Buka program Proteus dan dari ikon File cari Open sample Project dan klik VSM for 8086
2. Klik panah hijau di kiri bawah untuk run
3. Perhatikan system mikroprosesor dan IC yang berperan dalam proses-proses ini
4. Berikan nama IC/Komponen yang berfungsi pada system ini dan jelaskan fungsinya masing2
termasuk fungsi pin-pin yang berperan
Percobaab 4.2
1. Gantikan minimal salah satu dari komponen I/O (Seven segmen dan/atau keypad) dalam
system dan gambarkan rangkaian dalam simulator proteus (wajib lain dg contohnya)
2. Gambar berikut adalah salah satu contoh program assembly yg diuplud ke mp 8086
3. Edit program assembly tersebut sehingga bisa diuplud ke system minimum yang anda telah
buat pada langkah 5, lakukan revisi sampai tidak ada error saat compile.
4. Upload program exe/bin ke simulator proteus sehingga bisa berjalan sesuai dengan design
5. Uplud dilakukan dengan klik IC8086 2x dan open bagian program file dan browse file
exe/com yang sudah dibuat.
6. Catat hasil percobaan dan Lakukan analisis pada IC dan pin-pin yang berperan pada proses
ini dan kaitannya dengan program yang sudah diekseksusi/running
7. Lakukan emulasi pada EMU8086,dan perhatikan prosesnya. Berikan komentar/penjelasan
dari proses tersebut
Percobaan 4.3.
1. Pindahkan pin CS dari IC PPI8255 ke selain -IO0(IO0 bar) pada rangkaian percobaan 4.2,
lakukan running dan jika tidak bisa running lakukan modifikasi pada software dan atau
bagian dari hardwarenya (tanpa menghilangkan mikroprosesor 8086 dan ICPPI 8255)
sehingga PPI8255 dan IO bisa running lagi.
2. Catat hasil percobaan dan berikan analisis dan emulasi seperti percobaan 4.2

5. Pertanyaan
1. Apa fungsi pin CS pada ICPPI 8255
2. Berikan cara menseting port-port pada IC PPI 8255 dalam mode 0
3. Gambarkan flowchart dari program sumber/assembly yang anda buat pada percobaan 4.3
4. Mengapa alamat I/O pada percobaan ini hanya bisa pada alamat 0-255 (0-FFH) yaitu 8 bit
5. Berikan cara/metode dan satu contohnya sehingga alamat IO bisa sampai 16 bit
6. Dekoder 74154 memberikan 16 output, berikan sebuah konsep sehingga minimal 2 IC
PPI8255 bisa dikendalikan dari Mikroprosesor 8086
7. Jelaskan jawaban anda dari soal 6 secara terinci, langkah demi langkah
8. Bagaimana sintak ROR dan ROL bisa dipakai untuk membuat running LED 8 digit dan
berikan satu contoh (cukup salah satu) code assembly nya
9. Bagaimana konsepnya dengan system minimum 8086 dan IC PPI8255 kita bisa mengetahui
kecepatan putar motor DC
10. Berikan flowchart dari soal 9 dan penjelasan flowchart tersebut secara rinci
PERCOBAAN 3
MCU 8051 dan I/O port

TUJUAN:
1. Memahami rangkaian mikrokontroller MCS51 untuk LED dan push button
2. Dapat membuat program assembly 8051 untuk mengendalikan ON OFF LED dari push
button

2. Alat Percobaan
Laptop yang sudah terinstall emulator MCU 8051 IDE dan Proteus

3. Dasar Teori
(dicari sendiri sesuai tujuan percobaan dan dengan percobaan yang dilakukan).

4. Langkah Percobaan
Percobaan 4.1
1. Buka emulator MCU 8051 IDE dan edit program seperti listing 4.1.
2. Simpan dan lakukan compile sehingga didapat file dg extension HEX.
3. Buka Proteus ISIS dan gambar rangkaian seperti berikut ini.
4. Lakukan uploading dg klik 2 kali, brows Program File dan open file HEX yang anda sudah
simpan tadi. Klik run dan perhatikan apa yang terjadi
5. Lakukan emulasi pada MCU 8051 IDE dengan step progam (single step) perhatikan
perubahan pada bagian RAM, Port, Register dan PSW/Flag
6. Catat hasil percobaan ini dan lakukan analisis.

ORG 0H
MAIN:
MOV A,#01h
MOV P1,A
CALL DELAY
MOV R5,#7H
CF: RL A
MOV P1,A
CALL DELAY
CALL DELAY
DJNZ R5,CF
MOV R5,#8H
CF2:
RR A
MOV P1,A
CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
DJNZ R5,CF2
SJMP CF
DELAY: MOV R2,#0FFH
DELAY1: MOV R3,#09FH
DELAY2: DJNZ R3,DELAY2
DJNZ R2,DELAY1
RET
END
Gambar 4.1 Listing assembly untuk LED
11
U1
39 19
P0.0/AD0 XTAL1
38
P0.1/AD1
37
P0.2/AD2
36 18
P0.3/AD3 XTAL2
35
P0.4/AD4
34
P0.5/AD5
33
P0.6/AD6
32 9
P0.7/AD7 RST
21
P2.0/A8
22
P2.1/A9
23
P2.2/A10
24 29
P2.3/A11 PSEN
25 30
P2.4/A12 ALE
26 31
P2.5/A13 EA
27
P2.6/A14
28
P2.7/A15
R1 10 1
P3.0/RXD P1.0/T2
820Ohm 11 2
P3.1/TXD P1.1/T2EX
12 3
P3.2/INT0 P1.2
13 4
P3.3/INT1 P1.3
14 5
P3.4/T0 P1.4
D3 15
P3.5/T1 P1.5
6
LED-BLUE 16 7
P3.6/WR P1.6
17 8
P3.7/RD P1.7
D2 D8 D10
AT89C52 D1 D5
D4 D6
LED-GREEN LED-GREEN D7
LED-GREEN LED-GREEN LED-GREEN LED-GREEN
LED-GREEN LED-GREEN

Gambar 4.2 Rangkaian LED

Percobaan 4.2
1. Lakukan langkah yang sama dengan percobaan 4.1
2. Tugas pratikan adalah membuat led bergerak ke kanan kiri dengan LED ON 2 buah untuk
grup genap dan LED ON 1buah untuk grup ganjil, setelah tombol ditekan dan berhenti
bergerak dengan menekan tombol lagi, dan begitu berulang terus.
3. Catat hasil percobaan ini dan lakukan analisisnya.

5. Pertanyaan
1. Mengapa pada percobaan 4.1 diperlukan call delay (prosedur delay)
2. Bisakah procedure delay ini digantikan dengan fasilitas timer0 pada microcontroller
AT89C52
3. Berikan code untuk timer 0 untuk mendapatkan delay 8 detik
4. Berakan perhitunggannya sehingga code pada soal 3 benar 8 detik.
5. Terapkan delay pada soal 3 untuk percobaan 4.2
PERCOBAAN 4
Display Seven Segment Paralel dan Aplikasi lanjut

Tujuan Percobaan:
1. Memahami rangkaian mikrokontroller MCU8051 untuk 7 segment parallel dan aplikasi
lanjut
3. Dapat membuat program assembly MCU8051 untuk mengendalikan 7 Segment parallel dan
aplikasi lanjut

2. Alat Percobaan
Laptop yang sudah terinstall emulator MCU 8051 IDE dan Proteus

3. Dasar Teori
(dicari sendiri sesuai tujuan percobaan).

4. Langkah Percobaan
Percobaan 4.1
1. Lakukan langkah yang sama dengan percobaan 4.1 pada percobaan 3
2. Tugas pratikan adalah membuat display nomor grup 2 digit dengan 2 buah seven segment
parallel. (grup ganjil dengan seven segmen common anode, grup genap dengan seven
segment common katode) dengan input grup dari keypad matrik. Tambahi inovasi nya
sendiri sesuai dengan keinginan anda.

Gambar 4.1 Rangkaian 7 segment paralel

3. Buat diagram alir/flow chart dari percobaan ini


4. Catat hasil percobaan ini dan lakukan analisis dari percobaan ini.
Percobaan 4.2
1. Lakukan langkah yang sama dengan percobaan 4.1 pada percobaan 3.
2. Tugas pratikan adalah (dipilih minimal satu):
a. membuat input analog misalnya dari sensor dan menampilkan hasilnya berupa display.
b. Menggerakkan/putar motor kanan kiri berhenti dari input keypad matrik
c. Calculator electronic 2 digit sederhana
d. Kendali loop tertutup
e. Jam digital
3. Buat diagram alir dari percobaan pada langkah 2
4. Catat hasil percobaan ini dan lakukan analisisnya
5. Pertanyaan
1. Berikan 4 perbedaan display parallel dengan 7 segment Common Catode dengan Common
Anode
2. Bagaimana konsepnya sehingga mikrokontroler tanpa fasilitas ADC bisa membaca nilai dari
input analog, berikan langkah-langkah yang harus dilakukan
3. Bagaimana cara menambahkan memori pada mikrokontroler AT89C52/AT89S52
4. Gambar rangkaian dari soal 3.
5. Berikan penjelasan tentang fasilitas interrupt eksternal pada mikrokontroler
AT89C52/AT89S52

5
PERCOBAAN 5
Statemen Kontrol pada Mikrokontroler Arduino

Tujuan Percobaan:
1. Memahami rangkaian mikrokontroller Arduino dengan Input ouput digital
2. Dapat membuat program dalam Arduino IDE untuk statemen control

2. Alat Percobaan
Laptop yang sudah terinstall Arduino IDE dan Proteus

3. Dasar Teori
(dicari sendiri sesuai tujuan percobaan).

4. Langkah Percobaan
Percobaan 4.1
1. Buka Arduino IDE dan buka file examples 05. Control pada bagian
ForLoopIteration
2. Simpan dan lakukan compile sehingga didapat file dg extension HEX/BIN
3. Buka Proteus ISIS dan gambar rangkaian seperti gambar 4.1.
4. Lakukan uploading dg klik 2 kali, brows Program File dan open file HEX yang anda
sudah simpan tadi. Klik run dan perhatikan apa yang terjadi,
5. Catat hasil percobaan ini dan lakukan analisis nya.

SIM1

AREF

13
13
12
ARDUINO

RESET 12
11
~11
10
5V ~10
9
~9
8
SIMULINO

8
POWER

GND
ATMEGA328P

7
7
DIGITAL (PWM~)

6
~6
ATMEL

A0 5
ANALOG IN

A0 ~5
A1 4
A1 4
A2 3 D6
A2 ~3
A3 2 D5 D7 D9
A3 2 LED-BLUE LED-BLUE
A4 1
A4 TX > 1 LED-BLUE LED-BLUE LED-BLUELED-BLUE
A5 0 D2 D3 D4
A5 RX < 0
www.arduino.cc
blogembarcado.blogspot.com D1 LED-BLUE LED-BLUE
SIMULINO UNO D8
LED-BLUE

Gambar 4.1 Rangkaian led untuk statemen forloopiteration

6. Lakukan modifikasi pada code Arduino IDE shg Led berjalan dari pin 0 – 8.
7. Catat hasil percobaan ini dan lakukan analisis nya.

Percobaan 4.2
1. Buka Arduino IDE dan buka file examples 05. Control pada bagian
WhileStatementConditional
2. Simpan dan lakukan compile sehingga didapat file dg extension HEX/BIN
3. Buka Proteus ISIS dan gambar rangkaian sehingga langkah 1 bisa disimulasikan
4. Lakukan uploading dg klik 2 kali, brows Program File dan open file HEX yang anda
sudah simpan tadi. Klik run dan perhatikan apa yang terjadi,
5. Catat hasil percobaan ini dan lakukan analisis nya.

Percobaan 4.3
1. Buka Arduino IDE dan buka file examples 05. Control pada bagian Array
2. Simpan dan lakukan compile sehingga didapat file dg extension HEX/BIN
3. Buka Proteus ISIS dan gambar rangkaian sehingga langkah 1 bisa disimulasikan
4. Lakukan uploading dg klik 2 kali, brows Program File dan open file HEX yang anda
sudah simpan tadi. Klik run dan perhatikan apa yang terjadi,
5. Catat hasil percobaan ini dan lakukan analisis nya.

Percobaan 4.4
1. Buka Arduino IDE dan buka file examples 05. Control pada bagian switchCase
2. Simpan dan lakukan compile sehingga didapat file dg extension HEX/BIN
3. Buka Proteus ISIS dan gambar rangkaian sehingga langkah 1 bisa disimulasikan, bisa
pakai virtual terminal
4. Lakukan uploading dg klik 2 kali, brows Program File dan open file HEX yang anda
sudah simpan tadi. Klik run dan perhatikan apa yang terjadi,
5. Catat hasil percobaan ini dan lakukan analisis nya.

5. Pertanyaan
1. Buat diagram alir untuk percobaan 4.1
2. Buat diagram alir untuk percobaan 4.2
3. Buat diagram alir untuk percobaan 4.3
4. Buat diagram alir untuk percobaan 4.4
5. Buat code untuk membaca dan menampilkan tombol keypad matrik yang ditekan dan
menampilkan nya pada virtual terminal dari Proteus
PERCOBAAN 6
Mikrokontroler Arduino dengan Display LCD dan keypad

Tujuan Percobaan:
1. Memahami rangkaian mikrokontroller Arduino dengan LCD dan keypad matrik
2. Dapat membuat program dalam Arduino IDE untuk LCD dan keypad matrik

2. Alat Percobaan
Laptop yang sudah terinstall Arduino IDE dan Proteus

3. Dasar Teori
(dicari sendiri sesuai tujuan percobaan).

4. Langkah Percobaan
Percobaan 4.1
1. Buka Arduino IDE dan buka file examples AnalogInput dan HelloWorld
2. Simpan dan lakukan compile sehingga didapat file dg extension HEX/BIN
3. Buka Proteus ISIS dan gambar rangkaian seperti gambar 4.1.
4. Lakukan uploading dg klik 2 kali, brows Program File dan open file HEX (HelloWorld)
yang anda sudah simpan tadi. Klik run dan perhatikan apa yang terjadi
LCD1
LM016L

SIM1
VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
E
1
2
3

4
5
6

7
8
9
10
11
12
13
14

AREF

13
13
12
ARDUINO

RESET 12
11
~11
10
5V ~10
9
~9
8
SIMULINO

8
POWER

GND
ATMEGA328P

7
7
DIGITAL (PWM~)

6
~6
ATMEL

A0 5
ANALOG IN

A0 ~5
A1 4
A1 4
A2 3
A2 ~3
A3 2
A3 2
A4 1
A4 TX > 1
A5 0
A5 RX < 0
www.arduino.cc
blogembarcado.blogspot.com
SIMULINO UNO
Gambar 4.1 Rangkain LCD

5. Berikan masukan analog ke pin AnalogInput (A0) dari Arduino. Masukan bisa berasal
dari
Potenssiometer atau dari output sensor.
6. Buatlah program dg Arduino IDE sehingga nilai A0 bisa tampil pada display LCD.
7. Lengkapi code pada langkah 6 dengan menampilkan identitas anda dan beberapa
variasinya.
8. Catat hasil percobaan ini dan lakukan analisis nya.
Percobaan 4.2
1. Pada percobaan ini buatlah sebuah code dan disimulasikan pada Proteus ISIS
2. Menggerakkan/putar motor dc kanan kiri berhenti dari input keypad matrik dengan
tampilan pada display LCD
3. Tentukan sendiri dari angka pada keypad untuk fungsi putar kanan, putar kiri dan
berhenti. Diharapakan masing grup menentukan kodenya sendiri dan tidak sama dengan
grup yang lainnya.
4. Catat hasil percobaan ini dan lakukan analisis nya.

5. Pertanyaan
1. Jelaskan fungsi map() seperti yang terdapat pada link
https://www.arduino.cc/reference/en/language/functions/math/map/
2. Ada kaitan antara fungsi map() dengan hasil percobaan pada langkah 6 percobaan 4.1,
berikan penjelasan anda dengan sebuah contoh.
3. Berikan langkah-langkah yang harus dilakukan sehingga sebuah nilai/besaran bisa
muncul pada display LCD
4. Mengapa pin R/W pada LCD percobaan ini dihubungkan dengan ground (logika
rendah), ada hubungan lain selain dengan ground yang bisa dilakukan, jelaskan
jawaban anda ini.
5. Bagaimana cara menghemat penggunanan pin Arduino terkait pemakaian pin oleh
LCD, berikan penjelasan anda.

Anda mungkin juga menyukai