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

📄 mylcd.c

📁 实现LCD的控制显示等功能
💻 C
字号:
#include "config.h"

/**************************************************
 * Description :            LCD初始化函数
 * Parameters  :                 无
 * Created By  :               Kngboy
 * Created Date:             2007-09-21
 **************************************************/
void LCD_Init(void)
{
	PINSEL1&= ~((3 << 22) | (3 << 24) | (3 << 26) | (3 << 28));
	IO0DIR |= LCD_CS | LCD_DAT | LCD_CLK | LCD_RST;
	
	IO0CLR= LCD_CLK;
	IO0CLR= LCD_RST;
	Delay(1);
	IO0SET= LCD_RST;
	IO0SET= LCD_CS;
}

/**************************************************
 * Description :           向LCD发送时序逻辑
 * Parameters  :          byte - 需要发送的内容
 * Created By  :               Kngboy
 * Created Date:             2007-09-21
 **************************************************/
void LCD_SendByte(uint8 byte)
{
	uint8 i= 0;
	for(i= 0; i< 8; i++)
	{
		(byte & 0x80) ? (IO0SET= LCD_DAT) : (IO0CLR= LCD_DAT);
		byte= byte<< 1;
		
		IO0SET= LCD_CLK;
		Delay(1);
		IO0CLR= LCD_CLK;
	}
}

/**************************************************
 * Description :          向LCD发送命令或数据
 * Parameters  :   data - 命令或数据 isdat - 0.命令 1.数据
 * Created By  :               Kngboy
 * Created Date:             2007-09-21
 **************************************************/
void LCD_SendData(uint8 data, uint8 isdat)
{
	LCD_SendByte(isdat ? 0xFA : 0xF8);
	LCD_SendByte(data & 0xF0);
	LCD_SendByte(data<< 4);
}

/**************************************************
 * Description : 在屏幕上写字符或画图之前的模式切换
 * Parameters  : TEXT - 字符 CLEAR - 清屏 其余 - 画图
 * Created By  :               Kngboy
 * Created Date:             2007-09-21
 **************************************************/
void LCD_SetMode(uint8 mode)
{
	switch(mode) {
		case LCD_MODE_TEXT:
			 LCD_SendData(0x30, 0);
			 LCD_SendData(0x0C, 0);
			 LCD_SendData(0x02, 0);
			 break;
		case LCD_MODE_CLEAR:
			 LCD_SendData(0x30, 0);
			 LCD_SendData(0x01, 0);
			 Delay(1000);
			 break;
		case LCD_MODE_HIDE:
			 LCD_SendData(0x34, 0);
			 break;
		case LCD_MODE_SHOW:
			 LCD_SendData(0x36, 0);
			 break;
	}
}

/**************************************************
 * Description :           在屏幕上写字符
 * Parameters  :  x - 0->7, X轴; y - 0->3, Y轴; *p - 字符
 * Created By  :               Kngboy
 * Created Date:             2007-09-21
 **************************************************/
void LCD_TextOut(uint8 x, uint8 y, char *p)
{
	uint8 i= 0, j= 0;
	while(*p) {
		j= (x+ i)%8;
		switch(y+ (x+ i++)/8)
		{
			case 0:	LCD_SendData(0x80+ j, 0);	break;
			case 1:	LCD_SendData(0x90+ j, 0);	break;
			case 2:	LCD_SendData(0x88+ j, 0);	break;
			case 3:	LCD_SendData(0x98+ j, 0);	break;
		}
		
		LCD_SendData(*p++, 1);
		if(*p)
			LCD_SendData(*p++, 1);
	}
}

/**************************************************
 * Description :            在屏幕上画图
 * Parameters  :                 无
 * Created By  :               Kngboy
 * Created Date:             2007-09-21
 **************************************************/
void LCD_DrawOut(void)
{
	uint8 i= 0, j= 0;
	for(i= 0; i< 64; i++)
		for(j= 0; j< 8; j++) {
			LCD_SendData(0x80+ i%32, 0);
			LCD_SendData(0x80+ j+ i/32*8, 0);
			LCD_SendData(picSJTU[i][j*2], 1);
			LCD_SendData(picSJTU[i][j*2+ 1], 1);
	}
}

uint8 const picSJTU[64][16]= {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0xC7,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x03,0xC7,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x23,0xFF,0xFF,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xE7,0xFF,0xFF,0x9C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xFF,0x00,0x07,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x08,0xFC,0x00,0x00,0xFC,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1D,0xF0,0x00,0x00,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3F,0xC0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1F,0x80,0x03,0x80,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1F,0x00,0x07,0xB0,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1E,0x00,0x37,0xBE,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xBC,0x01,0xE3,0xBE,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xF8,0x07,0x83,0xB7,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0xF0,0x0F,0xEB,0xB3,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xF0,0x07,0xE3,0xB3,0x80,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xE0,0x03,0xC3,0xB1,0xC0,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xE0,0x0F,0xEB,0xB1,0xC0,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x05,0xC0,0x00,0x03,0xB0,0xE0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0xC0,0x0F,0xFB,0xB0,0xE0,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0x80,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0x80,0x00,0x00,0x88,0x20,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x07,0x80,0xFE,0xDF,0xFF,0xFF,0xE7,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0x81,0xFC,0x9F,0xFF,0xFF,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0x81,0xDD,0xBF,0xFF,0xFF,0x83,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x1F,0x81,0xFD,0x3F,0xFF,0xF9,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x1F,0x00,0x03,0x7F,0xFF,0xE3,0x83,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x1F,0x00,0x06,0x01,0xC3,0x02,0x83,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x1F,0x00,0x06,0x7F,0xFE,0x02,0x83,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x07,0x80,0x04,0x30,0x1C,0x03,0x83,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0x80,0x0C,0x10,0xF8,0x01,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0x80,0x18,0x1F,0xF8,0x01,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0x80,0x18,0x30,0x0C,0x01,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0x80,0x30,0x7F,0xFE,0x03,0x87,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0xC0,0x30,0x80,0x03,0x02,0x87,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0xC0,0x61,0xC0,0x07,0x82,0x8F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xC7,0x41,0xFF,0xFF,0x83,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xE7,0xC0,0x00,0x00,0x01,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xE3,0xF7,0xFF,0xFF,0xE0,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0xF1,0xF8,0x00,0x00,0x10,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0xF8,0x79,0xB4,0xB7,0x90,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xF8,0x28,0xB4,0xF6,0x90,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3C,0x08,0xBC,0xF7,0x90,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1E,0x04,0x00,0x00,0x31,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1F,0x07,0xFF,0xFF,0xE3,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3F,0xC0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x1F,0xE0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x09,0xF8,0x00,0x00,0x7C,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xFE,0x00,0x01,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xFF,0xE0,0x1F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xF7,0xFF,0xFF,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x63,0xFF,0xFF,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x03,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x03,0xC7,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x87,0x84,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};

⌨️ 快捷键说明

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