display.c

来自「基于51单片机的LIN主节点的设计」· C语言 代码 · 共 72 行

C
72
字号

#include <display.h>
 sbit P2_0=P2^0;
 sbit P2_1=P2^1;
 sbit P2_2=P2^2;	
char code int2charLCD[]="0123456789ABCDEF";
	
void write_LCD_command(unsigned command)
{
	rw=WRITE;
	rs=COMMAND;
	enable=ENABLE;
	P0=command;
	delay100us(20);
	enable=DISABLE;
	rw=1;
}
void write_LCD_data(unsigned LCDdata)
{
	rw=WRITE;
	rs=DATA;
	enable=ENABLE;
	P0=LCDdata;
	delay100us(20);
	enable=DISABLE;
	rw=1;
}
void init_LCD(void)
{
	write_LCD_command(TwoLine_8bit);// 0x38  	
	write_LCD_command(CURSOR_OFF);	// 0x0C
	write_LCD_command(CURSOR_RIGHT);// 0x06
}
void clear_LCD()
{
	write_LCD_command(CLEAR);	
	write_LCD_command(CURSOR_HOME);	
}
void display_LCD_string(char *p)
{
	while(*p)
	{
		write_LCD_data(*p);
		p++;
	}
}
void display_LCD_number(char number)
{
	unsigned char x,y;
	x=number&0x0f;//低四位
	y=(number>>4)&0x0f;	//高四位
	write_LCD_data(int2charLCD[y]);
	write_LCD_data(int2charLCD[x]);
}
void gotoxy(unsigned x,unsigned y)
{
	if(x==1)  
		write_LCD_command(GOTO_LINE_1+y);
	else
    	write_LCD_command(GOTO_LINE_2+y);
}

void delay100us(unsigned int i)
{
/*#pragma asm
more:	mov		R3,#48
		djnz	R3,$
		djnz	R7,more
#pragma endasm*/
//uchar i=50;
while(i--);
}

⌨️ 快捷键说明

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