Antarmuka Seven Segment menggunakan Metode Scanning – Seven segmen (7 segmen) adalah komponen elektronika yang merepresentasikan angka numerik. 7 segmen sebenarnya adalah led yang disusun sedemikian rupa membentuk angka dasar 8, yang bisa diatur segmennya sehingga dapat menampilkan digit 0 sampai 9. Seven segment terdapat 2 jenis, yaitu common anoda dan common katoda. Saat ini orang banyak menggunakan program 7segmen menggunakan metode scanning karena dapat menghemat penggunaan port dan sumber daya pada mikrokontroller. Sehingga mikrokontroller tidak dibebani dengan arus berlebih.
![]() |
skematik ekuivalent seven segment |
Skematik Program
![]() |
Skematik rangkaian yang terhubung dengan Mikrokontroller |
Pada skematik proteus diatas 7 segment yang digunakan adalah 7 segment common catoda (cc) dan sebuah transistor NPN sebagai driver. artinya untuk menyalakan setiap segmen maka basis transistor yang terhubung ke PORTB.0, PORTB.1, dan PORTB.2 harus diberi logika high. Setelah itu tinggal mengatur segmen mana yang akan dinyalakan sehingga dapat merepresentasikan angka. Setiap digit Seven Segment terhubung pada PORTC. Baca juga : Pemograman LED menggunakan AVR ATmega
Tabel kebenaran
![]() |
tabel kebenaran common catode |
Tabel dibawah adalah tabel untuk common chatode, bagi yang menggunakan common anode atau common catode dengan konfigurasi yang berbeda silahkan disesuaikan pada listing program dengan mengubah nilainya.
Listing program
Mikroontroller yang digunakan adalah Atmel AVR ATmega 16 dan Software yang digunakan adalah AVR studio 5. bisa juga menggunakan Codevision AVR. Listing programnya adalah sebagai berikut :
Program Scanning biasa
#include // Header Standard AVR
#define F_CPU 12000000UL // Set clock 12Mhz
#include h // Fungsi delay
void main (void) // Program Utama
{
DDRB=0xff; // Set PORTB sebagai OUTPUT
DDRC=0xff; // Set PORTC sebagai OUTPUT
while (1)// Prgram berulangan terus menerus
{
PORTB=0x01; // Set PINB.0 = 1, Mengaktifkan Segmen Satuan
PORTC=0X4F; // Set PORTC = 0x4f, Menampilkan angka 3
_delay_ms(1); // Tunda 1 Milidetik
PORTB=0x00; // Mematikan semua segmen
PORTB=0x02; // Set PINB.1 = 1, Mengaktifkan Segmen Puluhan
PORTC=0X5b; // Set PORTC = 0x5b, Menampilkan angka 2
_delay_ms(1); // Tunda 1 Milidetik
PORTB=0x00; // Mematikan semua segmen
PORTB=0x04; // Set PINB.1 = 1, Mengaktifkan Segmen Ratusan
PORTC=0X508; // Set PORTC = 0x508, Menampilkan angka 1
_delay_ms(1); // Tunda 1 Milidetik
PORTB=0x00; // Mematikan semua segmen
}
}
Pada listing Program diatas Kita akan memprogram 3 digit seven segment sehingga dapat menampilkan angka 123. Logika program ini sederhana, hanya dengan menyalakan Segmen satu persatu namun dengan input digit yang berbeda yaitu angka 1,2 dan 3. Proses menyalakan segmen satu persatu berlangsing sangat cepat (hanya 1 Milidetik). Mata manusia tidak dapat menagkap perubahan seven segmen yang begitu cepat.
Program Scanning Dengan formula
#include // Header Standard AVR
#define F_CPU 12000000UL // Set clock 12Mhz
#include h // Fungsi delay
unsigned char angka[0x3f,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f] // Variabel array untuk // angka 0 sampai 9
void main (void) // Program Utama
{
DDRB=0xff; // Set PORTB sebagai OUTPUT
DDRC=0xff; // Set PORTC sebagai OUTPUT
char a; // membuat Variabel a dengan tipe data Char
int nilai; // membuat Variabel nilai dengan tipe data integer
nilai=123;
while (1)// Program berulangan terus menerus
{
for (a=0; a<6 span="" style="color: maroon;"> 6>a++) // Perulangan 6 kali
{
PORTC=angka[nilai%10]; // Formula Ambil data Satuan (menampilkan Satuan)
PORTB=0x01; // Mengaktifkan digit satuan
delay_ms(1); // Tunda 1 Milidetik
PORTB=0x00; // matikan Segmen
PORTC=angka[nilai%10]; // Formula Ambil data Puluhan (menampilkan Puluhan)
PORTB=0x02; // Mengaktifkan digit puluhan
delay_ms(1); // Tunda 1 Milidetik
PORTB=0x00; // matikan Segmen
PORTC=angka[nilai%10]; // Formula Ambil data Ratusan (menampilkan Ratusan)
PORTB=0x04; // Mengaktifkan digit ratusan
delay_ms(1); // Tunda 1 Milidetik
PORTB=0x00; // matikan Segmen
}
}
}
Program diatas lebih mudah dari program pertama karena untuk mengubah tampilan segment hanya dengan mengubah variabel �Nilai�. Pada Program diatas Nilai di set pada angka 123, sehingga segmen akan menampilkan angka 123. Namun jika nilai diganti angka 400 misalkan, maka digit seven segment akan langsung menyesuaikan.
Penutup
Untuk dapat memprogram sebuah mikrokontroller diperlukan pengetahuan dasar tentang karakteristik komponen elektronika dan dasar pemograman. 2 hal ini adalah �item Wajib� bagi seorang programmer untuk merancang sebuah sistem mikrokontroller. Selain itu latihan terus menerus juga sangat penting untuk meningkatkan logika program kita. Ingat ! Pemograman itu gampang, Logikanya yang susah !. Dengan banyak latihan maka skill logika program kita akan semakin terasah. Semoga bermanfaat !
Originally posted 2018-08-02 15:04:00.
cheapest ventolin online uk ventolin free shipping albuterol inhalers
rate online pharmacies big pharmacy online canadian pharmacy no scripts
ventolin online canada combivent nebulizer ventolin albuterol
provigil price usa how to buy provigil without a prescription where to get provigil online
kamagra oral jelly online usa kamagra oral jelly buy in india kamagra oral jelly thailand price
atarax for ic buy atarax 25mg atarax 10mg uk
zanaflex 4 zanaflex online india tizanidine generic
bactrim generic order pharmacy bactrim generic buy bactrim online canada
tizanidine cost uk tizanidine 4 mg coupon generic zanaflex cost
propecia buy online cheap online pharmacy propecia paypal buy propecia online no rx
Don’t fall for the trap of buying cheap doxycycline online, it’s often a scam.
buy propecia in usa finasteride otc propecia online prescription uk
pharmacy online track order canada pharmacy online legit rx pharmacy coupons
cialis pills online india tadalafil tablets 20 mg buy cialis 80 mg
where can i get vermox where to buy vermox in uk vermox tablets where to buy
atenolol 25 mg price where can i buy atenolol tenormin
lipitor 2018 how much is lipitor discount lipitor price uk
fluoxetine 20 mg for sale fluoxetine 5 mg capsules where to order prozac a prescription
phenergan online canada order phenergan phenergan 25 mg over the counter
hydrochlorothiazide pill hydrochlorothiazide uk hydrochlorothiazide discount
I’ve had some weird dreams since starting Lyrica 150 mg but it’s not a big deal for me.
where to buy fildena 100 fildena 100 mg for sale fildena 100 usa
Howdy! I know this is somewhat off topic but I was wondering if you knew where I could locate a captcha plugin for my comment form? I’m using the same blog platform as yours and I’m having difficulty finding one? Thanks a lot!
Good post. I learn something new and challenging on blogs I stumbleupon on a daily basis. Its always exciting to read content from other authors and use a little something from other web sites.
Thanks for sharing. I read many of your blog posts, cool, your blog is very good. https://www.binance.com/vi/register?ref=WTOZ531Y
Thank you for your shening. I am worried that I lack creative ideas. It is your enticle that makes me full of hope. Thank you. But, I have a question, can you help me? https://www.binance.com/en/register?ref=P9L9FQKY