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

📄 lcd44780.c

📁 本程序在S3C44B0 uClinux的嵌入式GUI
💻 C
字号:
static void delay(int time){	while(time --);}#define LCD_COMM_ADDR	0x0a000000#define LCD_DATA_ADDR	0x0a000001#ifndef outportb(port, data)#define outportb(port, data)	*((volatile unsigned char *)(port)) = (unsigned char)(data)#endif/*********************************************************	LCD44780(16chars * 1line)  initilization*********************************************************/void LCD44780_Init(void){	//function set	//data length = 8, line = 2, dots = 5x7	outportb(LCD_COMM_ADDR, 0x38);	delay(1000);		//display On/Off control	//display = ON, cursor = OFF, blinking = OFF	outportb(LCD_COMM_ADDR, 0x0c);		delay(1000);		//entry mode set	//cursor moving direction = increment, shift/entire = entire	outportb(LCD_COMM_ADDR, 0x06);	delay(1000);		//cursor or display shift	//cursor moving / display shift = cursor moving, directiong = right	outportb(LCD_COMM_ADDR, 0x1c);	delay(1000);		//clear display	outportb(LCD_COMM_ADDR, 0x01);	//clear screen	delay(100000);		//return home	outportb(LCD_COMM_ADDR, 0x02); //return home	delay(100000);}/*********************************************************	LCD44780(16chars * 1line)  display string*********************************************************/void LCD44780_Display(unsigned char * Asccode){	int i;		//clear display	outportb(LCD_COMM_ADDR, 0x01);	//clear screen	delay(100000);		//return home		outportb(LCD_COMM_ADDR, 0x02);	//return home	delay(100000);		//display data	i = 0;	while(* Asccode != '\0'){		if(i < 8){			outportb(LCD_DATA_ADDR, *Asccode);	//data			delay(1000);		}		else			break;					i ++;		Asccode ++;	}		//set DD ram address, the second 8 chars start address = 0x40	outportb(LCD_COMM_ADDR, 0xc0);	delay(1000);		while(* Asccode != '\0'){		if(i < 16){			outportb(LCD_DATA_ADDR, *Asccode);	//data			delay(1000);		}		else			break;					i ++;		Asccode ++;	}}

⌨️ 快捷键说明

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