1602.c

来自「红外代码」· C语言 代码 · 共 86 行

C
86
字号
#include "1602.h"

void lcd_delay(unsigned char count)
{
   while(count--);
}

void delay()
{
	unsigned char i = 0;
	unsigned char j = 0;
	for(i=0; i<200; i++)
		for(j=0; j<10; j++);
}

void lcd_init()
{
	lcd_writeOrder(0x38);  	//设置显示模式
	lcd_writeOrder(0x0f);	//显示开关
	lcd_writeOrder(0x06);
	lcd_writeOrder(0x01);	//清屏
	delay();
}

void  lcd_writeOrder(unsigned char order)
{
	lcdrs = 0;
	lcdrw = 0;
	lcddata = order;
	lcd_delay(5);
	lcden = 1;
	lcd_delay(10);
	lcden = 0;
}

void lcd_writeData(char date)
{
	lcdrs = 1;
	lcdrw = 0;
	lcddata = date;
	lcd_delay(5);
	lcden = 1;
	lcd_delay(10);
	lcden = 0;
}

/*******************************
*	函数功能:
*	参数:
*	返回值:
********************************/
char lcd_setpos(char x, char y)		
{
	if((x<0) || (x>15))
	{
		return -1;
	}	
	if((y<0) || (y>1))
	{
		return -1;
	}
	if(y == 0)
	{
		lcd_writeOrder(0x80 + x);
	}
	if(y == 1)
	{
		lcd_writeOrder(0x80 + 0x40 + x);
	}
	return 1;
}

char lcd_printf(char *str)
{
   if(*str == '\0')
   {
   		return -1;
   }
   while(*str != '\0')
   {
   		lcd_writeData(*str++);	
   }
   return 1;
}

⌨️ 快捷键说明

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