/**********************************************************
PROGRAM: 3.2"TFT_ILI9320.C
DESCRIPTION: a-Si TFT LCD Single Chip Driver
PANEL: 3.2"TFT
Driver IC: ILI9320
DOT SIZE: 240RGBx320
PCB BOARD: MSP430F5438 BOARD
INTERFACE: 80/16BIT -> P1: DB15-DB8 / P0: DB7-DB0
Test MCU: MSP430F5438
Oscillator 25MHz
WRITE BY: ROCKCHIP Co.,LTD
Test&Edit By: 王鹏杰
Latest DATE: 2009.7.12
程序日志:2009.2.22 采用两片74HC595串入并出移位寄存器级联驱动ILI9320 16位数据总线
2009.2.28 加入了汉字字库,任意位置显示单个汉字及字符串。
2009.3.4 加入了触摸屏测试程序。
2009.3.28 加入了画矩形程序 和 24x24中文字库。
2009.7.12 加入了 16x24英文字库。
***********************************************************/
/*********************头文件及定义*************************/
#include "msp430x54x.h"
#include "ascii_Lib.h"
#include "chinese_font_16x16.h"
#include "chinese_font_24x24.h"
#include "palette_scale.h"
#include "sn74hc595.h"
#include "TFT_config.h"
#include "photo.h"
//#include "photo_2.h"
/*****************数组声明*********************************/
unsigned char const map[];
unsigned char const num[];
unsigned char const palette[];
unsigned char const Red[];
unsigned char const Green[];
unsigned char const Blue[];
unsigned char const White[];
unsigned char const AsciiLib[];//ASCII字库
//unsigned char const photo[];
unsigned char read_flag=0,temp,Touch_buf[4]={0};
#define INBUF_LEN 4 //数据长度
unsigned char inbuf1[INBUF_LEN];
unsigned char checksum,count3;
unsigned int X_temp0,X_temp1,X_data;
unsigned int Y_temp0,Y_temp1,Y_data;
//------------------------------------------------------------------------------
/*********************************函数声明*************************************/
void DelayX1ms(unsigned long int t);//1ms延时函数
void delay_us(unsigned int t);//1us延时函数
void Init_sys(void);//系统端口初始化函数
void int_clk(void);//系统时钟初始化函数
void write_command(unsigned char addr1,unsigned char addr2);//写命令
void write_para(unsigned char para1,unsigned char para2);//写命令值
void write_data(unsigned char data_1,unsigned char data_2);//写数据
void INIT(void);//液晶屏初始化
void display_rgbw_16bit(unsigned char data1,unsigned char data2);//显示单色(65K色)
void display_rgbw_18bit(unsigned char data1,unsigned char data2,unsigned char data3);//显示单色(262K色)
void display_gray_scale_16bit(void);//显示灰阶(65K色)
void display_row_colorbar(void);//显示横条纹(65K色)
void display_col_colorbar(void);//显示竖条纹(65K色)
void Set_ramaddr(unsigned char x,unsigned int y);//设置地址
void display_ascii_16bit(unsigned char x, unsigned int y, char *pAscii,
unsigned char word_color,unsigned char back_color); //显示ASCII码
void display_ascii_16x24bit(unsigned char x, unsigned int y, char *pAscii,
unsigned char word_color,unsigned char back_color);
void display_one_hanzi_16bit(unsigned int x, unsigned int y, const unsigned char *pHz,
unsigned int word_color,unsigned int back_color);//显示一个汉字
unsigned int FindHanzi(unsigned char low,unsigned char high);//在字库中查找汉字
unsigned char display_string_hanzi_16bit(unsigned int x, unsigned int y, const unsigned char *pHz,
unsigned int word_color,unsigned int back_color);//显示汉字
//------------------------------------------------------------------------------------------------
unsigned int FindHanzi_24x24(unsigned char low,unsigned char high);//在字库中查找汉字
unsigned char display_string_hanzi_16bit_24x24(unsigned int x, unsigned int y, const unsigned char *pHz,
unsigned int word_color,unsigned int back_color);//显示汉字
//------------------------------------------------------------------------------------------------
void display_FlashPhoto_16bit(unsigned int startX, unsigned int startY, unsigned char *pic,
unsigned int sizeX, unsigned int sizeY);//显示图片
void display_shuzi(unsigned int x, unsigned int y, unsigned char shuzi,
unsigned int word_color,unsigned int back_color);//显示数字变量
void display_square_16bit (unsigned char x,unsigned int y,unsigned char length,unsigned int high,
unsigned int word_color);//绘制矩形框
char test[]={'A','B','C'};
/***********************************主函数*************************************/
void main(void)
{
unsigned char i;
unsigned char aX,bX,cX,dX,aY,bY,cY,dY;
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
int_clk();
Init_sys();
INIT();
display_rgbw_16bit(0x00,0x00);//显示单色(65K色)-BLACK
display_rgbw_16bit(0xff,0xff);//显示单色(65K色)-WHILE
display_string_hanzi_16bit(80,0,"触摸屏测试",1,7);
//display_ascii_16x24bit(10,100, "Hello12345!",1,7);
//display_ascii_16x24bit(10,124, "My name:WPJ",1,7);
display_FlashPhoto_16bit(20,101,(unsigned char*)XP_photo,200,118);//显示WindowsXP徽标
display_string_hanzi_16bit_24x24(72,273,"鹏杰科技",3,7);
display_square_16bit (0,250,240,70,1);//绘制矩形框
while(1)
{
/*
display_rgbw_16bit(0xf8,0x00);//显示单色(65K色)-RED
//display_rgbw_18bit(0x03,0xf0,0x00);//显示单色(262K色)-RED
DelayX1ms(1000);
display_rgbw_16bit(0x07,0xe0);//显示单色(65K色)-GREEN
//display_rgbw_18bit(0x00,0x0f,0xc0);//显示单色(262K色)-GREEN
DelayX1ms(1000);
display_rgbw_16bit(0x00,0x1f);//显示单色(65K色)-BLUE
//display_rgbw_18bit(0x00,0x00,0x3f);//显示单色(262K色)-BLUE
DelayX1ms(1000);
display_rgbw_16bit(0xff,0xff);//显示单色(65K色)-WHILE
//display_rgbw_18bit(0x03,0xff,0xff);//显示单色(262K色)-WHILE
DelayX1ms(1000);
display_rgbw_16bit(0x00,0x00);//显示单色(65K色)-BLACK
//display_rgbw_18bit(0x00,0x00,0x00);//显示单色(262K色)-BLACK
DelayX1ms(1000);
display_row_colorbar();//显示横条纹(65K色)
DelayX1ms(1000);
display_col_colorbar();//显示竖条纹(65K色)
DelayX1ms(1000);
display_gray_scale_16bit();//显示灰阶(65K色)
DelayX1ms(1000);
display_rgbw_16bit(0x00,0x00);//显示单色(65K色)-BLACK
//display_ascii_16bit(1,152,"TMS8003F_24 TFT designed by wt",7,0);//显示字符串,白色字体,背景色默认
//display_string_hanzi_16bit(100,100,"武汉市",1,0);
//display_FlashPhoto_16bit(55,68,(unsigned char*)photo,128,184);
//display_ascii_16bit(79,260,"Marisa.bmp",3,7);//显示字符串,白色字体,背景色默认
//DelayX1ms(3000);
//display_ascii_16bit(79,260,"1234567890",7,1);
//DelayX1ms(3000);
//display_rgbw_16bit(0x00,0x00);//显示单色(65K色)-BLACK
*/
/*
//------------------------------------------------------------------------------
if(read_flag==1)
{
for(i=0;i<4;i++)
{
Touch_buf[i]=inbuf1[i];
}
if(Touch_buf[0]==0xFF)
{
X_temp0=Touch_buf[2];
X_temp1=Touch_buf[1];
X_data=(X_temp1<<7&0x0380)|X_temp0;
aX=X_data/1000;
bX=(X_data%1000)/100;
cX=((X_data%1000)%100)/10;
dX=((X_data%1000)%100)%10;
display_ascii_16bit(96,34,"X:",1,7);
display_shuzi(112,34,aX,1,7);
display_shuzi(120,34,bX,1,7);
display_shuzi(128,34,cX,1,7);
display_shuzi(136,34,dX,1,7);
Y_temp0=Touch_buf[3];
Y_temp1=Touch_buf[1];
Y_data=(Y_temp1<<3&0x0380)|Y_temp0;
aY=Y_data/1000;
bY=(Y_data%1000)/100;
cY=((Y_data%1000)%100)/10;
dY=((Y_data%1000)%100)%10;
display_ascii_16bit(96,51,"Y:",1,7);
display_shuzi(112,51,aY,1,7);
display_shuzi(120,51,bY,1,7);
display_shuzi(128,51,cY,1,7);
display_shuzi(136,51,dY,1,7);
//Set_ramaddr(0,0);
MSP430F5438_3.2TFT
4星 · 超过85%的资源 需积分: 10 164 浏览量
2013-08-19
15:08:37
上传
评论 1
收藏 127KB RAR 举报
diansaispwm
- 粉丝: 0
- 资源: 6
最新资源
- 驱动代码驱动代码驱动代码驱动代码
- SVID_20240523_141155_1.mp4
- Code for the complete guide to tkinter tutorial
- 关于百货中心供应链管理系统.zip
- SimpleFolderIcon-master 修改Unity的Project下的文件夹图标
- A python Tkinter widget to display tile based maps
- A pure Python library for adding tables to a Tkinter application
- Vector资源文件.zip
- MobaXterm-Installer
- 88-520告白(520气球).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈