51单片机1602液晶显示移动显示

#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit RS=P2^0;//寄存器选择位
sbit RW=P2^1;//读写选择位
sbit E=P2^2; //使能信号位
sbit BF=P0^7;//忙碌标志位
uchar table1[]={"  HELLOW WORLD"};
/**************
函数功能:延时函数1秒
*******************/
void delaylms()
{
 uchar i,j;
 for(i=0;i<10;i++)
  for(j=0;j<33;j++);
}
/*********
函数功能:延时若干秒***
*******入口参数:n
*****************/
void delay(uchar n)
{
 uchar 	i;
 for(i=0;i<n;i++)
  delaylms();
}
/******
函数功能;判断液晶模块的忙碌状态
返回值:result。result=1,忙碌;result=0,不忙碌**********/
uchar busytest(void)
{
 bit result;
 RS=0;	//RS为低电平RW为高电平,可以读状态
 RW=1;
 E=1;	//E=1允许写
 _nop_();
 _nop_();
 _nop_();
 _nop_();
 result=BF;
 E=0;
 return result;
}
/*********
函数功能:将模式设置指令或显示地址写入液晶模块
入口参数:dictate******************/
void writeinstruction(uchar dictat
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值