📄 lib_66789.c
字号:
/****************************************************************************
** ARM板 通讯主程序(For ads1.2)
** (c) Copyright 2005-2008, sealdong
** All Rights Reserved
**
** V1.00
**
**
**--------------当前版本信息----------------------------------------------------------------------------
** 文件名: lib_66789.c
** 创建人: 董传玺
** 日 期: 2005年8月12日
** 描 述: C语言头文件,定义一些宏和函数
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: sealdong
** 版 本 : V1.00
** 日 期:
** 描 述: hd66789的底层程序
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#include "def.h"
#include "utils.h"
#include "lib_66789.h"
extern void LedDisp(void);
U16 hd66789v6[][2]={
{0x0000,0x0001},//start osc
//power setting
{0x0010,0x0000},{0x0011,0x0000},{0x0012,0x0000},{0x0013,0x0000},
{0x0010,0x4044},{0x0012,0x0008},{0x0010,0x4044},{0x0011,0x0002},
{0x0012,0x0008},{0x0013,0x1313},{0x0012,0x0018},{0x0011,0x0005},//r11 set Vci1out
{0x0012,0x0014},{0x0013,0x291c},{0x0010,0x4340}, // r13 set VcomH&Vcom amp level
//display setting
{0x0001,0x011b},{0x0002,0x0500},{0x0003,0x1230},{0x0004,0x0000},//r05 set frame or line inversion
{0x0005,0x0000},{0x0007,0x1003},{0x0008,0x0808},{0x0009,0x000c},
{0x000b,0x0000},{0x000c,0x0001},{0x0023,0x0000},{0x0024,0x0000},
//r-curve setting
{0x0030,0x0403},{0x0031,0x0803},{0x0032,0x0306},{0x0033,0x0000},
{0x0034,0x0304},{0x0035,0x0502},{0x0036,0x0404},{0x0037,0x0000},
{0x0038,0x140a},{0x0039,0x090e},
//display on setting
{0x0040,0x0000},{0x0041,0x00ef},{0x0042,0xdb00},{0x0043,0xdb00},
{0x0044,0xaf00},{0x0045,0xdb00},{0x0007,0x1025},{0x0007,0x1027},
{0x0007,0x1037},{0x0021,0x0000},{0x0022,0x0000},
{0xffff,0xffff}
};
//*************************************
//函数部分
//*************************************
/*********************************************************************************************************
** 函数名称: writ_command
** 功能描述:
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年8月12日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void writ_command1(unsigned short t_command)
{
LCD_COMMAND1 = t_command;
}
/*********************************************************************************************************
** 函数名称: writ_data
** 功能描述:
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年8月12日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void writ_data1(unsigned short t_data)
{
LCD_DATA1 = t_data;
}
/*********************************************************************************************************
** 函数名称: Init_data
** 功能描述:
** 输 入: tft_commandd,tft_data
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年8月12日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void Init_data1(unsigned int tft_commandd,unsigned int tft_data)
{
writ_command1(tft_commandd);
writ_data1(tft_data);
}
//初始化TFT
/*********************************************************************************************************
** 函数名称: initial_TFT
** 功能描述: 芯片的基本设置//初始化TFT
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年8月12日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void initial_TFT1(void)//hd66789
{
U16 i,Lcommand,Ldata;
for(i=0;i<=0x0ff0;i++){
Lcommand = hd66789v6[i][0];
Ldata = hd66789v6[i][1];
if(Lcommand==0xffff)i=0x0ffc;
else{
Init_data1(Lcommand,Ldata);
}
}
Delay(20);
}
/*********************************************************************************************************
** 函数名称: souxy
** 功能描述: 光标的从新定位
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年8月12日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void souxy1(void)
{
Init_data1(0x0021,0x0000);
writ_command1(0x0022);
}
/*********************************************************************************************************
** 函数名称: tftcolor_RGB
** 功能描述: 写屏为九宫格
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年8月12日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void tftcolor_RGB1(U16 high,U16 width)//176*220
{
unsigned int i,j;
souxy1();
for(i=0;i<(U16)(high/3);i++)
{
for(j=0;j<(U16)(width/3);j++) { writ_data1(Black1); }
for(j=(U16)(width/3);j<(U16)(width*2/3);j++) { writ_data1(Green1); }
for(j=(U16)(width*2/3);j<width;j++) { writ_data1(Blue1); }
}
for(i=(U16)(high/3);i<(U16)(high*2/3);i++)
{
for(j=0;j<(U16)(width/3);j++) { writ_data1(Magenta1); }
for(j=(U16)(width/3);j<(U16)(width*2/3);j++) { writ_data1(White1); }
for(j=(U16)(width*2/3);j<width;j++) { writ_data1(Black1); }
}
for(i=(U16)(high*2/3);i<high;i++)
{
for(j=0;j<(U16)(width/3);j++) { writ_data1(Cyan1); }
for(j=(U16)(width/3);j<(U16)(width*2/3);j++) { writ_data1(Black1); }
for(j=(U16)(width*2/3);j<width;j++) { writ_data1(Red1); }
}
}
/*********************************************************************************************************
** 函数名称: tftcolorbar
** 功能描述:
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年6月25日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void tftcolorbar1(unsigned short high, unsigned short width)
{
U16 i,j;
souxy1();
for(i=0;i<high;i++)
{
for(j=0;j<(U16)(width/8);j++) { writ_data1(Black1); }
for(j=(U16)(width/8);j<(U16)(width/8)*2;j++) { writ_data1(Cyan1); }
for(j=(U16)(width/8)*2;j<(U16)(width/8)*3;j++) { writ_data1(Green1); }
for(j=(U16)(width/8)*3;j<(U16)(width/8)*4;j++) { writ_data1(Blue1); }
for(j=(U16)(width/8)*4;j<(U16)(width/8)*5;j++) { writ_data1(Red1); }
for(j=(U16)(width/8)*5;j<(U16)(width/8)*6;j++) { writ_data1(Magenta1); }
for(j=(U16)(width/8)*6;j<(U16)(width/8)*7;j++) { writ_data1(Yellow1); }
for(j=(U16)(width/8)*7;j<(U16)(width/8)*8;j++) { writ_data1(Gray1); }
}
}
/*********************************************************************************************************
** 函数名称: tftcolor
** 功能描述: 写一种颜色到全屏
** 输 入: color
** 输 出: 无
** 全局变量: High,Width
** 调用模块: writ_data();
**
** 作 者: 董传玺
** 日 期: 2005年8月12日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void tftcolor1(U16 color)
{
unsigned int i,j;
souxy1();
for(i=0;i<High1;i++){
for(j=0;j<Width1;j++){
writ_data1(color);
}
}
}
/*********************************************************************************************************
** 函数名称: testtft_8bit_arry
** 功能描述:
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年8月12日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void testtft_8bit_arry1(unsigned char *photo1)
{
unsigned int i,j;
souxy1();
for(i=0;i<220;i++){
for(j=0;j<176*2;j=j+2){
writ_data1((U16)(photo1[i*176*2+j]<<8)|(U16)photo1[i*176*2+j+1]);
}
}
}
/*********************************************************************************************************
** 函数名称: lcm_UpdateScreen
** 功能描述: 开窗口
** 输 入:
** 输 出: 无
** 全局变量:
** 调用模块: 无
**
** 作 者: 董传玺
** 日 期: 2005年8月12日
**------------------------------------------------------------------------------------------------------
** 修 改:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void lcm_UpdateScreen1(U8 startx, U8 starty, U8 width, U8 height,U16 color1)
{
U16 tmp16;
U8 i,j;
tmp16 = (U16)(startx + width+2 - 1); //0+128+2-1=129
Init_data1(0x0016,(tmp16<<8)|((U16)(startx+2))); //0x8102
tmp16 = (U16)(starty + height - 1); //20+120-1=139
Init_data1(0x0017,(tmp16<<8)|((U16)starty)); //0x8B14
Init_data1(0x0021,(starty<<8)|((U16)(startx+2))); //0x1402
Init_data1(0x0022,0x0000);
for(i=0;i<(height-starty);i++){
for(j=0;j<128;j++){
LCD_DATA1 = color1;
}
}
}
//*******************end*****************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -