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 21:04:36 浏览: 829
这段代码是用来控制液晶显示屏的。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; }
这段代码是针对LCD屏幕的控制代码,主要实现的是向LCD屏幕写入命令或数据的功能。下面是程序的设计思路:
1. 函数LCDdelay()实现的是延时功能,参数z表示延时的时间,函数中使用两个for循环来实现延时,其中内层的for循环是为了增加延时的时间精度。
2. 函数LCD_WriteData()实现的是将数据写入LCD屏幕的功能,参数dat表示要写入的数据。函数中使用了8个if语句来逐位判断dat的二进制值,并将对应的数据线D0-D7设置为1或0。
3. 函数write_com()实现的是向LCD屏幕写入命令的功能,参数com表示要写入的命令。函数中先将RS(寄存器选择线)设置为0,然后调用LCD_WriteData()函数将命令写入数据线,接着通过LCDEN(使能线)来触发LCD屏幕执行命令,最后延时一段时间。
4. 函数write_data()实现的是向LCD屏幕写入数据的功能,参数date表示要写入的数据。函数中先将RS设置为1,然后调用LCD_WriteData()函数将数据写入数据线,接着通过LCDEN来触发LCD屏幕接收数据,最后延时一段时间。
总体来说,这段代码实现了对LCD屏幕进行控制的基本功能,包括写入数据和命令,以及控制延时和使能等。这些功能的实现都需要通过数据线和控制线来与LCD屏幕进行通信,因此需要对数据线和控制线进行相应的设置。
阅读全文