Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

// Global variables

char buffer_lcd[]="Selamat datang di Blogger Mohammad Ardi.Berbagi dalam ilmu pe


ngetahuan.Semoga latihan ini bisa memperdalam ilmu pemprograman di codevision av
r.";
// Function prototype
void sett_REGs(void);
void tampilan(void);
// Main routine (super loop)
void main(void){
sett_REGs();
lcd_init(16);
_lcd_ready();
lcd_clear();
for(;;){// Endless loop, podo karo "while(1)"
tampilan();
}
}
// Setting register
void sett_REGs(void){
//Define I/O
DDRA = 0x00;
PORTA = 0x00;
DDRB = 0xFF;
PORTB = 0x00;
DDRC = 0x00;
PORTC = 0x00;
DDRD = 0xFF;
PORTD = 0x00;
}
// Display routine :D
void tampilan(void){
unsigned int i,j,k;
char lcd_number = 16;
unsigned int data_len = strlen(buffer_lcd);
_lcd_ready();
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("Codevision AVR");
for (i=lcd_number; i>=1; --i){
lcd_gotoxy(i,1);
for (j=0; j<(lcd_number-i); j++){
lcd_putchar(buffer_lcd[j]);
}
delay_ms(100);
};
k=0;
for (i=0; i<=data_len; i++){
k++;
lcd_gotoxy(0,1);
for (j=0; j<16; j++){
if (buffer_lcd[j+k] == NULL){
return;
}
lcd_putchar(buffer_lcd[j+k]);
}

delay_ms(100);
};
}

char buffer_lcd[]="RUNNING TEXT ON 2X16 HD44780 LCD.. Coded by: R/0x20 ;//space
required
// belakang sendiri kasih karakter "spasi"/0x20 biar keliatan fadingnya.
unsigned int i,j,k;
unsigned int data_len;
_lcd_ready();
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf(" RUNNING TEXT ");
for (i=lcd_number; i>=0; --i){
if (i > lcd_number)break;
lcd_gotoxy(i,1);
for (j=0; j<(lcd_number-i); j++){
lcd_putchar(buffer_lcd[j]);
}
delay_ms(100); //ubah untuk kecepatan pergeseran text
};
k=0;
for (i=0; i<=data_len; i++){
k++;
lcd_gotoxy(0,1);
for (j=0; j<16; j++){
if (buffer_lcd[j+k] == NULL){
return;

}
lcd_putchar(buffer_lcd[j+k]);
}
delay_ms(100); //ubah untuk kecepatan pergeseran text (samakan sama yang diatas)
};
}

You might also like