⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_1602_guang.h

📁 单片机通信程序
💻 H
字号:
#ifndef LCD_1602_GUANGDIAN
#define LCD_1602_GUANGDIAN

xdata unsigned char CW _at_ 0xf9fc;	   	    //液晶控制地址
xdata unsigned char CR _at_ 0xf9fe;
xdata unsigned char DW _at_ 0xf9fd;
xdata unsigned char DR _at_ 0xf9ff;
//unsigned char code dis1[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xa0,0x7f,0x2e,0x21,0x3c,0x3e,0x2b,0x2d,0x2a,0x2f,'n'};
//unsigned char code dis2[] = {'0','1','2','3','4','5','6','7','8','9',' ',0x7f,'.','^',0x3c,0x3e,'+','-','*','/','N'};
//unsigned char code dis3[] = {"well"};

//unsigned char count=1;
 

//unsigned char key;				  	        //按键值变量

bit flag;								    //标志位
//-----------------------------------------------
void delay(unsigned int i)                  //延时
{     
	    while(i--);
}
//-----------------------------------------------
unsigned char lc_read(void)				    //读液晶命令
{
	unsigned char a;
	delay(100);
	a=CR;
	return(a);
}
//-----------------------------------------------
void readbf(void)					     	//读液晶忙
{ 
	while(flag)
	{
		flag=(bit)(lc_read()&0x80);
	}
}
//-----------------------------------------------
void lc_write(unsigned char a)		    	//写液晶命令
{
	delay(20);
	CW=a;
	delay(20);
}
//-----------------------------------------------
void ld_write(unsigned char a)		    	//写液晶数据
{
	delay(20);
	DW=a;
	delay(20);
}
//-----------------------------------------------
void inttilcs(void)					    	//液晶初始化
{
	readbf();
	lc_write(0x38);
	delay(500);
	readbf();
	lc_write(0x01);
	readbf();
	delay(500);
	lc_write(0x0c);
	readbf();
	delay(500);
	lc_write(0x06);
	delay(500);
}
//-----------------------------------------------


void lc_pos(unsigned char posx,unsigned char posy)				//设定显示位置  
{  posx=posx&0xf;
   posy=posy&0x1;                        
   lc_write(posx|posy*0x40+0x80);                      //数据指针=80+地址变量
}
//-------------------------------------------------
void display_char(unsigned char x,unsigned char y,unsigned char ch)                         //屏幕显示
{	 readbf();
     lc_pos(x,y);
     ld_write(ch);
    	 
}


 void lcdclear(void)    //清屏
{    readbf();
     lc_write(0x01);
}
//--------------------------------------
void display_string(unsigned char x,unsigned char y,unsigned char  *string)
                                                                    //在指定点起显示一个字符串
{unsigned length;
    length=0;
	 readbf();
     while(string[length]!='\0')
    {display_char(x,y,string[length++]);
     x++;
    }
}
#endif

⌨️ 快捷键说明

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