コード例 #1
0
ファイル: drv_lcd.c プロジェクト: biglai/STM32F0
//图形显示128*64
void LCDPaintFullScreen (unsigned char *pic)
{
	unsigned char x,y,i;
	unsigned int tmp=0;
	for(i=0;i<9;){		//分两屏,上半屏和下半屏,因为起始地址不同,需要分开
	for(x=0;x<32;x++){				//32行
		WriteCommandLCD(0x36);
		//Delay_us(200);
		WriteCommandLCD((0x80+x));//列地址
		//Delay_us(200);
		WriteCommandLCD((0x80+i));	//行地址,下半屏,即第三行地址0X88 
		//Delay_us(200);
		//WriteCommandLCD(0x30);
		//Delay_us(200);
		for(y=0;y<16;y++)
		 {
			WriteDataLCD(pic[tmp+y]);//读取数据写入LCD
			//Delay_us(200);
		 }
		tmp+=16;		
	}
	i+=8;
	}
	//Delay_us(200);
	//WriteCommandLCD(0x36);	//扩充功能设定
	//Delay_us(200);
	WriteCommandLCD(0x30);
	//Delay_us(200);
}
コード例 #2
0
/* Displays a message on LCD */
void DisplayLCD(char LineNumber,char *Message)
{
	int	a,i;
	if(LineNumber ==1)
	{	//First Line
		WriteCommandLCD(0x80);		//Select the first line
	}
	else
	{	//Second line
		WriteCommandLCD(0xc0);		//Select the second line
	}
	for(a=0;a<16;a++)
	{
		WriteDataLCD(*Message);		//Display a character
		Message++;                  //Increment pointer
	}
	/*
	 while(Message[i] != '\0')
	 {
	    WritrDataLCD(Message[i]);
	    i++;
	 }
	 */
	return;
}
コード例 #3
0
ファイル: drv_lcd.c プロジェクト: biglai/STM32F0
void LCD_Initial(void)
{
 LCD_InitPort();  
 Delay_us(45000);
 //LCD_PSB(1);   //并口方式
 LCD_RST(1);
 Delay_us(100);
 LCD_RST(0);   //液晶复位	低电平有效
 Delay_us(60000);                  
 LCD_RST(1);  	//置高电平等待复位
// Delay_us(10000);   
   
 Delay_us(60000);
 WriteCommandLCD(0x30); //显示模式设置,开始要求每次检测忙信号
 Delay_us(1000);
 WriteCommandLCD(0x30); //显示模式设置,开始要求每次检测忙信号
 Delay_us(1000);
// WriteCommandLCD(0x02); //显示清屏
 WriteCommandLCD(0x01); // 显示开及光标设置
 Delay_us(15000);
 WriteCommandLCD(0x06); // 显示光标移动设置
 Delay_us(10000);
 WriteCommandLCD(0x0C); // 显示开及光标设置
 Delay_us(1000);
 //WriteCommandLCD(0x80); // 显示开及光标设置
}
コード例 #4
0
ファイル: drv_lcd.c プロジェクト: biglai/STM32F0
void LCDClear(void) //清屏
{
  Delay_us(1000);
	WriteCommandLCD(0x01); //显示清屏
  Delay_us(1000);
  WriteCommandLCD(0x34); // 显示光标移动设置
  Delay_us(1000);
	WriteCommandLCD(0x30); // 显示开及光标设置
  Delay_us(1000);
}
コード例 #5
0
/* Initializes LCD */
void InitializeLCD(void)
{
	GPIO_setHigh(myGpio, E);
	LCDDelay1600();
	LCDDelay1600();
	LCDDelay1600();
	LCDDelay1600();

	WriteCommandLCD(0x38);			//Command to select 8 bit interface
	LCDDelay1600();

	WriteCommandLCD(0x38);			//Command to select 8 bit interface
	LCDDelay();				        //Small delay

	WriteCommandLCD(0x38);			//Command to select 8 bit interface
	LCDDelay();


	WriteCommandLCD(0x08);			//Command to off cursor,display off
	WriteCommandLCD(0x01);			//Command to Clear LCD
	LCDDelay1600();
	WriteCommandLCD(0x06);			//Command for setting entry mode

	WriteCommandLCD(0x0f);			//Command to on cursor,blink cursor
	WriteCommandLCD(0x02);			//Command return the cursor to home
	LCDDelay1600();

}
コード例 #6
0
ファイル: 1602.c プロジェクト: whble/smart51car
/********************************************************************************************
**函数名称:		DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
**函数功能:		指定位置写入单个数据
**输入参数:		unsigned char X 为横坐标, unsigned char Y为显示行, unsigned char DData为数据
**输出参数:		none
**返 回 值:		none
**创 建 人:		whble
**创建日期:		2013-7-25
*********************************************************************************************
**修 改 人:
**修改说明:
********************************************************************************************/	
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
{	
 	Y &= 0x1;
 	X &= 0xF; 
	if(Y)
		X |=  0x40;
	X |=  0x80;
	WriteCommandLCD(X, 0); 									//这里不检测忙信号,发送地址码
 	WriteDataLCD(DData);
}
コード例 #7
0
ファイル: 1602.c プロジェクト: whble/smart51car
/********************************************************************************************
**函数名称:		lic_init()
**函数功能:		1602液晶初始化
**输入参数:		none
**输出参数:		none
**返 回 值:		none
**创 建 人:		whble
**创建日期:		2013-7-25
*********************************************************************************************
**修 改 人:
**修改说明:
********************************************************************************************/
void lcd_init()
{
	LCD = 0X00;
	WriteCommandLCD(0x38,0);   								//3次设置显示模式,不检测忙信号
	delay_ms(5);
	WriteCommandLCD(0x38,0);
	delay_ms(5);
	WriteCommandLCD(0x38,0);
	delay_ms(5);
	WriteCommandLCD(0x38,1); 								//显示模式设置,开始要求每次检测忙信号
 	WriteCommandLCD(0x08,1); 								//关闭显示
 	WriteCommandLCD(0x01,1); 								//显示清屏
 	WriteCommandLCD(0x06,1); 								//显示光标移动设置
 	WriteCommandLCD(0x0C,1); 								//显示开及光标设置
		
}
コード例 #8
0
/* Makes cursor invisible */
void CursorOFF(void)
{
	WriteCommandLCD(0x0c);			//Command to switch off cursor
}
コード例 #9
0
/* Makes cursor visible */
void CursorON(void)
{
	WriteCommandLCD(0x0f);			//Command to switch on cursor
}