1. PEMROGRAMAN MICROKONTROLLER
OUTPUT DISPLAY 7 SEGMENT
1. TUJUAN
Mahasiswa memahami rangkaian interface mikrokontroller dengan 7
segmen
Mahasiswa memahami beberapa instruksi assembly dasar, yaan
dengan pemrograman output display 7 segment
Mahasiswa dapat memahami program assembly untuk menampilkan
data ke 7 segment
2. TEORI DASAR
2.1 Rangkaian interface display 7 segment
2. Bagian Rangkaian output display 7 segment
Rangkaian decoder
Tabel kebenaran 74LS139
B A 1Y0 / Q0 1Y1/Q1 1Y2/Q2 1Y3/Q3
0 0 0 1 1 1
0 1 1 0 1 1
1 0 1 1 0 1
1 1 1 1 1 0
Pada tabel kebenaran tersebut tampak bahwa seven segmen yang hidup
tergantung pada output dari dekoder 74LS139, yang sedang mengeluarkan
logika low ”0”, sehingga dari 4 buah display tersebut, selalu hanya satu
display yang akan dihidupkan. Agar display tampak nyala secara
bersamaan maka ketiga display tersebut harus dihidupkan secara
bergantian dengan waktu tunda tertentu.Pada gambar tersebut seven
segment commont anoda dikendalikan dengan menggunakan transistor
3. PNP melalui decoder 74LS139, apabila ada logika low pada basis
transistor, maka 7 segment akan nyala dan sebaliknya akan padam.
Display 7 segment
Hubungan Display ke port ( P1 )
Apabila P1.0 = 0 maka display a aktif
Apabila P1.1 = 0 maka display b aktif
Apabila P1.2 = 0 maka display c aktif
Apabila P1.6 = 0 maka display g aktif
4. Tampilan ke display 7 segment
Display h g f e d c b a Data
0 0 1 0 0 0 0 0 0 40
1 0 1 1 1 1 0 0 1 79
2 0 0 1 0 0 1 0 0 24
3 0 0 1 1 0 0 0 0 30
4 0 0 0 1 1 0 0 1 19
5 0 0 0 1 0 0 1 0 12
6 0 0 0 0 0 0 1 0 02
7 0 1 1 1 1 0 0 0 78
8 0 0 0 0 0 0 0 0 00
9 0 0 0 1 0 0 0 0 10
A 0 0 0 0 1 0 0 0 08
b 0 0 0 0 0 0 1 1 03
C 0 1 0 0 0 1 1 0 46
d 0 0 1 0 0 0 0 1 21
E 0 0 0 0 0 1 1 0 06
F 0 0 0 0 1 1 1 0 0E
Pada tabel tersebut tampak bahwa untuk menghidupkan sebuah segmen, harus
dikirimkan data logika low ”0” dan sebaliknya untuk mematikan segmen, harus
dikirimkan data logika high ”1”.
Deoder
P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 D3 D2 D1 D0 DATA
0 0 0 0 0 0 0 0 OFF OFF OFF ON 00
5. 0 0 0 0 1 0 0 0 OFF OFF ON OFF 08
0 0 0 1 0 0 0 0 OFF ON OFF OFF 10
0 0 0 1 1 0 0 0 ON OFF OFF OFF 18
Output display 7 segment
Tabel Data Display 7 Segmen
P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 Display
g f e d c b a
1 0 0 0 0 0 0 0
1 1 1 1 0 0 1 1
6. 0 1 0 0 1 0 0 2
0 1 1 0 0 0 0 3
: : : : : : : :
0 0 0 1 0 0 0 A
0 0 0 0 0 1 1 b
3. MATERI PRATIKUM
PROGRAM
Data register output display D0 ( huruf b )
Org 0h
Loop:
Mov p3,#00h
Mov p1,#03h
Sjmp loop
Data register output display D1 ( huruf A )
Org 0h
Loop:
Mov p3,#08h
Mov p1,#08h
Sjmp loop
Data register output display D2 ( huruf A )
Org 0h
Loop:
Mov p3,#10h
Mov p1,#08h
7. Sjmp loop
Data register output display D3 (angka 1 )
Org 0h
Loop:
Mov p3,#18h
Mov p1,#79h
Sjmp loop
Tugas
Buatlah program untuk menampilkan
Huruf b pada D3
Huruf A pada D2
Huruf b pada D1
Angka 1 pada D0
Program
Org 0h
Loop:
Mov p3,#18h
Mov p1,#03h
call delay
Mov p3,#10h
Mov p1,#08h
call delay
Mov p3,#08h
Mov p1,#03h
call delay
Mov p3,#00h
Mov p1,#79h
call delay
sjmp loop
delay:
mov r7,#10h
tunda: mov r6,#10h
djnz r6,$
8. djnz r7,tunda
ret
Hasil Tampilan
TUGAS LANJUTAN
Buatlah program untuk menampilkan angka 0 sampai 9
disiplay ( up-counter )
Buatlah program untuk menampilkan angka 9 sampai 0
disiplay ( Down -counter )