#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
51单片机1602液晶显示移动显示
最新推荐文章于 2023-12-21 11:40:34 发布