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

📄 ili9320.c

📁 这套代码已经成功一直到S3C44B0X开发板上
💻 C
字号:
//==================================================================
//文件: ili9320.c                         
//修改: 李光祥 chenfengmcu@126.com
//日期: 2008/10/9
//描述: 
//
//版本历史记录  V1.0  
//==================================================================
#include "44b.h"
#include "ili9320.h"
#include "TargetLib.h"
#include "LCD.h"
#include "os_cpu.h"
//------------------------------------------------------------------
// 函数名  : void LCD_Delay(INT32U time)
// 输入    : 延时time*100us
// 输出    : Null
// 全局变量: Null
// 功能描述: 延时
//------------------------------------------------------------------
void LCD_Delay(INT32U time)
{
    Delay(time);
}
//------------------------------------------------------------------
// 函数名  : void LCD_SetReg(INT8U addr,INT16U dat)
// 输入    : addr :寄存器地址 dat :写入的数据
// 输出    : Null
// 全局变量: Null
// 功能描述: 设寄存器值
//------------------------------------------------------------------
void LCD_SetReg(INT8U addr,INT16U dat)
{
    LCD_REG	 =addr;
	LCD_DAT  =dat;
}
//------------------------------------------------------------------
// 函数名  : INT16U LCD_GetReg(INT8U addr)
// 输入    : addr :寄存器地址 
// 输出    : 寄存器内容
// 全局变量: Null
// 功能描述: 获得寄存器值
//------------------------------------------------------------------
INT16U LCD_GetReg(INT8U addr)
{
    LCD_REG	=addr;
	return LCD_DAT;
}
//------------------------------------------------------------------
// 函数名  : void LCD_Init(void)
// 输入    : Null
// 输出    : Null
// 全局变量: Null
// 功能描述: 初始化LCD
//------------------------------------------------------------------
void LCD_Init9320(void)
{	
    LCD_RESET_H;             
    LCD_Delay(1);
    LCD_RESET_L;
    LCD_Delay(15);  //>1ms
    LCD_RESET_H;
    LCD_Delay(150); //>10ms
    
    LCD_SetReg(0xE5,0x8000);
    LCD_SetReg(0x00,0x0001);
    LCD_SetReg(0x2B,0x0010);
    LCD_SetReg(0x01,0x0100);
	LCD_SetReg(0x02,0x0700);	
	LCD_SetReg(0x03,0x1230);
	LCD_SetReg(0x04,0x0000);
	LCD_SetReg(0x08,0x0202);	
	LCD_SetReg(0x09,0x0000);	
	LCD_SetReg(0x0A,0x0000);  
	LCD_SetReg(0x0C,0x0000);	
	LCD_SetReg(0x0D,0x0000);	
	LCD_SetReg(0x0F,0x0000); 	
	LCD_SetReg(0x50,0x0000);		
	LCD_SetReg(0x51,0x00EF);	
	LCD_SetReg(0x52,0x0000);		
	LCD_SetReg(0x53,0x013F);	
	LCD_SetReg(0x60,0x2700);	
	LCD_SetReg(0x61,0x0001);
	LCD_SetReg(0x6A,0x0000);	
	LCD_SetReg(0x80,0x0000);	
	LCD_SetReg(0x81,0x0000);	
	LCD_SetReg(0x82,0x0000);	
	LCD_SetReg(0x83,0x0000);	
	LCD_SetReg(0x84,0x0000);	
	LCD_SetReg(0x85,0x0000);	
	LCD_SetReg(0x90,0x0010);	
	LCD_SetReg(0x92,0x0000);	
	LCD_SetReg(0x93,0x0003);	
	LCD_SetReg(0x95,0x0110);	
	LCD_SetReg(0x97,0x0000);	
	LCD_SetReg(0x98,0x0000);
	
	LCD_SetReg(0x10,0x0000);
	LCD_SetReg(0x11,0x0000);
	LCD_SetReg(0x12,0x0000);
	LCD_SetReg(0x13,0x0000);
	LCD_Delay(2000); //>200ms
	LCD_SetReg(0x10,0x17B0);
	LCD_SetReg(0x11,0x0004);
	LCD_Delay(550); //>50ms
	LCD_SetReg(0x12,0x013E);
	LCD_Delay(550); //>50ms
	LCD_SetReg(0x13,0x1F00);
	LCD_SetReg(0x29,0x000F);
	LCD_Delay(550); //>50ms	
	LCD_SetReg(0x20,0x0000);
	LCD_SetReg(0x21,0x0000);
	
	LCD_SetReg(0x30,0x0204);	
	LCD_SetReg(0x31,0x0001);	
	LCD_SetReg(0x32,0x0000); 	
	LCD_SetReg(0x35,0x0206);		
	LCD_SetReg(0x36,0x0600);	
	LCD_SetReg(0x37,0x0500);		
	LCD_SetReg(0x38,0x0505);	
	LCD_SetReg(0x39,0x0407);
	LCD_SetReg(0x3C,0x0500);	
	LCD_SetReg(0x3D,0x0503);
	
	LCD_SetReg(0x07,0x0173);
}
//------------------------------------------------------------------
// 函数名  : void LCD_SetPoint(INT16U x,INT16U y,INT16U color)
// 输入    : x,y 坐标  color 色值
// 输出    : Null
// 全局变量: Null
// 功能描述: 设置点
//------------------------------------------------------------------
void LCD_SetPoint(INT16U x,INT16U y,INT16U color)
{
   	LCD_REG		=0x20;
	LCD_DAT	    =x;
	LCD_REG		=0x21;
	LCD_DAT	    =y;
	LCD_REG		=0x22;
	LCD_DAT	    =color;
}
//------------------------------------------------------------------
// 函数名  : INT16U LCD_GetPoint(INT16U x,INT16U y)
// 输入    : x,y 坐标  
// 输出    : 色值
// 全局变量: Null
// 功能描述: 得到点
//------------------------------------------------------------------
INT16U LCD_GetPoint(INT16U x,INT16U y)
{
   	LCD_REG		=0x20;
	LCD_DAT	    =x;
	LCD_REG		=0x21;
	LCD_DAT	    =y;
	LCD_REG		=0x22;
	return      LCD_REG;
}
//==================================================================

⌨️ 快捷键说明

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