lcd1602.h

来自「基于51的lcd1602数字时钟 可调解时间 自动调节星期」· C头文件 代码 · 共 83 行

H
83
字号
#define uchar unsigned char
#define uint unsigned int
sbit rs=P3^5;
sbit lcden=P3^4;
sbit dula=P2^6;
sbit wela=P2^7;
#define lcd_mode 0x38
#define	display_cursor 0x0f
#define	undisplay_cursor 0x0c
char code int_to_char[]="0123456789";
//********************************************************
void delay(uint x)
{
	uint a,b;
	for(a=x;a>0;a--)
		for(b=10;b>0;b--); 
}
//********************************************************
void write_com(uchar com)	//写命令
{
	P0=com;
	rs=0;
	lcden=0;
	delay(10);
	lcden=1;
	delay(10);
	lcden=0;
	
}
//********************************************************
void write_date(uchar date)	//写数据
{
	P0=date;
	rs=1;
	lcden=0;
	delay(10);
	lcden=1;
	delay(10);
	lcden=0;	
}
//********************************************************
void init_lcd(void)		   //初始化lcd1602
{	
	dula=0;
	wela=0;
     delay(15);
	write_com(lcd_mode);
	delay(20);
	write_com(undisplay_cursor);
	delay(20);
	write_com(0x06); //let cursor move
	delay(20);
	write_com(0x01); //clear lcd
	delay(20);	
}
//********************************************************
void display_string(char *p)   //写字符串
{

	while(*p)
	{
		write_date(*p);
		delay(20);
		p++;		
 	}
 }
//********************************************************
void gotoxy(uchar x,uchar y)
 {
 	if(x==1) 
	   write_com(0x80+y);
	else
	   write_com(0xc0+y); 
 }
//********************************************************
void display_data(uchar number)
{
    uchar x,y;
    x=number/10;
    y=number%10;//y=number-10*x;
    write_date(int_to_char[x]);
    write_date(int_to_char[y]);  
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?