#include<reg52.h>
#define uchar unsigned char
sbit lcd_rs=P2^5;
sbit lcd_rw=P2^6;
sbit lcd_en=P2^7;
uchar table[]="welcome!";
uchar table1[]="I LIKE MCU";
uchar num;
void delay(uchar );
void write_com(uchar com);//写指令
void write_dat(uchar dat);//写数据
void init();
void main()
{
    init();
    for(num=0;num<8;num++)
    {
        write_dat(table[num]);
        delay(100);
    }
    delay(500);
    write_com(0x80+0x55);//指针地址
    for(num=0;num<10;num++)
    {
        write_dat(table1[num]);
        delay(100);
    }
    while(1);
}
void init()
{
    lcd_rw=0;
    write_com(0x38);//模式设置
        write_com(0x0f);//光标显示
            write_com(0x07);
                write_com(0x01);//清零
                    write_com(0x80+0x16);
}
void write_com(uchar com)
{
    lcd_rs=0;
    lcd_en=0;
    P0=com;
    delay(5);
    lcd_en=1;
    delay(10);
    lcd_en=0;
}
void write_dat(uchar dat)
{
    lcd_rs=1;
    lcd_en=0;
    P0=dat;
    delay(5);
    lcd_en=1;
    delay(10);
    lcd_en=0;
}
void delay(uchar x)
{
    uchar i,j;
    for(i=x;i>0;i--)
        for(j=0;j<110;j++);
}

proteus仿真1602液晶 - haining2007 - 过往浮云
posted on 2013-03-19 21:10  爱哎唉  阅读(256)  评论(0)    收藏  举报