📄 lib_lcd_320.c
字号:
/*********************************************************************************************************
** ARM板 通讯主程序(For ads1.2)
** (c) Copyright 2005-2008, sealdong
** All Rights Reserved
**
** V1.00
**
**
**--------------当前版本信息----------------------------------------------------------------------------
** 文件名: lib_lcd_320.c
** 创建人: 董传玺
** 日 期: 2005年6月25日
** 描 述: C语言头文件,定义一些宏和函数
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: sealdong
** 版 本 : V1.00
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
//定义QVGA ARM7
// D0---D15====>data0---data15
// /reset =====>nRESET
// /RD =====>/RD
// /WR =====>/WR
// RS =====>A1
// CS ====>S/CS3
////////////////////////////////////////////////////////////////////////////////////
#include "def.h"
#include "utils.h"
//ngcs3
#define LCD_COMMAND (*(volatile unsigned short *) 0x06000000)
#define LCD_DATA (*(volatile unsigned short *) 0x06000002)
#define Black 0x000000 //0x00 00 00 ok
#define Red 0x00003F //0x00 00 3F ok
#define Blue 0x03F000 //0x3f 00 00 ok
#define Green 0x000FC0 //0x00 3f 00 ok
#define Yellow 0x000FFF //0x00 3f 3f ok
#define Magenta 0x03F03F //0x3f 00 3f
#define Cyan 0x03FFC0 //0x3f 3f 00
#define White 0x07ffff //0x03FFFF //0x3f 3f 3f
#define Gray 0x02FBEF //0x2f 2f 2f
/*********************************************************************************************************
** 函数名称: writ_command
** 功能描述:
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年6月25日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void writ_command(unsigned short t_command)
{
LCD_COMMAND = t_command;
}
/*********************************************************************************************************
** 函数名称: writ_data
** 功能描述:
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年6月25日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void writ_data(unsigned short t_data)
{
LCD_DATA = t_data;
}
/*********************************************************************************************************
** 函数名称: Init_data
** 功能描述:
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年6月25日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void Init_data(unsigned int tft_commandd,unsigned int tft_data)
{
writ_command(tft_commandd);
writ_data(tft_data);
}
/*********************************************************************************************************
** 函数名称: initial_TFT
** 功能描述: 初始化TFT
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年6月25日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void initial_TFT(void)
{
//VCI=2.8V
writ_command(0x0301);Delay(1);//R3
writ_command(0x0101);Delay(1);//R1
writ_command(0x0301);Delay(1);//R3
writ_command(0x0008);Delay(1);//R0
writ_command(0x2201);Delay(1);//R34
writ_command(0x0000);Delay(1);//R0
//writ_command(0x0020);Delay(1);//R0
// Initializing Sequence
writ_command(0x0200);//R02
Delay(1);
writ_command(0x0500);//R05
writ_command(0x0d00);//R13
writ_command(0x1000);Delay(1);
writ_command(0x1100);Delay(1);
writ_command(0x1200);Delay(1);
writ_command(0x1300);Delay(1);
writ_command(0x1401);Delay(1);
writ_command(0x153f);Delay(1);
writ_command(0x1600);Delay(1);
writ_command(0x1700);Delay(1);
writ_command(0x1d08);Delay(1);
writ_command(0x2300);Delay(1);
writ_command(0x2d01);Delay(1);
writ_command(0x337f);Delay(1);
writ_command(0x3400);Delay(1);
writ_command(0x3501);Delay(1);
writ_command(0x3700);Delay(1);
writ_command(0x42ef);Delay(1);//0x4200
writ_command(0x4300);Delay(1);
writ_command(0x4400);Delay(1);
writ_command(0x4500);Delay(1);
writ_command(0x46ef);Delay(1);
writ_command(0x4700);Delay(1);
writ_command(0x4800);Delay(1);
writ_command(0x4901);Delay(1);
writ_command(0x4a3f);Delay(1);
writ_command(0x4b00);Delay(1);
writ_command(0x4c00);Delay(1);
writ_command(0x4d00);Delay(1);
writ_command(0x4e00);Delay(1);
writ_command(0x4f00);Delay(1);
writ_command(0x5000);Delay(1);
writ_command(0x7600);Delay(1);
writ_command(0x8600);Delay(1);
writ_command(0x8720);Delay(1);
writ_command(0x8802);Delay(1);
writ_command(0x8903);Delay(1);
writ_command(0x8d40);Delay(1);
writ_command(0x8f05);Delay(1);
writ_command(0x9005);Delay(1);
writ_command(0x9144);Delay(1);
writ_command(0x9244);Delay(1);
writ_command(0x9344);Delay(1);
writ_command(0x9433);Delay(1);
writ_command(0x9505);Delay(1);
writ_command(0x9605);Delay(1);
writ_command(0x9744);Delay(1);
writ_command(0x9844);Delay(1);
writ_command(0x9944);Delay(1);
writ_command(0x9a33);Delay(1);
writ_command(0x9b33);Delay(1);
writ_command(0x9c33);Delay(1);
// Power On Sequence
writ_command(0x280a);//R40 0x280a
Delay(1); writ_command(0x1a0f);//R26
Delay(1); writ_command(0x191c);//R25
Delay(1); writ_command(0x1b0f);//R27
Delay(1); writ_command(0x2110);//R33
Delay(1); writ_command(0x1805);//R24
Delay(1); writ_command(0x1e01);//R30
Delay(1); writ_command(0x1847);//R24
Delay(1); writ_command(0x1867);//R24
Delay(1); writ_command(0x18f7);//R24
Delay(1); writ_command(0x2100);//R33
Delay(1); writ_command(0x2809);//R40
Delay(1); writ_command(0x1a05);//R26
Delay(1); writ_command(0x19e8);//R25
Delay(1); writ_command(0x1f64);//R31 0x1f64=>
Delay(1); writ_command(0x20b0);//R32 0x2070=>0x20bd
Delay(1); writ_command(0x1e81);//R30
Delay(1); writ_command(0x1b0f);//R27
// Delay(1); writ_command(0x0020);//R0
Delay(1); writ_command(0x01a0);//R01 0x0120
Delay(1); writ_command(0x3b01);//R59
Delay(1);
}
//****************************************************
void writ_data_18bit(U32 sum)
{
writ_data((U16)(sum>>2)); writ_data((U16)(sum&0x0003));
}
/*********************************************************************************************************
** 函数名称: tftcolor_RGB
** 功能描述:
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年6月25日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void tftcolor_RGB(void)
{
unsigned int i,j;
writ_command(0x42EF);
writ_command(0x4300);
writ_command(0x4400);
for(i=0;i<100;i++)
{
for(j=0;j<80;j++) { writ_data_18bit(Black);}////ok
for(j=80;j<160;j++) { writ_data_18bit(Green);}////ok
for(j=160;j<240;j++) { writ_data_18bit(Blue);}////ok
}
for(i=100;i<200;i++)
{
for(j=0;j<80;j++) { writ_data_18bit(Magenta);}//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -