void init(void);
void pass_data(int write_data);
void pass_signal(int write_signal);
void lcd_interface1();
void lcd_interface2();
void control_signal();
void write_data(char data);
void lcd_display(char* strng);
void delay_signal();
void setup() {
// put your setup code here, to run once:
init();
lcd_interface1();
lcd_display(" WELCOME INDIAN ");
lcd_interface2();
lcd_display("ELECTRONICS HUB ");
}
void init(void)
{
volatile char *portf_dir = 0x30;
volatile char *portk_dir = 0x107;
*portf_dir = 0xff;
*portk_dir = 0x03;
}
void pass_data(int write_data)
{
volatile *portf_data = 0x31;
*portf_data = write_data;
}
void pass_signal(int write_signal)
{
volatile *portk_signal = 0x108;
*portk_signal = write_signal;
}
void lcd_interface1()
{
write_data(0x38);
control_signal();
write_data(0x0c);
control_signal();
write_data(0x01);
control_signal();
write_data(0x80);
control_signal();
}
void lcd_interface2()
{
write_data(0xc0);
control_signal();
}
void control_signal()
{
pass_signal(0x00);
delay_signal();
pass_signal(0x02);
delay_signal();
pass_signal(0x00);
delay_signal();
}
void write_data(char data)
{
pass_data(data);
pass_signal(0x01);
delay_signal();
pass_signal(0x03);
delay_signal();
pass_signal(0x01);
delay_signal();
}
void lcd_display(char* strng)
{
while(*strng != 0)
{
write_data(*strng);
strng++;
}
}
void delay_signal()
{
volatile long i;
for(i=0;i<1000;i++);
}
void loop() {
// put your main code here, to run repeatedly:
}