Teori
Dari gambar diatas terlihat bahwa untuk menghidupkan sebuah 7 segment dibutuhkan 8
pin I/O mikrokontroler untuk membentuk suatu angka atau huruf, masing-masing untuk
segment a, segment b, segment c,..., segment f, segment g, dan segment dot. Kalau sebuah
7 segment dihubungkan ke mikrokontroler maka dibutuhkan 8 pin I/O (satu port
mikrokontroler) untuk menyalakan/memadamkan segment. Seandainya dibutuhkan
penampil 7 segment sebanyak 8 buah, maka port mikrokontroler tidak akan mencukupi untuk
8 buah 7 segment. Untuk bisa menggunakan 8 buah 7 segment (atau lebih dari 8 buah)
digunakan cara scanning. Teknik scanning digunakan apabila terdapat minimal 2 buah 7
segment (kalau 7 segment hanya ada satu port maka semua pin a,b,c,d,e,f,g dan dot langsung
dihubungkan ke port mikrokontroler melalui resistor pembatas arus, dengan common anode
dihubungkan ke VCC).
Untuk latihan teknik scanning digunakan 2 buah 7 segment commom anode, dimana
segment a,b,c,...,f,g dan dot dihubungkan ke PB0, PB1, PB2,..,PB5, PB6, PB7. Driver 7
segment pertama dihubungkan ke pin PC0 dan driver 7 segment kedua dihubungkan ke pin
PC1. Driver yang digunakan adalah sebuah transistor yang difungsikan sebagai saklar.
Dari gambar diatas terlihat jelas bahwa pin I/O mikrokontroler yang dibutuhkan sebanyak
8 pin (untuk memudahkan pengiriman data, sebaiknya menggunakan satu port) ditambah 2
pin untuk driver 7 segment (jumlah 7 segment yang digunakan).
Berikut tabel data 7 segment untuk menampilkan angka 0 sampai 9 (dot pada 7 segment
tidak menyala ) :
Tabel 4.1 Data Tampilan Seven Segment
PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0
Angka Hex
dot (g) (f) (e) (d) (c) (b) (a)
1 1 0 0 0 0 0 0 “0” 0xC0
1 1 1 1 1 0 0 1 “1” 0xF9
1 0 1 0 0 0 1 0 “2” 0xA4
1 0 1 1 0 0 0 0 “3” 0xB0
1 0 0 1 1 0 0 1 “4” 0x99
1 0 0 1 0 0 1 0 “5” 0x92
1 0 0 0 0 0 1 0 “6” 0x82
1 1 1 1 1 0 0 0 “7” 0xF8
1 0 0 0 0 0 0 0 “8” 0x80
1 0 0 1 0 0 0 0 “9” 0x90
Jika ingin ditampilkan secara bersamaan, maka harus diatur hidup matinya display secara
bergantian. Walaupun sebenarnya display tersebut mati secara bergantian tapi mata
manusia akan melihat kedua display tersebut hidup secara bersamaan karena delay antara
hidup dan mati sangat singkat.
Langkah Kerja
1. Buatlah program pada CodeVision AVR
2. Ketiklah program pada Editor.c, kemudian simpan.
3. Compile program dengan menekan tombol F9 (Compile) atau melalui menu
Project kemudian pilih Compile.
4. Buatlah rangkaian pada papan proyek modul system mikrokontroler seperti
gambar berikut ini :
5. Selanjutnya buatlah file hex dari proyek yang dibuat yaitu melalui menu Project
kemudian pilih Make atau dengan tombol Shift + F9. Kemudian isikan file hex
tersebut ke modul system mikrokontroler
Tampilan Seven Segment
Untuk tampilan pada seven segment, program dapat dibuat dengan menampilkan data
seven segment.
1. Buatlah program untuk menampilkan angka “53” pada 7 segment
2. Buatlah sebuah program penghitung naik (Down counter) dengan delay satu
detik menggunakan dua buah 7 segment dari “09” s/d “00”
3. Buatlah program dengan menampilkan angka 90 sampai 00 setelah itu kembali dari
00 sampai 90
Contoh program
#include <mega8535.h>
#include <delay.h>
while (1)
{
PORTC=0xFF; //Matikan semua 7 segment
PORTB=0xF9; //Untuk menampilkan angka "1"
PORTC=0xFE; //7 segment pertama nyala
//dan 7 segment kedua mati
delay_ms(15);