#include "reg52.h"
#include "intrins.h"
#define databuffer P0
sbit RS=P1^0;
sbit RW=P1^1;
sbit EN=P1^4;
void Delay15ms() //@11.0592MHz
{
unsigned char i, j;
i = 27;
j = 226;
do
{
while (--j);
} while (--i);
}
void Delay5ms() //@11.0592MHz
{
unsigned char i, j;
i = 9;
j = 244;
do
{
while (--j);
} while (--i);
}
void check_busy()
{
char tmp=0x80;
databuffer=0x80;
while(tmp&&0x80){
RS=0;
RW=1;
EN=0;
_nop_();
EN=1;
_nop_();
tmp=databuffer;
_nop_();
EN=0;
_nop_();
}
}
void write_cmd(char cmd)
{
check_busy();
RS=0;//指令寄存器
RW=0;
EN=0;
_nop_();
databuffer=cmd;
_nop_();
EN=1;
_nop_();
EN=0;
_nop_();
}
void write_data(char showdata)
{
check_busy();
RS=1;//数据寄存器
RW=0;
EN=0;
_nop_();
databuffer=showdata;
_nop_();//1us
EN=1;
_nop_();
EN=0;
_nop_();
}
void init_lcd16
C51——LCD1602显示字符串
最新推荐文章于 2024-08-21 09:05:38 发布