51单片机与LCD1602接口电路与程序

51单片机与LCD1602接口电路与程序

一、工作方式:间接工作方式。

二、实现功能:显示“Hope the epidemic will pass soon”。

三、仿真电路图:
在这里插入图片描述

四、程序源码:
#include<reg52.h>

#define LCD1602_DB P0
sbit LCD1602_RS=P1^0;
sbit LCD1602_RW=P1^1;
sbit LCD1602_E=P1^5;

void InitLcd1602();
void LcdWriteCmd(unsigned char cmd);
void LcdWaitReady();
void LcdShowStr(unsigned char x,unsigned char y,unsigned char *str);
void LcdWriteDat(unsigned char dat);
void LcdSetCursor(unsigned char x,unsigned char y);

void main()
{
unsigned char str[]=“Hope the eqidemic”;//显示的字符串

InitLcd1602();//液晶初始化
LcdShowStr(0,0,str);//第一行显示
LcdShowStr(1,1,“will pass soon”);//第二行显示
while(1);
}

void InitLcd1602()//初始化函数
{
LcdWriteCmd(0x38);//显示模式设置
LcdWriteCmd(0x0c);//开显示,不显示光标
LcdWriteCmd(0x06);//指针加一,整屏不移动
LcdWriteCmd(0x01);//指针清零,显示清零
}

void LcdWriteCmd(unsigned char cmd)//写入函数
{
LcdWaitReady();//忙位检测
//写指令
LCD1602_RS=0;
LCD1602_RW=0;
LCD1602_DB=cmd;
LCD1602_E=1;
LCD1602_E=0;
}

void LcdWaitReady()
{
unsigned char sta;

//读状态
LCD1602_DB=0XFF;
LCD1602_RS=0;
LCD1602_RW=1;
do{
LCD1602_E=1;
sta=LCD1602_DB;
LCD1602_E=0;//拉低使能引脚
}while(sta&0x80);//判断sta最高位是否为0
}

void LcdShowStr(unsigned char x,unsigned char y,unsigned char *str)//显示函数
{
LcdSetCursor(x,y);
while(*str!=’\0’)
{
LcdWriteDat(*str++);
}
}

void LcdWriteDat(unsigned char dat)
{
LcdWaitReady();
//写数据
LCD1602_RS=1;
LCD1602_RW=0;
LCD1602_DB=dat;
LCD1602_E=1;
LCD1602_E=0;
}

void LcdSetCursor(unsigned char x,unsigned char y)//字符显示函数
{
unsigned char addr;
if(y==0)
addr=0x00+x;
else
addr=0x40+x;
LcdWriteCmd(addr|0x80);
}

五、遇到的问题:

1、Proteus 8中网络标号怎么添加?(两个元器件之间不画线,可以通过引脚的网络标号来连接)

(1) 首先,将一个引脚引出较短的引线,再在下一个引脚处双击,则该引脚上会自动画出相同的引线。
在这里插入图片描述

(2)点击工具栏左侧的‘LBL’选项,然后再按‘a’键,会弹出对话框。(若按不出来,试换成大写)

‘LBL’的选项位置:
在这里插入图片描述

弹出的对话框:
在这里插入图片描述

(3)将String中的内容改为:net=××#(例:net=P0#),其中‘#’表示变化的内容,count代表初始值,increment代表增量。
在这里插入图片描述

(4)将鼠标移到要添加标签的 引脚处,等鼠标变成小手,且旁边出现方框时单击左键,标号添加成功。

单击左键时图片:
在这里插入图片描述

添加后的图片:
在这里插入图片描述

2、复制keil4中的程序到word时,注释出现乱码?

解决方法:

(1)在菜单栏中选择‘Edit’选项。
在这里插入图片描述

(2)在’Edit’选项下拉菜单中点击’Configuration’选项。
在这里插入图片描述

(3)在’Configuration’选项对话框中有ENCODING复选框,在里面设置Chinese GB231,点击OK。
在这里插入图片描述

  • 5
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值