Praktik Mikroprocessor
(ELA 349)
NAMA :
NIM :
FAKULTAS TEKNIK
2017
Topik : operasi input output
Judul : pemrograman Mikroprosesor untuk tampilan angka pada seven segmen melalui port
378H PC
A. Tujuan
1. Agar mahasiswa dapat membuat program untuk menampilkan sebuah angka
dengan SEVEN SEGMEN yang terpasang pada port 378H PC.
2. Agar mahasiswa dapat membut program untuk menampilkan ANGKA BERURUT
NAIK dengan SEVEN SEGMEN yang terpasang pada port 378H PC.
3. Agar mahasiswa dapat membuat program untuk menampilkan ANGKA
BARURUT TURUN dengan SEVEN SEGMEN yang terpasang pada port 378H
PC.
4. Agar mahasiswa dapat membuat program untuk menampilkang ANGKA
MELALUI KEYBOARD dengan SEVEN SEGMEN yang terpasang pada port
378H PC.
B. Teori Penunjang
Komputer PC mempunyai port printer dengan alamat 378H, menggunakan soket
DB25 dengan data 8 bit yang keluar pada pin no 2, 3, ... 9. Urutan data pada pin
dimulai dari D0, D1,... D7, seperti gambar berikut:
Port 378H bersifat keluaran keluaran, karena pada port ini dapat mengeluarkan data
untuk ditampilkan ke alat-alat luar. Pada percobaan ini akan dibangun program untuk
menampilkan data angka dengan seven segmen yang terpasang pada port 378H.
Untuk membangun program harap diperhatikan koneksi antara pin seven segmen
dengan pin port 378H tersebut. Koneksi pin antara keduanya adalah sebagai berikut:
Ada dua jenis seven segmen yaitu: Common Katoda dan Common anoda. Common
katoda adalah seven segmen yang setiap katoda LED-nya disambung bersama
sehingga hanya yang keluar hanya satu pin saja yang keluar yang diberi nama
Common. Data untuk seven segmen common katoda dimasukan pada setiap anoda
LED. Begitu juga untuk Common Anoda, semua anoda LED-nya disambungkan
bersama, sehingga data akan dimasukan pada masing-masing katoda.
Sebelum memprogram tampilan seven segmen perlu disusun data untuk masing angka
yang akan ditampilkan. Sesuai dengan koneksi pin-pin perangkat kerasnya dan
common pin dari seven segmen seperti gambar 3a, maka dapat disusun tabel data
untuk tampilan masing-masing angka seperti tabel 1. Untuk memprogram tampilan
sebuah angka pada seven segmen dilakukan dengan mengirimkan data yang sudah
disusun tadi melalui port, seperti potongan program berikut.
Seven segment
Assume cs:seven
Org 100h
PROGRAM 2
Urutnaik segment
Assume cs:urutnaik
Org 100h
Dec bp
Jnz terus
Pop bp
Pop cx
Ret
Delay endp
Mov Al,01011011b
Mov dx,Al
Call delay
Mov Al,01001111b
Mov dx,Al
Call delay
Mov Al,01100110b
Mov dx,Al
Call delay
Mov Al,01101101b
Mov dx,Al
Call delay
Mov Al,01111101b
Mov dx,Al
Call delay
Mov Al,00000111b
Mov dx,Al
Call delay
Mov Al,01111111b
Mov dx,Al
Call delay
Mov Al,01101111b
Mov dx,Al
Call delay
Mov ah,0Bh
Int 21H
Cmp aL,11111111b
Je berhenti
Jmp jalan
Urutnaik ends
End mulai
PROGRAM 3
Urutnaik2 segment
Assume cs:urutnaik2
Org 100h
Start: jmp jalan
Dec bp
Jnz terus
Pop bp
Pop cx
Ret
Delay endp
Mov ah,9h
Mov dx, offset pembuka
Int 21h
Call delay
Mov ah,0Bh
Int 21H
Cmp aL,11111111b
Je selesai
Inc bx
Mov al,[bx]
Loop lagi
Jmp ulang
E. Langkah Kerja
1. Siapkan komputer dalam sistem operasi DOS
2. Jalankan program EDIT.Com
3. Ketiklah program1 mulai judul sampai ketemu kata-kata end...
4. Simpanlah file itu dengan nama 7s.asm
5. Compile program inisial.asm sehingga menjadi 7s.obj
Perintahnya: masm 7s.asm
6. Link program 7s.obj sehingga menjadi 7s.exe
Perintahnya: link 7s.obj
7. Rubah inisial.exe menjadi 7s.com
Perintahnya: exe2bin 7s.exe 7s.com
8. Selesai mengompile kembali ke prompt DOS.
9. Setelah berada di prompt DOS ketikan 7S lalu tekan enter. Jika program anda
benar maka akan tampil data biner 4 ke LED, yang ditandai dengan menyalanya
lampu LED ke 3 dari kanan (sesuai data pada AL=000000100).
10. Lanjutkan dengan cara yang sama untuk PROGRAM 2. Jika program anda benar
maka akan ditampilkan ANKA DESIMAL BERURUT NAIK pada SEVEN
SEGMEN.
11. Lanjutkan dengan cara yang sama untuk PROGRAM 3. Jika program anda benar
maka akan ditampilkan juga ANGKAH DESIMAL BERURUT NAIK pada
SEVEN SEGMEN.
12. Lanjutkan dengan cara yang sama untuk PROGRAM 4 yang and rancang sendiri
untuk menampilkan DUA BUAH ANGKA DENGAN SEVEN SEGMEN
13. Kembangkan program anda untuk TAMPILAN ANGKA CARA LAIN
F. Analisa Data
Delay proc near : prosedur delay
Push cx : simpan nilai cx ke stack
Push bp : simpan nilai bp ke stack
Mov bp,5555 :isi bp sekarang dengan 5555
Terus:mov cx 9999h :isi cx sekrang dengan 9999h
Loop hitung :loncat ke lbel hitung
Dc bp :menurunkan nilai bp dengan 1
Jnz terus :ulang sampai cx=0
Pop bp :mengembalikan nilai bp ke stack
Pop cx mengembalikan nialai cx ke stack
Ret :kembali ke program induk
Delay endp :akhir prosedur delay
Mov dx,378H :isi dx dengan alamat 378H
Mov al,00111111b :isi AL dengan 3fH(angka 0)
Out dx ,al :masukan data al ke port 378H
Call delay :mengarahkan pelaksanaan ke alamat delay
Mov ah,0Bh :service untuk keluar/ service baca tombol
Int 21h :untuk mengakhiri program
Cmp al,11111111b :ffh
Int 20h :untuk mengakhiri program
Int 10h :untuk mengatur jenis layar
Mov ah,0h :menunjukkan service 0 mengatur format layar
Mov al,3h :format layar
Inc bx :untuk menaikkan bx dengan 1
Jmp ulang :ulang sampai ke cx
Loop lagi :loncat ke lagi selama cx belum 0
Mov al [bx] :putar bit al 1 kekanan