Monday 21 September 2015

16X2 LCD (LM016L) Programming in ATMEGA32 (display the message "hello world")



#include <avr/io.h>
#include <util/delay.h>
void cmd(int);
void data(char);
void display(const char*);
int main(void)
{DDRC=0xff;
DDRD=0xff;
cmd(0x38);
cmd(0x01);
cmd(0x80);
cmd(0x0e);
cmd(0x06);

        display("hello world");
        while(1);
}
void cmd(int a)
{
PORTD=a;
PORTC=0x00;
PORTC=0x04;
_delay_ms(200);
PORTC=0x00;

}
void data(char s)
{
PORTD=s;
PORTC=0x01;
PORTC=0x05;
_delay_ms(200);
PORTC=0x01;
}
void display(const char*p)
{
while (*p!='\0')
{
data(*p);
p++;
}
}

No comments:

Post a Comment