Download - Microprosessor 8 01112012
-
7/30/2019 Microprosessor 8 01112012
1/16
LAPORAN PRAKTIKUM
Microprosessor
Program Menampilkan Karakter pada LED, MONITOR dan 7 Segment
TANGGAL PERCOBAAN : 01 November 2012
NAMA :
Najia Al Umri (111331050)
KELAS : 2 TC B2
TEKNIK TELEKOMUNIKASI
POLITEKNIK NEGERI BANDUNG
2012
-
7/30/2019 Microprosessor 8 01112012
2/16
Program Menampilkan Karakter pada LED, MONITOR dan 7 Segment
I. TUJUAN PRAKTIKUM Saya dan partner saya dapat mengaplikasikan instruksi untuk pemrograman untuk
memfungsikan 7 segment, LED dan monitor
II. TEORI DASAR- Subrutin Membaca Keyboard
Alamat awal: $FF1
Register Output : Register C
Contoh :
7200 CALL FF1
RST 1
Go tekan tombol A maka register C akan memunculkan kode ASCII dari tombol
yang kita tekan.
- Menampilkan Karakter Ke Layar MonitorAlamat awal: $FEE
Register input : Register C
Contoh :7300 MVI C,49
CALL FEE
RST 1
Go maka akan muncul huruf I
Jika kita ingin membuat tulisan IBU maka programnya menjadi seperti dibawah ini:
MVI C,49
CALL FEE
MVI C,42
CALL FEE
MVI C,55
CALL FEE
RST 1
Maka tulisan IBU akan muncul
Bagaimana jika karakter yang dimasukkan ada 100 ?
Maka kita akan menggunakan program ini
-
7/30/2019 Microprosessor 8 01112012
3/16
77000 CALL FF1
CALL FEE
JMP 7700
Tekan Go tulis kami sedang belajar pemrograman INTEL 8085 tekan CR
tekan tombol panah bawah
Unit Peraga 7 Segment
Kita akan mencoba untuk memfungsikan kedelapan 7 segment yang ada di midicom.
Kedelapan 7 segment hanya bisa difungsikan salah satunya saja dalam satu waktu agar :
- Supaya menghemat daya- Supaya lebih mudah dikontrol- Supaya jumlah port yg digunakan cukup 2
Pada unit peraga 7 segment akan terlibat 2 port
Port 40: harus diisi kode pola karakter
Port 42: harus diisi kode posisi karakter
D7 D6 D5 D4 D3 D2 D1 D0
8 8 8 8 8 8 8 8
50 40 10 00 D0 C0 90 80
Port 40 berhubungan dengan segment segment yang ada pada 7 segment
-
7/30/2019 Microprosessor 8 01112012
4/16
H
Jika kita ingin membuat angka 2 berarti kita harus memberi logik 1 pada segment
H G F E D C B A
0 1 0 1 1 0 1 1
5B
Programnya adalah:
MVI A,D0
OUT 42
MVI A,5B
OUT 40
RST 1
Instruksikan go maka akan muncul akan 2 pada 7 segment.
-
7/30/2019 Microprosessor 8 01112012
5/16
III. LANGKAH PERCOBAAN DAN HASIL PRAKTIKUM
1. Buat program untuk membaca keyboard dan tampilkan ke layarSoal ini telah terjawab pada landasan teori diatas
2. Buat program untuk decimal up counter modulus 10 yang outputnya berubah setiapsetengah detik. Tampilkan pada unit peraga 7 segment secara berulang.
Pertama kita akan menyimpan terlebih daulu karakternya dengan memanfaatkan alamat
memori
ALAMAT MEMORI ASCII OUTPUT
B000 3F 0
B001 06 1
B002 5B 2
B003 4F 3
B004 66 4
B005 6D 5
B006 7D 6
B007 07 7
B008 7F 8
B009 6F 9
FLOWCHART :
-
7/30/2019 Microprosessor 8 01112012
6/16
Alamat Hex-code Mnemonics
7700 26 B0 MVI H,B0
7702 3E C0 MVI A,C0
7704 DE 42 OUT 42
7706 06 00 MVI B,00
7708 68 MOV L,B
7709 7E MOV A,M
770A D3 40 OUT 40
770C 11 F401 LXI D,01F4
770F CD FA04 CALL 0FFA
7712 04 INR B7713 78 MOV A,B
-
7/30/2019 Microprosessor 8 01112012
7/16
7714 FE 0A CPI 0A
7716 C2 0875 JNZ 7508
7719 C3 0675 JMP 7506
Kita akan menggunakan register B sebagai counter, lalu memilih port mana yang akan
digunakan dengan memasukkannya ke akumulator. Lalu kita akan memasukkan register B keregister yang selanjutnya digunakan sebagai counter. Karena kita memanfaatkan alamat
memori maka kita masukkan 2 bit terakhir yang tadi kita masukkan ke B ke akumulator. Lalu
mengembalikan isi akumulator ke port 40. Untuk delaynya kita gunakan instruksi DE 1F4
dan CALL FFA. 1F4 kita dapatkan setelah merubah 0.5 sekon ke dalam bentuk hexa. Agar
membentuk up counter maka kita harus menambahkan register B sebagai counter dengan
konstanta 1. Lalu kita bandingkan dengan 0A agar B stop menjadi counter ketika menemukan
0A. Kita akan menggunakan untuk mendeteksi hasil instruksi perbandingan.
3. Buat program untuk decimal up counter modulus 16 yang outputnya berubah setiapsetengah detik. Tampilkan pada unit peraga 7 segment secara berulang.
Isi memori terlebih dahulu
ALAMAT MEMORI ASCII OUTPUT
B000 3F 0
B001 06 1
B002 5B 2
B003 4F 3
B004 66 4
B005 6D 5
-
7/30/2019 Microprosessor 8 01112012
8/16
B006 7D 6
B007 07 7
B008 7F 8
B009 6F 9
B00A 77 A
B00B 7C b
B00C 69 C
B00D 53 d
B00E 79 E
B00F 71 F
FLOWCHART
Analisa flowchart pada nomor 3 ini sama saja dengan nomor dua yang dirubah hanya pada
saat membandingkan isi akumulator menjadi dengan 10 karena kita kini menggunakan
modulus 16.
Programnya
Alamat Hex-code Mnemonics
7700 26 B0 MVI H,B0
7702 3E C0 MVI A,C0
7704 DE 42 OUT 42
7706 06 00 MVI B,00
7708 68 MOV L,B
7709 7E MOV A,M
770A D3 40 OUT 40
770C 11 F401 LXI D,01F4770F CD FA04 CALL 0FFA
-
7/30/2019 Microprosessor 8 01112012
9/16
7712 04 INR B
7713 78 MOV A,B
7714 FE 10 CPI 10
7716 C2 0875 JNZ 7508
7719 C3 0675 JMP 7506
4. Buat program untuk decimal up counter modulus 16 yang outputnya berubah setiapsetengah detik. Tampilkan pada unit peraga 7 segment secara berulang beserta LED
FLOWCHART
-
7/30/2019 Microprosessor 8 01112012
10/16
Analisa pada flowchart ini sama saja dengan
flowchart nomor 3 dan 2 hanya saja sebelum
delay kita menambahkan 2 instruksi yang
selanjutnya kita gunakan untuk
memfungsikan LED.
Lalu kita menyisipkan programnya dengan
menggunakan menu Z sebagai relocator.
Caranya:
Z Masukan alamat awal, alamat ahir ,
alamat dimana program akan disisipkan masukkan program yang akan disisipkan
CR
PROGRAMNYA
5. Buat program untuk decimal up counter modulus 16 yang outputnya berubah setiapsetengah detik. Tampilkan pada unit peraga 7 segment secara berulang beserta LED dan
Monitor.
Alamat Hex-code Mnemonics
7700 26 B0 MVI H,B0
7702 3E C0 MVI A,C0
7704 DE 42 OUT 42
7706 06 00 MVI B,00
7708 68 MOV L,B
7709 7E MOV A,M
770A D3 40 OUT 40
770C 11 F401 LXI D,01F4
770F CD FA04 CALL 0FFA
7712 78 MOV A,B
7713 D3 50 OUT 50
7715 04 INR B7716 78 MOV A,B
7717 FE 10 CPI 10
7719 C2 0875 JNZ 7508
771C C3 0675 JMP 7506
-
7/30/2019 Microprosessor 8 01112012
11/16
Kini kita mempunyai 2 kelompok data yaitu
Output ASCII
0
Data ouput + 30
12
3
4
5
6
7
89
A
Data output + 07 + 30
B
C
D
E
F
FLOWCHARTNYA
-
7/30/2019 Microprosessor 8 01112012
12/16
Analisa untuk flowchart ini hampir
sama dengan flowchart nomor 4 hanya
saja sebelum delay kita menambahkan
beberapa instruksi yang akan mengatur
pemasukan 2 data berbeda diatas.
Pertama kita akan memproses
kelompok data pertama yaitu
kelompok angka register B dimasukan
ke akumulator lalu di tambah konstanta
30, lalu kita bandingkan dengan 3A,
jika data lebih kecil dari 3A maka carry
sama dengan 1 dan akan langsung ke
proses menampilkan dan jika data
lebih besar maka carry sama dengan 0
dan akan diproses untuk selanjutnya
ditambah dengan 07 karena termasuk
kelompok data 2 yaitu huruf yang perlu
ditambah 07 lagi untuk menghasilkan
outputnya.
Programnya
Alamat Hex-code Mnemonics
7700 26 B0 MVI H,B0
-
7/30/2019 Microprosessor 8 01112012
13/16
7702 3E C0 MVI A,C0
7704 DE 42 OUT 42
7706 06 00 MVI B,00
7708 68 MOV L,B
7709 7E MOV A,M
770A D3 40 OUT 40770C 78 MOV A,B
770D C6 30 ADI 30
770F FE 3A CPI 3A
7711 DA 16 JC
7714 C6 07 ADI 07
7713 77 MOV C,A
7717 CD EEOF CALL FEE
771A 11 F401 LXI D,01F4
771D CD FA04 CALL 0FFA
7720 78 MOV A,B7721 D3 50 OUT 50
7723 04 INR B
7724 78 MOV A,B
7725 FE 10 CPI 10
7727 C2 0875 JNZ 7508
772A C3 0675 JMP 7506
-
7/30/2019 Microprosessor 8 01112012
14/16
6. Lakukan soal nomor 5 hanya saja output monitor tidak berjalan jadi aktifkan backspaceagar data tetap di satu tempat.
Programnya
Alamat Hex-code Mnemonics
7700 26 B0 MVI H,B0
7702 3E C0 MVI A,C0
7704 DE 42 OUT 42
7706 06 00 MVI B,00
7708 68 MOV L,B
7709 7E MOV A,M
770A D3 40 OUT 40
770C 78 MOV A,B
770D C6 30 ADI 30
770F FE 3A CPI 3A7711 DA 16 JC
7714 C6 07 ADI 07
7713 77 MOV C,A
7717 CD EEOF CALL FEE
771A 11 F401 LXI D,01F4
771D CD FA04 CALL 0FFA
7720 0E 08 MVI C,08
7722 CD EE0F CALL FEE
7725 78 MOV A,B
7726 D3 50 OUT 507728 04 INR B
7729 78 MOV A,B
772A FE 10 CPI 10
772C C2 0875 JNZ 7508
772F C3 0675 JMP 7506
-
7/30/2019 Microprosessor 8 01112012
15/16
FLOWCHART
-
7/30/2019 Microprosessor 8 01112012
16/16
Pada analisa kali ini kita hanya menambahkan 2 buah program setelah delay, kita memasukan
konstanta 08 ke dalam register C untuk mengaktifkan backspace agar output tetap keluar di
tempat yang sama
KESIMPULAN
Kita dapat melihat output di 7 segment, LED maupun monitor dengan menggunakan
beberapa instruksi. Kali ini kita harus lebih memahami kode ASCII agar lebih mudah
mempelajari subrutin