51单片机——LCD1602液晶

51单片机——LCD1602液晶

液晶屏上地址编码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
程序中使用:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

程序中使用:
在这里插入图片描述
在这里插入图片描述
程序中使用:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
程序中使用(在主函数中):
在这里插入图片描述
程序流程:
1.定义头文件。
2.定义要使用的函数。
3.定义接口。
4.写判断液晶忙不忙的函数(如果忙,则等待)。
5.写LCD1602命令一个字节的函数。
6.写入一个字节数据的函数。
7.主函数(初始化,和要求,显示)

程序实现:
#include <reg52.h>

typedef unsigned char uchar;
typedef unsigned int uint;

sbit RS = P3^5;
sbit RW = P3^6;
sbit EN = P3^4;

void Read_Busy() //判断液晶忙不忙,如果忙,则等待
{
uchar busy;
P0 = 0xff;
RS = 0;//拉低
RW = 1;
do
{
EN = 1;
busy = P0;
EN = 0;
}
while(busy & 0x80); //判断最高位是否为1,1禁止
}

//写LCD1602命令一个字节
void Write_Cmd(uchar cmd)
{
Read_Busy(); //判断忙不忙,忙则等待,不忙则开始
RS = 0;
RW = 0;
P0 = cmd; //把数据放到数据线上
EN = 1;
EN = 0;
}

//写一个字节数据
void Write_Dat(uchar dat)
{
Read_Busy();
RS = 1;
RW = 0;
P0 = dat; //把数据送到数据线上
EN = 1;
EN = 0;

}

void main()
{
Write_Cmd(0x38); //显示模式设置初始化(设置16*2显示)
Write_Cmd(0x0f); //显示开关和光标设置(开显示)显示光标闪烁

Write_Cmd(0x01);      //清屏

Write_Cmd(0x06);		  //显示地址设置(光标,左右移。。)(地址指针加1)
Write_Cmd(0x80|0x06);      //数据指针设置,显示在哪里  (显示地址)
Write_Dat(1+'0');
Write_Dat(2+'0');
Write_Dat(3+'0');
Write_Dat(4+'0');
Write_Dat(5+'0');	  //输入数据
while(1);

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值