Anda di halaman 1dari 10

PERTEMUAN V

SEVEN SEGMENT
TUJUAN PRAKTIKUM 1. Mahasiswa memahami rangkaian antarmuka mikrokontroller dengan 7-segment 2. Mahasiswa dapat memahami program assembly untuk menampilkan data ke 7segment 3. Mahasiswa dapat lebih memahami beberapa instruksi assembly dasar LAPORAN AKHIR PRAKTIKUM Buatlah flow chart untuk merepresentasikan algoritme yang digunakan pada percobaan 5.4 (counter)

TEORI PENUNJANG Seven Segment Seven segment merupakan sebuah display yang terbentuk dari 7 buah LED (ditambah 1 LED untuk menampilkan titik) seperti yang dapat dilihat pada gambar 5.1. Seven segment memiliki 7 segmen utama yang dinamakan segmen A, B, C, D, E, F, dan G, serta satu buah segmen tambahan DP untuk menampilkan titik. Pengaturan tampilan seven segment dilakukan dengan menyalakan/memadamkan segmen LED yang sesuai.

Gambar 5.1 Seven Segment Decoder/Demultiplexer IC 74LS138 Decoder/demultiplexer adalah komponen elektronik yang berfungsi untuk memilih salah satu data (output) dari banyak data menggunakan suatu kombinasi data input. Decoder/demultiplexer 74LS138 (Gambar 5.2) berfungsi untuk memilih salah satu output dari 8 jalur dengan memberikan 3 bit data pada jalur masukan A C. Karakteristik data keluaran terhadap masukan dari decoder/demultiplexer 74LS138 ditunjukan pada tabel 5.1.

Modul Praktikum Organisasi Komputer

33

Gambar 5.2 Decoder/Demultiplexer 74LS138 PANDUAN PRAKTIKUM Kit Praktikum (Hardware) Pada kit praktikum, seven segment yang menyala dikontrol oleh decoder/demultiplexer 74LS138 seperti yang ditunjukkan pada gambar 5.3 dan 5.4. Tabel kebenaran untuk IC 74LS138 ditunjukkan pada Tabel 5.1.

Gambar 5.3 Rangkaian Antarmuka 7-Segment

Gambar 5.4 Rangkaian decoder 74LS138 dengan Mikrokontroler dan 7-Segment


Modul Praktikum Organisasi Komputer 34

Tabel 5.1 Tabel Kebenaran 74LS138 SELEKTOR ENABLE C B A G1 G2A G2B P3.7 P3.6 P3.5 Vcc EN EN 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 0 0 OUTPUT Y0 0 1 1 1 1 1 1 1 Y1 1 0 1 1 1 1 1 1 Y2 1 1 0 1 1 1 1 1 Y3 1 1 1 0 1 1 1 1 Y4 1 1 1 1 0 1 1 1 Y5 1 1 1 1 1 0 1 1 Y6 1 1 1 1 1 1 0 1 Y7 1 1 1 1 1 1 1 0

Pada tabel 5.1, tampak bahwa seven segment yang menyala tergantung pada output dari decoder 74LS138. Output ini dikontrol oleh ketiga input decoder 74LS138 yang terhubung ke P3.5, P3.6, dan P3.7. Sehingga, dari 8 buah display seven segment yang ada pada kit praktikum, selalu hanya ada satu display yang menyala. Agar display tampak menyala secara bersamaan, maka kedelapan display seven segment harus dihidupkan secara bergantian dengan waktu tunda tertentu yang tidak kasat mata. Gambar 5.2 menunjukkan bahwa seven segment dikendalikan dengan menggunakan transistor PNP melalui decoder 74LS138. Apabila basis transistor diberi logika low (0), maka seven segment akan menyala. Sebaliknya, jika basis transistor diberi logika high (1), maka seven segment akan mati. Beberapa contoh display seven segment ditunjukkan pada tabel 5.2. Tabel tersebut menunjukkan bahwa sebuah segmen akan menyala apabila diberi logika low (0) dan akan padam apabila diberi logika high (1). Tabel 5.2 Data tampilan seven segment

Langkah-langkah percobaan dengan menggunakan kit praktikum (hardware) sama seperti langkah-langkah yang telah dijelaskan pada modul-modul sebelumnya.

Modul Praktikum Organisasi Komputer

35

Emulator MCU 8051 IDE (Software) Emulator MCU 8051 IDE menyediakan simulator untuk seven segment tunggal dan seven segment multiplexed. Namun, konfigurasi seven segment multiplexed yang disediakan pada software ini berbeda dengan konfigurasi hardware kit praktikum. Virtual hardware yang tersedia untuk menyimulasikan tampilan seven segment adalah virtual hardware LED Display (Gambar 5.5) dan virtual hardware Multiplexed LED Display (Gambar 5.6).

Gambar 5.5 Virtual Hardware LED Display pada MCU 8051 IDE

Gambar 5.6 Virtual Hardware Multiplexed LED Display pada MCU 8051 IDE Langkah-langkah simulasi pada software emulator MCU 8051 IDE: 1. Buat suatu proyek baru bernama 7SEGMENT 2. Buka Virtual Hardware a. Simulasi satu buah seven segment display: buka virtual hardware LED Display dan konfigurasikan sesuai dengan konfigurasi hardware kit praktikum (Gambar 5.5): - segmen A terhubung ke port 0 bit 0 (P0.0) - segmen B terhubung ke port 0 bit 1 (P0.1)
Modul Praktikum Organisasi Komputer 36

- segmen C terhubung ke port 0 bit 2 (P0.2) - segmen D terhubung ke port 0 bit 3 (P0.3) - segmen E terhubung ke port 0 bit 4 (P0.4) - segmen F terhubung ke port 0 bit 5 (P0.5) - segmen G terhubung ke port 0 bit 6 (P0.6) - segmen DP tidak digunakan (tidak dihubungkan ke port manapun) b. Simulasi 4 buah multiplexed seven segment: buka virtual hardware Multiplexed LED Display dan konfigurasikan setiap segmen sesuai dengan hardware seperti ketentuan pada huruf a (Gambar 5.6). Pemilihan seven segment yang menyala dilakukan dengan port 3, dimana seven segment mulai dari kiri ke kanan terhubung dengan P3.0, P3.1, P3.2, dan P3.3. 3. Nyalakan virtual hardware. 4. Ketik program yang diberikan, simpan dengan ekstensi .asm 5. Compile program yang telah disimpan 6. Mulailah simulasi program 7. Amati jalannya program (Animate atau Run) 8. Amati nyala Seven Segment 9. Akhiri simulasi program MATERI PRAKTIKUM Percobaan 5.1 Tulis Sebuah Karakter pada Seven Segment Pada percobaan ini, sebuah karakter akan ditampilkan pada seven segment 1. Program yang digunakan untuk simulator LED Display: Org 0h Start: mov P0,#10001000b ; Cetak Karakter 'A' sjmp start end 2. Amati nyala seven segment pada emulator 3. Modifikasi program untuk menampilkan karakter b, kemudian karakter C Percobaan 5.2 Tulis Tiga Karakter pada seven segment Pada percobaan ini, karakter AbC akan ditampilkan pada seven segment 1. Program yang digunakan untuk simulator Multiplexed LED display:: Org 0h start: clr P3.0 ; P3.5 = '0' setb P3.1 ; P3.1 = '1' setb P3.2 ; P3.2 = '1' setb P3.3 ; P3.3 = '1' mov P0, #10001000b ; Cetak Karakter 'A' call delay ; Panggil Waktu Tunda ;
Modul Praktikum Organisasi Komputer 37

setb P3.0 ; P3.5 = '1' clr P3.1 ; P3.1 = '0' setb P3.2 ; P3.2 = '1' setb P3.3 ; P3.3 = '1' mov P0,#10000011b ; Cetak Karakter 'b' call delay ; Panggil Waktu Tunda ; setb P3.0 ; P3.5 = '1' setb P3.1 ; P3.1 = '1' clr P3.2 ; P3.2 = '0' setb P3.3 ; P3.3 = '1' mov P0,#11000110b ; Cetak Karakter 'C' call delay ; Panggil Waktu Tunda ; sjmp start ; Lompat ke start; ;======================================= ;subrutin waktu tunda ;======================================= delay: mov R1,#255 mov R2,#255 del1: djnz R2,del1 del2: djnz R1,del2 ret end 2. Program yang digunakan untuk kit praktikum: Org 0h start: clr P3.5 ; P3.5 = '0' clr P3.6 ; P3.6 = '0' clr P3.7 ; P3.7 = '0' mov P0, #10001000b ; Cetak Karakter 'A' call delay ; Panggil Waktu Tunda ; setb P3.5 ; P3.5 = '1' clr P3.6 ; P3.6 = '0' clr P3.7 ; P3.7 = '0' mov P0,#10000011b ; Cetak Karakter 'b' call delay ; Panggil Waktu Tunda ; clr P3.5 ; P3.5 = '0' setb P3.6 ; P3.6 = '1' clr P3.7 ; P3.7 = '0' mov P0,#11000110b ; Cetak Karakter 'C' call delay ; Panggil Waktu Tunda ; sjmp start ; Lompat ke start; ;======================================= ;subrutin waktu tunda ;======================================= delay: mov R1,#255 mov R2,#255
Modul Praktikum Organisasi Komputer 38

del1: djnz R2,del1 del2: djnz R1,del2 ret end 3. Amati nyala Seven Segment pada kit praktikum. 4. Modifikasi program di atas untuk menampilkan kata bISA kemudian angka 8051 dengan menggunakan 4 buah seven segment Percobaan 5.3. Tulis 8 Karakter pada Seven Segment (percobaan hanya dilakukan pada kit praktikum) Pada percobaan ini, angka 12345678 akan ditampilkan pada ke-8 Seven Segment yang ada pada kit praktikum 1. Program yang digunakan: org 0h start: clr P3.5 clr P3.6 clr P3.7 mov P0,#11111001b call delay ; setb P3.5 clr P3.6 clr P3.7 mov P0,#10100100b call delay ; clr P3.5 ; setb P3.6 clr P3.7 mov P0,#10110000b call delay ; setb P3.5 setb P3.6 clr P3.7 mov P0,#10011001b call delay ;

; Cetak Karakter '1'

; Cetak Karakter '2'

; Cetak Karakter '3'

; Cetak Karakter '4'

clr P3.5 clr P3.6 setb P3.7 mov P0,#10010010b ; Cetak Karakter '5' call delay ; setb P3.5 clr P3.6
Modul Praktikum Organisasi Komputer 39

setb P3.7 mov P0,#10000010b ; call delay ; clr P3.5 setb P3.6 setb P3.7 mov P0,#11111000b ; call delay ; setb P3.5 setb P3.6 setb P3.7 mov P0,#10000000b ; call delay ; sjmp start ; Lompat ; delay: mov R0,#255 mov R2,#255 del0: djnz R0,del0 del2: djnz R2,del2 ret end

Cetak Karakter '6'

Cetak Karakter '7'

Cetak Karakter '8' ke Start

2. Amati nyala Seven Segment pada kit praktikum 3. Modifikasi program untuk menampilkan dua kata bISA AJA pada ke-8 seven segment. Perhatikan bahwa diperlukan sebuah spasi yang dibuat dengan memadamkan (tidak menggunakan) sebuah seven segment. Percobaan 5.4. Setting Up/Down dan Enter dengan display ke Seven Segment Pada percobaan ini, akan dibuat suatu simulasi setting UP (penekanan P2.1) / DOWN (penekanan P2.2) dan Enter (penekanan tombol P2.0). Hasil perhitungan akan ditampilkan ke Seven Segment. Data display akan bertambah dari 00 s/d 99 atau berkurang dari 99 s/d 00, sesuai dengan penekanan tombol UP / DOWN. Bila ditekan tombol Enter, maka tombol UP / DOWN tidak akan berfungsi lagi. Metode yang digunakan untuk menampilkan data seven segment adalah metode look up table. 1. Program untuk simulator (gunakan VH Multiplexed LED Display dan Simple Keypad):
Org 0h ratusan equ 30h puluhan equ 31h satuan equ 32h ; start: mov R7,#1 ;inisialisasi data setting Setup: mov A,R7 ;simpan data R7 ke A call bin2dec call display2sevensegmen jnb p2.0,getout ;bila P2.0 ditekan mk getout(selesai)
Modul Praktikum Organisasi Komputer 40

jb P2.1,SetDn ;bila P2.1 ditekan mk INC R7 inc R7 ;R7:=R7+1 acall delay ;waktu tunda lama penekanan tombol cjne R7,#100d,setup ;deteksi apakah setting=100d mov R7,#1 ;reset R7 -> 1 sjmp Setup ; SetDn: Mov A,R7 ;simpan data R7 ke A call bin2dec call display2sevensegmen jnb P2.0,getout ;bila P2.0 ditekan mk getout(selesai) jb p2.2,Setup ;bila sw2(P2.1) ditekan mk INC R7 dec R7 ;R7:=R7-1 acall delay ;waktu tunda lama penekanan tombol cjne R7,#0d,setDn ;deteksi apakah setting=0d mov R7,#99d ;reset R7 -> 99 sjmp Setdn ; getout: sjmp getout ; Display2SevenSegmen: mov A,puluhan mov DPTR,#Data7segmen movc A,@A+DPTR mov P0,A setb P3.0 ;untuk kit praktikum: clr P3.5 setb P3.1 ;untuk kit praktikum: Setb P3.6 clr P3.3 ;untuk kit praktikum: Setb P3.7 setb P3.4 ;untuk kit praktikum: hilangkan call delay ; mov A,satuan mov DPTR,#Data7segmen movc A,@A+DPTR mov P0,A setb P3.0 ;untuk kit praktikum: Setb P3.5 setb P3.1 ;untuk kit praktikum: Setb P3.6 setb P3.3 ;untuk kit praktikum: Setb P3.7 clr P3.4 ;untuk kit praktikum: hilangkan call delay ret ; Bin2Dec: mov b,#100d div ab mov ratusan,a mov a,b mov b,#10d div ab mov puluhan,a mov satuan,b ret ; delay: mov R0,#0 delay1: mov R2,#0fh
Modul Praktikum Organisasi Komputer 41

delay2: djnz R2,delay2 djnz R0,delay1 ret ; Data7segmen: db 11000000b,11111001b,10100100b,10110000b,10011001b db 10010010b,10000010b,11111000b,10000000b,10010000b end

2. Program untuk kit praktikum: sama seperti di atas dengan mengganti bagian program yang mengatur seven segment mana yang menyala 3. Perhatikan apa yang terjadi pada seven segment apabila: a. saklar P2.1 (UP) ditekan beberapa kali, b. saklar P2.2 (DOWN) ditekan beberapa kali, lalu c. saklar P2.0 (enter) ditekan LAPORAN AKHIR PRAKTIKUM Buat flow chart untuk merepresentasikan program pada percobaan 5.4. Laporan dikumpulkan pada awal pertemuan ke-6. DAFTAR PUSTAKA [1] Osmera, Martin. 2012. MCU 8051 IDE handbook draft. Tersedia pada software MCU 8051 IDE. [2] Usman. 2008. Teknik Antarmuka dan Pemrograman Mikrokontroler AT89S52. Yogyakarta (ID): Penerbit ANDI. [3] Datasheet IC 74LS138. Materi praktikum ini disadur dari situs web mytutorialcafe.com dengan penambahanpenambahan yang dianggap perlu.

Modul Praktikum Organisasi Komputer

42

Anda mungkin juga menyukai