Running Text on Seven Segment dengan ATMega


Pesanannya mas endrew minta bikinin running text yang berjalan di seven segment, hahaha secara males mengkodekan huruf yang mau ditulis dalam running text di seven segment mending ngopas angka 0 – 9 buat dirunning. 


Biar terkesan natural, data yang dikeluarkan selain bilangan 0 – 9 juga ada nilai2 kosong didepan dan dibelakang bilangan untuk mematikan tampilan seven segment, jadi terkesannya gerak dari sebelah kanan, kekiri, setelah semua habis baru muncul lagi dari sebelah kanan.

Program running led di seven segment nya kek gini; mangap nek nggak diringkas jadi dikit, lagi males hahahaha

/*****************************************************
This program was produced by the
CodeWizardAVR V2.03.4 Standard
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : running 7 segment
Version :
Date : 20/06/2012
Author : priyo harjiyono
Company : http://anotherorion.com
Comments:
membuat tulisan seven segment berjalan

Chip type : ATmega16
Program type : Application
Clock frequency : 4,001000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/

#include <mega16.h>
#include <delay.h>

// Declare your global variables here



void main(void)
{
// Declare your local variables here
unsigned int geser, tampil, kaki, tunda, tunda1;
unsigned char data[]={0,0,0,0,0,0,0,00x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f,0,0,0,0,0,0,0,0};
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTC=0x00;
DDRC=0xFF;

// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTD=0x00;
DDRD=0xFF;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

while (1)
{
// Place your code here
kaki=1;
for(geser=0;geser<20;geser++) //menggeser nilai seven segment agar maju satu step kedepan
{
for(tunda1=0;tunda1<50;tunda1++) //untuk memberikan tunda agar nilai tidak langsung bergeser
{
for(tampil=0;tampil<8;tampil++) //nilai total 7segment yang dipakai yaitu 8 buah 7segment
{
for(tunda=0;tunda<20;tunda++) //untuk memberikan tunda, menampilkan 8 karakter secara bersamaan
{
PORTD=kaki;
delay_us(5);
if(tampil+geser>20)
{
PORTC=0xff;
}
else
{
PORTC=~data[tampil+geser];
}delay_us(5);
}
kaki=kaki<<1;
if(kaki==0)
{
kaki=1;
//PORTC=0;
}
}
}
}
};
}

Dari program di atas make 4 kali for, yaitu for geser, tunda1, tampil dan tunda. Tunda1 dan tunda digunakan untuk men-delay tampilan seven segment agar tidak terlalu cepat berubah (for tampil) dan tidak terlalu cepat bergeser(for geser), dengan kecepatan perubahan nilai seven segment selama 5 mikro second tentu jika tidak menggunakan variable tunda maka semua seven segment akan terlihat bernilai sama, sementara jika kita tidak menggunakan tunda1 maka tampilan seven segment akan berjalan sangat cepat, kurang nyaman untuk melihat adanya “pergerakan” dari tulisan yang ingin ditampilkan.

Untuk rangkaian skematiknya dapat dilihat pada gambar dibawah

Begitu kira2, klo kurang jelas ya wis hahaha.


DMCA.com Protection Status

running text proteus dengan 7 segmen (4), running text dengan atmega8 (2), membuat running text dengan 7 segment (2), cara membuat LCD teks berjalan 7 segment traffic light dengan ATMEGA 8535 (2), aplikasi penggunaan huruf bergeser seven segmen (2), cara program running led (2), rangkaian tulisan seven segment (2), Membuat tulisan berjalan atmega16 (2), tulisan berjalan menggunakan seven segment (2), rangkaian 7segmen bergeser (1)

Post You May Also Like

Post Author: anotherorion

Priyo Harjiyono, blogger kelahiran Cilacap yang kini menjadi warga Ngayogyakarta Hadiningrat, baginya blog adalah dunia untuk menciptakan mimpi2nya. Saat ini masih disibukkan sebagai pembelajar dalam dunia pendidikan.

5 thoughts on “Running Text on Seven Segment dengan ATMega

    Triono Hidayat

    (November 13, 2014 - 12:39 pm)

    MAAF PAK, TERNYATA BERHASIL SAYA RUNNING….

    Triono Hidayat

    (November 12, 2014 - 11:00 am)

    pak,cara masukin listingan di avrnya gimana???

    Triono Hidayat

    (November 12, 2014 - 9:36 am)

    Itu Komponennya apa aja pak???

    accilong

    (Juni 20, 2012 - 11:59 am)

    sya g ngerti mas pri.
    bahasa alien dari mana itu? :p

      anotherorion

      (Juni 20, 2012 - 12:34 pm)

      alien dari planet resistor chi

Berikan tanggapan anda