0% menganggap dokumen ini bermanfaat (0 suara)
1K tayangan

Program Display 7 Segment Pada Mikroprosesor Dan Embedde System

Program ini menjelaskan cara menampilkan angka 0-9 pada 7 segment dengan menggunakan mikrokontroler 8051. Program menghubungkan port pada mikrokontroler dengan pin-pin 7 segment dan mengirimkan kode bilangan heksadesimal untuk menyalakan segment tertentu sesuai dengan angka yang diinginkan. Program selanjutnya memperluas untuk menampilkan angka berurutan 00-99 dan 000-999 pada 3 buah 7 segment.

Diunggah oleh

D'juel Rossenery
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
1K tayangan

Program Display 7 Segment Pada Mikroprosesor Dan Embedde System

Program ini menjelaskan cara menampilkan angka 0-9 pada 7 segment dengan menggunakan mikrokontroler 8051. Program menghubungkan port pada mikrokontroler dengan pin-pin 7 segment dan mengirimkan kode bilangan heksadesimal untuk menyalakan segment tertentu sesuai dengan angka yang diinginkan. Program selanjutnya memperluas untuk menampilkan angka berurutan 00-99 dan 000-999 pada 3 buah 7 segment.

Diunggah oleh

D'juel Rossenery
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 11

1

PROGRAM DISPLAY 7 SEGMENT



I. Tujuan
1. Praktikan dapat memahami prinsip kerja 7 segment.
2. Praktikan dapat menghubungkan 7 segment dengan port-port pada
mikrokontroler MCS-51.
3. Praktikan dapat menggunakan tampilan CPU register dan 7 segment pada
mikrokontroler MCS-51.

II. Dasar Teori
Seven segment (7-segments) adalah sebuah komponen untuk menampilkan
bilangan dari 0 sampai 9 yang banyak digunakan pada aplikasi yang memerlukan
tampilan angka. 7 segment pada dasarnya adalah LED (Light Emiting Diode ),
yaitu dioda yang dapat mengeluarkan cahaya bila diberi tegangan pada pin-nya.
Gambar dibawah ini memperlihatkan gambaran tentang 7 segment yang masing
masing segment diberi notasi mulai dari a, b, c, d, e, f dan g.
a

f b

g


e c

d

Gambar . Tampilan 7 segment
LED tersebut terdiri dari 7 buah yagn dihubungkan satu dengan yang lainnya.
Cara menghubungkan pin pada seven segment ada 2 (dua) mode, yaitu Common
Anode dan Common Catode, Common anode adalah LED pada 7 segment semua
pin anoda-nya dihubungkan menjadi satu, sedangkan pin katoda dihubungkan ke
port-port pada mikrokontroller. Common anode digunakan untuk rangkaian yang
memerlukan aktif rendah (active low). Common catode adalah semua pin katoda
pada 7 segment disatukan, sedangkan pim anoda dihubungkan ke port-port pada
2

mikrokontroller. Commmon catode dugunakan pada rangkaian yang memerlukan
aktif tinggi (active high).
Port-port pada mikrokontroller kondisi awalnya ketika power dihidupkan
adalah semua pin-nya berlogika1, sehingga dalam penggunaannyan
mikrokontroller memerlukan rangkaian aktif rendah, maka 7 segment yang
digunakan adalah yang Common anode, dimana semua pin anode-nya disatukan
kemudian dihungkan ke tegagan +5 VDC (pada simulator UMPS pin Common_0
dihubungkan dengan always 1, pada CPU , sedangkan pin-pin katodanya
dihubungkan ke pin pin pada port mikrokontroller. 7 segment Common anode
yang digunakan memerlukan logik 0 pada katodanya agar segmentnya menjadi
hidup atau on, maka untuk menampilkan angka 0, mikrokontroller harus
mengirimkan logik 0 pada pin-pin a f , sedangkan pin g logik 1, kalau
logik-logik disusun, maka akan membentuk bilangan hexa-decimal : 01000000 =
40h, untuk menampilkan angka 1 diperlukan bilangan 79h, angka 2 diperlukan
bilangan 30h, dan seterusnya seperti tabel di bawah ini :
Tabel . Hubungan tampilan angka dengan bilangan hexa-decimal yang diperlukan
.
No. Tampilan Angka Bilangan Hexa-dec
1 0 40h
2 1 79h
3 2 24h
4 3 30h
5 4 19h
6 5 12h
7 6 02h
8 7 78h
9 8 00h
10 9 10h

III. Daftar Alat dan Bahan
Simulator 8051 (UMPS)
Cross assembler 8051 (UMPS)
IBM PC kompatibel
3

IV. Keselamatan Kerja
Untuk melaksanakan praktikum mikroprosessor dan embedded
system II ini diperlukan langkah langkah untuk keselamatan :
1. Sebelum praktikum dimulai, masing masing praktikan menyiapkan
jobsheet.
2. Memastikan hubunganl, kabel power pada sudah tersambung dan tidak
ada kabel yang terbuka, kemudian hidupkan (turn on) MCB panel pada
meja praktikan.
3. Memastikan hubungan komputer dengan peralatan lainnya, seperti
keyboard dan mouse sudah terhubung.
4. Menghidupkan komputer dan tunggu sampai sistem operasi selesai
loading dan sudah dapat digunakan.
5. Menjalankan hanya program UMPS.
6. Mengetikkan program menggunakan editor assembler pada UMPS.
7. Selesai melaksanakan praktikum, matikan komputer dan kembalikan
keyboard dan mouse pada tempatnya dan matikan MCB pada panel
power di meja kerja.
8. Merapikan kursi dan peralatan lainnya dan bersihkan meja dari segala
kertas kerja.

V. Langkah Kerja
1. Menjalankan program UMPS.exe
2. Memilih jenis CPU yang hendak disimulasikan dengan cara :
Pada Menu memilih Configure
Memilih Load CPU
Pada bagian File memilih 8031.cpl
3. Mengetik baris-baris program dibawah ini :
;---------------------------------------------------
;programmer : muhammad novrizal
;abstrak : program display seven segment (7-segment)
;---------------------------------------------------
org 00h
ajmp start
;Label 7-segment
org 05h
d7seg:
4

db 40h
db 79h
db 24h
db 30h
db 19h
db 12h
db 02h
db 78h
db 00h
db 10h
start:
mov dptr,#d7seg
mov r0,#00h;Counter
ulang:
mov a,#00h
movc a,@a+dptr;
mov p1,a
cjne r0,#09h,terus
setting:
mov dptr,#d7seg
mov r0,#00h
sjmp ulang
terus:
inc dptr
inc r0
sjmp ulang
end
4. Menyimpan program
5. Menambahkan resource 7 segment dengan cara :
Pada menu item memilih Cnfigure
Memilih resource
Menklik add pada tollbar bulton, kemudian memilih 7segment,
seperti terlihat pada gambar di bawah ini.
Klik OK.
6. Kemudian mengklik kanan pada 7 segment
7. Selanjutnya menghubungkan 7 segment dengan port p1 8085 dengan cara :
Mengklik port p1 pada register list
Menghubungkan register bit dengan pin list denga cara memilih bit
dari p1 pada register bit dan mengklik pada pin list (misal b0
dihubungkan dengan pin a pada pin list), kemudian klik tombol
Connect, tampilan akan seperti gambar di bawah ini .
5


Cara menghubungkan poer 1 dengan pin-pin 7 segment
Mengulangi untuk pin-pin yang lain, yaitu b1 dengan pin b, b2
dengan pin c, b3 dengan pin d, b4 dengan pin e, b5 dengan pin f, b6
dengan pin g, b7 dengan prs. Untuk Common_0 pada pin list
hubungkan dengan always 1 pada register list, kemudian menklik
Connect.
Tampilan seperti tampak pada gambar dibawah ini .

Hubungan lengkap port 1 dan pin 7 segment
Setelah selesai terhubung semuanya, menklik tombol OK.
6

(Bila pilihan connection salah, batalkan pilihan dengan cara
mengklik pada connection list bagian yang akan dibatalkan dan
tekan tombol cut).
Selanjutnya tekan tombol OK.
8. Setelah itu disimulasikan dengan memilih tombol trace (tombol F7).
9. Melihat pada accumulator, R0, R1, dan DPTR setiap perubahan tampilan
sevent-segment, bila data yang dimasukka benar 7 segment akan
menampilakn nilai dari 0 (nol) sampai 9 (sembilan). Tampilan akan seperti
gambar di bawah ini.

Tampilan 7 segment pada saat program RUN
10. Mencatat hasil percobaan pada tabel hanya untuk setiap perubahan nilai
pada 7 segment yaitu mulai dari 0, 1, 2, ... , 9.
11. Membuat program untuk menampilkan 7 segment yang dapat menghitung
mulai dari 00 sampai 99.
12. Membuat program untuk menampilkan 7 segment yang dapat menghitung
mulai dari 000 sampai 999.

VI. Program
Program mengurutkan angka 00 sampai 99
;-----------------------------------------------------
;programmer: muhammad novrizal
;abstrak : program display seven segment (7-segment)
;judul : mengurut angka dari 00-99
;-----------------------------------------------------
org 00h
ajmp start
org 05h
d7seg:
db 40h
db 79h
db 24h
db 30h
db 19h
7

db 12h
db 02h
db 78h
db 00h
db 10h

start:
mov r0,#30h
mov dptr,#d7seg
loop:
mov a,#00h
movc a,@a+dptr
mov @r0,a
inc dptr
inc r0
cjne r0,#3Ah,loop
repeat1:
mov dptr,#d7seg
mov r7,#00; counter
mov r0,#30h
mov r6,#0Ah
mov a,@r0
mov p1,a
mov p2,a
inc r0
ajmp ulang
ulang1:
dec r6
mov a,r6
jz repeat1
mov a,#40h
mov p1,a
mov a,@r0
mov p2,a
inc r0
ulang:
mov a,#00h
movc a,@a+dptr
mov p1,a
cjne r7,#09h,terus
setting:
mov dptr,#d7seg
mov r7,#00h
sjmp ulang1
terus:
inc dptr
inc r7
sjmp ulang

end

Program mengurutkan angka 000 sampai 999
;-----------------------------------------------------
;programmer : muhammad novrizal
;abstrak : program display seven segment (7-segment)
;judul : mengurut angka dari 000-999
;-----------------------------------------------------
8

org 00h
ajmp start
org 05h
d7seg:
db 40h
db 79h
db 24h
db 30h
db 19h
db 12h
db 02h
db 78h
db 00h
db 10h

start:
mov r0,#30h
mov r1,#50h
mov dptr,#d7seg
loop:
mov a,#00h
movc a,@a+dptr
mov @r0,a
mov @r1,a
inc dptr
inc r0
inc r1
cjne r0,#3Ah,loop
repeat1:
mov dptr,#d7seg
mov r7,#00; counter
mov r0,#30h
mov r1,#50h
mov r6,#0Ah
mov r5,#0Ah
mov a,#40h
mov p1,a
mov p2,a
mov p3,a
inc r0
inc r1
ajmp ulang

ulang2:
dec r5
mov a,r5
jz repeat1
mov a,#40h
mov p1,a
mov p2,a
mov a,@r1
mov p3,a
mov r0,#30h
mov r6,#0Bh
inc r1
ulang1:
dec r6
mov a,r6
jz ulang2
9

mov a,#40h
mov p1,a
mov a,@r0
mov p2,a
inc r0
ulang:
mov a,#00h
movc a,@a+dptr
mov p1,a
cjne r7,#09h,terus
setting:
mov dptr,#d7seg
mov r7,#00h
sjmp ulang1
terus:
inc dptr
inc r7
sjmp ulang

end

VII. Tabel Data Pengamatan
Table mengurutkan angka 0 sampai 9
Tombol
F7
REGISTER Tampilan
7 segment ACC R1 Port 1 DPTR
0x 00 00 FF 00 -
1x 00 00 FF 05 -
2x 00 00 FF 05 -
3x 00 00 FF 05 -
4x 00 00 FF 05 -
5x 40 00 FF 05 -
6x 40 00 40 05 0
7x 40 00 40 05 0
8x 40 00 40 06 0
9x 40 01 40 06 0
10x 40 01 40 06 0
11x 00 01 40 06 0
12x 79 01 40 06 0
13x 79 01 79 06 1
14x 79 01 79 06 1
15x 79 01 79 07 1
16x 79 02 79 07 1
17x 79 02 79 07 1
18x 00 02 79 07 1
19x 24 02 79 07 1
20x 24 02 24 07 2
21x 24 02 24 07 2
22x 24 02 24 08 2
23x 24 03 24 08 2
10

24x 24 03 24 08 2
25x 00 03 24 08 2
26x 30 03 24 08 2
27x 30 03 30 08 3
28x 30 03 30 08 3
29x 30 03 30 08 3
30x 30 04 30 08 3
31x 30 04 30 08 3
32x 30 04 30 08 3
33x 19 04 30 09 3
34x 19 04 19 09 4
35x 19 04 19 09 4
36x 19 04 19 0A 4
37x 19 05 19 0A 4
38x 19 05 19 0A 4
39x 00 05 19 0A 4
40x 12 05 19 0A 4
41x 12 05 12 0A 5
42x 12 05 12 0A 5
43x 12 05 12 0B 5
44x 12 06 12 0B 5
45x 12 06 12 0B 5
46x 00 06 12 0B 5
47x 02 06 12 0B 5
48x 02 06 02 0B 6
49x 02 06 02 0B 6
50x 02 06 02 0C 6
51x 02 07 02 0C 6
52x 00 07 02 0C 6
53x 00 07 02 0C 6
54x 78 07 02 0C 6
55x 78 07 78 0C 7
56x 78 07 78 0C 7
57x 78 07 78 0D 7
58x 78 08 78 0D 7
59x 78 08 78 0D 7
60x 00 08 78 0D 7
61x 00 08 78 0D 7
62x 00 08 00 0D 8
63x 00 08 00 0D 8
64x 00 08 00 0E 8
65x 00 09 00 0E 8
66x 00 09 00 0E 8
67x 00 09 00 0E 8
68x 10 09 00 0E 8
69x 10 09 10 0E 9
11

70x 10 09 10 0E 9
71x 10 09 00 0E 9
72x 10 00 10 05 9
73x 10 00 10 05 9
74x 00 00 10 05 9
75x 40 00 10 05 9
76x 40 00 40 05 0

VIII. Pertanyaan Praktikum
1. Bagaimana cara untuk menampilakan angka 8 pada 7 segment ?
2. Apakah yang harus ditambahkan bila tampilan 7 segment ingin
ditampilkan dengan selang waktu 1 detik ?
3. Bagaimana cara mendesain rangkaian bila 7 segment yang digunakan
mempunyai mode Common katoda ?
Jawaban :
1. untuk menampilkan angka 8, mikrokontroller harus mengirimkan
logik 0 pada pin-pin a sampai dengan pin g, maka akan membentuk
bilangan hexa-decimal : 00000000 = 00h.
2. Delay:
Mov r4,#14h; counter
Del1:
Mov TL
0
,#64h;100
Mov TH
0
,#9Bh;155
Djnz r4,Del1
RET
3. semua pin katoda pada 7 segment disatukankemudian dihungkan ke
tegagan +5 VDC (pada simulator UMPS pin Common_0 dihubungkan
dengan always 0, pada CPU, sedangkan pin anoda dihubungkan ke
port-port pada mikrokontroller. Commmon catode digunakan pada
rangkaian yang memerlukan logik 1 pada anoda-nya agar
segmentnya menjadi hidup atau ON.

Anda mungkin juga menyukai