使用普中科技51单片机进行1602液晶显示

/*51单片机学习打卡*/

/*老师视频之后,使用普中科技51单片机开发板实现1602液晶显示*/

#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="I LOVE MCU!";
uchar code table1[]="HI! CHEN SIRAN ";

sbit Lcd1602_en=P2^7;     //使能端,写数据或命令时,必须先置零,完成指令之后,置1.使指令能发出给液晶
sbit Lcd1602_rs=P2^6;     //确定液晶得到的指令,是命令(0)、还是数据(1)
sbit Lcd1602_rw=P2^5;     //对液晶数据的读取,由于不用读取,故设为低电平0
void Initialize();
void Write_Command(uchar command);
void Write_Data(uchar date);
void Delayms(uint xms);

uchar num;
void main()
{
    Initialize();
    for(num=0;num<11;num++)
         {
            Write_Data(table[num]);
            Delayms(5);
        }
    Write_Command(0x80+0x40);
    for(num=0;num<15;num++)
         {
            Write_Data(table1[num]);
            Delayms(5);
        }     

}

void Write_Command(uchar command)  //写指令函数
{
    Lcd1602_rs=0;    //确定为写指令
    P0=command;
    Delayms(5);
    Lcd1602_en=1;     //使能口为1,使液晶能得到命令com,因为初始化时已经置零
    Delayms(5);
    Lcd1602_en=0;     //回归初始状态,等待下一命令的到来

}

void Write_Data(uchar date)  //写数据函数
{
    Lcd1602_rs=1;
    P0=date;
    Delayms(5);
    Lcd1602_en=1;
    Delayms(5);
    Lcd1602_en=0;
}


void Initialize()
{
    Lcd1602_en=0;
    Lcd1602_rw=0;
    Write_Command(0x38);    //设置16*2显示,5*7点阵,8位数据口
    Write_Command(0x0c);     //设置打开显示,且没有光标
    Write_Command(0x06);     //写一个字符后地址加1
    Write_Command(0x01);     //显示清零,数据指针清零
}

void Delayms(uint xms)
{
    uint i;
    uchar j;
    for(i=xms;i>0;i--)
        for(j=110;j>0;j--);

}

 

你可能感兴趣的:(使用普中科技51单片机进行1602液晶显示)