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

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

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

#include <reg52.h>
#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--);

}

 

  • 9
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值