1、时序图
2、代码
3、自界说字符
时序图
代码:
#include
#include
sbit RS = P2^4; //界说端口
sbit RW = P2^5;
sbit EN = P2^6;
void Delayus(unsigned char t) // us等级延时
{
while(–t);
}
void Delayms(unsigned char t)// ms等级延时
{
while(t–)
{
//大致延时1mS
Delayus(245);
Delayus(245);
}
}
bit m_1602() //判别1602是否忙
{
P0 = 0xFF; //预备读取
RS = 0;
RW = 1;
EN = 0;
_nop_();
EN = 1; //发生高电平
return (bit)(P0 & 0x80);
}
void x_1602(bit i,unsigned char j) //参数一是写(0、写指令 1、写数据),参数二是写入的8位数据
{
while(m_1602())
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
RS = i;
RW = 0;
EN = 1;
P0 = j;
_nop_();
EN = 0; //发生下降沿
}
void qp_1602() //清屏函数
{
x_1602(0,0×01); //第一个参数是:写入的类型(0、写指令 1、写数据),第一个参数是:写入的数据
Delayms(5);
}