void LCD_Initial() //初始化函数. { LcdEn=0; LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵 delay(5); LCD_Write(LCD_COMMAND,0x38); delay(5); LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标 delay(5); LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏 delay(5); LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不动 delay(5); } void GotoXY(unsigned char x, unsigned char y) //液晶字符输入的位置 { if(y==0) LCD_Write(LCD_COMMAND,0x80|x); if(y==1) LCD_Write(LCD_COMMAND,0x80|(x-0x40)); } void Print(unsigned char *str)//将字符输出到液晶显示 { while(*str!='\0') { LCD_Write(LCD_DATA,*str); str++; delay(1); }}
时间: 2023-06-15 14:04:36 浏览: 783
这段代码是用来控制液晶显示屏的。LCD_Initial()函数用于初始化液晶显示屏,设置显示模式和清屏;GotoXY()函数用于将光标移动到指定位置,Print()函数用于将字符串输出到液晶屏幕上。
其中,LCD_Write()函数是用来向液晶屏幕写入数据的,第一个参数是写入数据的类型(命令或数据),第二个参数是写入的具体数据。delay()函数是用来延时的,一些液晶屏幕需要一定的延时才能正确显示。
相关问题
void lcd_init() // Òº¾§³õʼ»¯ { lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); }
这段代码看起来是在初始化 LCD 液晶屏的。具体来说,它通过控制引脚来设置 LCD 的工作模式、显示模式和清空显示内容。更具体地说,这段代码完成了以下操作:
1. 关闭液晶屏幕(lcden=0)
2. 发送命令字节0x38,表示设置工作模式为8位数据总线、2行显示、5x7点阵字符
3. 发送命令字节0x0c,表示设置显示模式为开启显示、关闭光标、不闪烁
4. 发送命令字节0x06,表示设置光标移动方向为向右
5. 发送命令字节0x01,表示清空液晶屏幕显示内容
总的来说,这段代码是在为 LCD 液晶屏做初始化工作,以便后续程序能够正确地向其输出显示内容。
void LCDdelay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=10;y>0;y--); } void LCD_WriteData(u8 dat) { if(dat&0x01)D0=1;else D0=0; if(dat&0x02)D1=1;else D1=0; if(dat&0x04)D2=1;else D2=0; if(dat&0x08)D3=1;else D3=0; if(dat&0x10)D4=1;else D4=0; if(dat&0x20)D5=1;else D5=0; if(dat&0x40)D6=1;else D6=0; if(dat&0x80)D7=1;else D7=0; } void write_com(uchar com) { LCDRS=0; LCD_WriteData(com); LCDdelay(5); LCDEN=1; LCDdelay(5); LCDEN=0; } void write_data(uchar date) { LCDRS=1; LCD_WriteData(date); LCDdelay(5); LCDEN=1; LCDdelay(5); LCDEN=0; }
这是一段8051单片机控制LCD显示屏的代码,通过控制D0~D7等8个引脚的电平状态来传输数据或指令。其中LCD_WriteData函数用于将数据写入8个引脚,write_com函数用于写入指令,write_data函数用于写入数据。LCDdelay函数是一个简单的延时函数,用于等待一段时间使LCD屏幕完成指令或数据的处理。
阅读全文