Modifikasi pada programming perlu dibuat untuk menghasilkan character yang bergerak. Programming projek sebelum ini boleh lihat post saya bertajuk .:Projek PIC-LCD HD44780:.
Modifikasi yang perlu dibuat adalah dengan menambahkan satu lagi funsi/function, function definition adalah seperti berikut :
void lcd_puts(const char * s)
{
LCD_RS = 1;// write characters
int i=0;
while(*s && i <16)
{
lcd_write(*s++);
i++;
}
}
Modifikasi pada function main juga perlu di ubah seperti dibawah :
void main(void)
{
const char s[] =" http://robot-geek.blogspot.com;PENYELIA PROJEK : EN. HISYAMSANI; ";
const char t[] ="PELAJAR:AZHAR;QAYYUM,NAZRI,AFIQ,REBITA & SUNTI";
//lcd_init(); //initialise the LCD
pic_init(); //initialize PIC
lcd_init(); //initialize LCD
char *b;
char *c;
int son=1;
b=&s;
c=&t;
for(;;)
{
lcd_goto(0x40);// select first line
lcd_puts(b);
lcd_puts(c);
lcd_goto(0x00);// Select second line
lcd_puts("<--:ROBO-ROI:-->");
__delay_ms(39);
__delay_ms(39);
__delay_ms(39);
__delay_ms(39);
__delay_ms(39);
__delay_ms(39);
__delay_ms(39);
__delay_ms(39);
__delay_ms(39);
if(*b)
{
*b++; //scrolling to next char
}
else {
if(son)
{
b=&s;
c=&t;
son=0;
}
else
{
b=&t;
c=&s;
son=1;
}
}
lcd_clear();
}
}
Disini ingin saya ingatkan, delay adalah untuk mempercepat atau melambatkan pergerakan character. Semakin banyak delay ditambah semakin perlahan pergerakannya. Selamat mencuba. Display kurang jelas, sebab bateri dah nak habis. Heh....heh..
No comments:
Post a Comment