lcd.c

来自「Automatic Temperature Controlled Fan Wit」· C语言 代码 · 共 99 行

C
99
字号
sbit RS=P0^2;
sbit E=P0^3;
#define LCDPORT P2
	bit  status=0;
	#define lcd_delay 400

void delay(unsigned int j)
{
	unsigned int i=0;
	for(;i<j;i++);
}


void _lcd_init_write(unsigned char a)
{
	RS=0;
	LCDPORT=a;
	E=1;
	delay(lcd_delay);
	E=0;
}





void lcd_com(unsigned char a)
{
	unsigned char temp;
	if(status)
	{
		status=0;
		RS=1;
	}
	else
	RS=0;

		temp=a;
		temp&=0xf0;
		LCDPORT&=0x0f;
		LCDPORT|=temp;

		E=1;
		delay(lcd_delay);
		E=0;
		temp=a<<4;
		temp&=0xf0;
		LCDPORT&=0x0f;
		LCDPORT|=temp;
		E=1;
		delay(lcd_delay);
		E=0;
}

void lcd_data(unsigned char a)
{
	status=1;
	RS=1;
	lcd_com(a);
}



void lcd_init(void)
{
	delay(lcd_delay);
	_lcd_init_write(0x30);
	delay(lcd_delay);
	_lcd_init_write(0x30);
	delay(lcd_delay);
	_lcd_init_write(0x30);
	delay(lcd_delay);
	_lcd_init_write(0x20);
	delay(lcd_delay);
	lcd_com(0x28);
	delay(lcd_delay);
	lcd_com(4);
	delay(lcd_delay);
	lcd_com(0x85);
	delay(lcd_delay);
	lcd_com(6);
	delay(lcd_delay);
	lcd_com(1);
	delay(lcd_delay);
}


void lcd_puts(char *aaa)
{
	unsigned int i=0;
	for(;aaa[i]!=0;i++)lcd_data(aaa[i]);
}

void lcd_putc(char Data)
{
	lcd_data(Data);
}

⌨️ 快捷键说明

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