microprosessor 8 01112012

Upload: najia-al-umri

Post on 04-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 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