4.3寸SPI串口程序

发布时间:2016/11/7 13:31:19

#include<reg51.h>
#include<string.h>  
#include<stdio.h>  
#include<intrins.h>
#include<absacc.h>
//#include "CGRAM_TAB.h"
//#include "picture.h"


#define part1  //一般功能显示


#define uchar unsigned char
#define uint unsigned int 
#define ulong unsigned long
 
#define SPI4


#ifdef SPI4  
sbit sclk = P3^0;
sbit sdi = P3^1;
sbit sdo = P3^3;
sbit cs = P3^4;
//sbit rest = P3^5;
#endif


#define WD 480  /* 显示区宽度 */
#define HD 272  /* 显示区高度 */  
#define clear 0x00  /* Clear Display */
#define time 500  /* 1000延时 1.03895500 s */


#define color_brown   0x40c0
#define color_black   0x0000
#define color_white   0xffff
#define color_red     0xf800
#define color_green   0x07e0
#define color_blue    0x001f
#define color_yellow  color_red|color_green
#define color_cyan    color_green|color_blue
#define color_purple  color_red|color_blue




unsigned char code gImage_picture320240_256[3300] = { /* 0X18,0X08,0X00,0X42,0X00,0X32, */
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBA,0XBA,
0XFF,0XFF,0XFF,0XFF,0XFF,0XBA,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0X95,0XFF,0XB6,0XB9,0XFF,0X95,0X71,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XDA,0XB5,0XB5,0X88,0XB5,0XDF,0X70,0X6C,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB0,0XB5,0XB0,0XB4,0XB5,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB5,0XB1,0XAC,0XAC,0XB0,0XB0,0XB4,0XB5,0XB5,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XF2,0XC9,0XC4,0XE4,0XED,0XE4,0XE8,0XA8,0XA8,0XA4,0XA8,0XB6,
0XB5,0XDA,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XED,0XED,0XE4,0XC4,0XE9,0XF7,0XFB,0XE4,0XC4,0XC4,0XE4,0XC4,
0XC8,0XC8,0XED,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XF6,0XE4,0XC0,0XC0,0XFB,0XE8,0XF2,0XC8,0XF2,0XC0,0XC0,
0XE9,0XC4,0XC0,0XE4,0XC9,0XC8,0XFA,0XF2,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDB,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCD,0XC0,0XC0,0XC8,0XC4,0XE0,0XE4,0XFF,0XFB,0XF6,
0XED,0XED,0XE4,0XFB,0XE9,0XC9,0XE9,0XC8,0XC0,0XF6,0XD1,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XBA,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC9,0XC0,0XC0,0XC0,0XC9,0XC0,0XC4,0XC0,
0XED,0XC4,0XFF,0XC0,0XC4,0XC4,0XFB,0XF7,0XE8,0XED,0XC4,0XC9,0XED,0XED,0XFB,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XFF,0XFF,0XD7,0XA4,0XC0,0XC0,0XC0,0XC0,0XC4,
0XF2,0XC0,0XED,0XFF,0XE4,0XFB,0XF7,0XC4,0XF6,0XE4,0XC0,0XF7,0XE8,0XE0,0XED,0XC4,
0XCD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X71,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XBA,0X91,0XFF,0XFF,0XDE,0XDF,0XFF,0XFF,0XD6,0XA4,0XC0,0XC0,0XC0,
0XC0,0XC4,0XC4,0XE4,0XC0,0XC0,0XFB,0XF2,0XC0,0XFF,0XC4,0XC4,0XC4,0XC0,0XC4,0XEE,
0XC9,0XC4,0XC4,0XFB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X96,
0XDF,0XFF,0XFF,0XFF,0XFF,0XDF,0XBA,0XDA,0XDA,0X90,0XFF,0XFF,0XFF,0XA9,0XA0,0XA0,
0XC4,0XC4,0XC4,0XC0,0XC9,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XF6,0XC0,0XC4,
0XC4,0XE9,0XC4,0XC8,0XED,0XC9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XDA,0XDE,0XFF,0XFF,0XB6,0XBA,0X88,0X91,0XFF,0XFF,0XFF,0XD2,0XD6,
0XA4,0XA0,0XC4,0XC0,0XC0,0XC0,0XA0,0XC4,0XC8,0XC0,0XC0,0XC0,0XF2,0XA0,0XC0,0XC0,
0XC0,0XC4,0XC0,0XC4,0XFB,0XCD,0XC8,0XC9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XDA,0XDA,0XDA,0X91,0XFF,0XFF,0XBA,0XDE,0XDF,0X6C,0XFF,0XF6,0XC9,
0XCD,0XCD,0XC9,0XC4,0XA4,0XA0,0XA0,0XA0,0XC0,0XC4,0XC4,0XC0,0XA0,0XC0,0XC0,0XC0,
0XC4,0XC0,0XC4,0XC8,0XC4,0XC8,0XC4,0XC4,0XC9,0XC8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0X71,0XFB,0XDE,0XB5,0X90,0XB5,0XDA,0XB6,0XDF,0XDA,0XA8,0XC4,
0XC4,0XC4,0XCD,0XEE,0XC4,0XC0,0XC4,0XC4,0XA0,0XC8,0XA0,0XC0,0XA0,0XA0,0XC0,0XA0,
0XA0,0XC0,0XA0,0XC0,0XC0,0XC4,0XA0,0XC0,0XC4,0XC4,0XC4,0XC4,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBA,0XDE,0XDE,0X90,0XDA,0XDA,0XDA,0XDE,0X60,0XA0,
0XA4,0XD1,0XC9,0XC4,0XC9,0XC9,0XC9,0XC4,0XC4,0XE8,0XC4,0XA0,0XA0,0XA0,0XA0,0XA0,
0XA0,0XA4,0XC9,0XA4,0XA0,0XA4,0XA0,0XA0,0XA8,0XC0,0XC4,0XC9,0XC4,0XC9,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB6,0XAC,0XB0,0X90,0XD6,0X70,0X88,
0X60,0X84,0XC9,0XC0,0XE9,0XF6,0XCD,0XC0,0XC4,0XC0,0XC0,0XC0,0XC0,0XC0,0XA0,0X80,
0XC0,0XA0,0X84,0XA0,0XA0,0XA0,0XCD,0XA0,0XA0,0XA4,0XC5,0XC9,0XA0,0XCD,0XC4,0XA4,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XD2,0XA4,0X80,0X80,0X80,0X80,
0X80,0XA0,0XA4,0XA0,0XC0,0XC0,0XF7,0XE9,0XC5,0XC4,0XF1,0XC5,0XC0,0XC0,0XC0,0XC0,
0XA0,0XA0,0XA0,0XA0,0XC9,0XA0,0X80,0XA0,0XA0,0XA0,0XA0,0XA0,0XA0,0XA0,0XA4,0XA4,
0XC8,0XC9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCD,0XC4,0XC9,0XAD,0XA8,0XA4,
0X80,0X80,0X80,0XA0,0XC0,0XC0,0XC8,0XE9,0XC0,0XF2,0XFF,0XF6,0XA0,0XC9,0XC4,0XC0,
0XC4,0XC0,0XC0,0XA0,0XA4,0XA0,0XA0,0X80,0XA0,0XA0,0XA0,0XC9,0XA0,0XA4,0XA0,0XA4,
0XA8,0XA4,0XA4,0XF6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC4,0XC9,0XCD,0XA4,0X80,
0XC8,0XC4,0XA4,0XA4,0XA4,0XC4,0XC4,0XC0,0XC0,0XE9,0XC4,0XF2,0XE4,0XED,0XCD,0XC4,
0XC4,0XC9,0XA0,0XC0,0XC4,0XA4,0XA0,0XA4,0XA4,0XA4,0XA0,0X80,0XA0,0XA4,0XA4,0XA4,
0XA8,0XA9,0XD2,0XA8,0XCD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC9,0XC4,0XC9,0XC8,
0XD1,0XA0,0XC0,0XC4,0XC4,0XC4,0XC0,0XC5,0XC0,0XC0,0XC0,0XC0,0XC0,0XFB,0XFF,0XC0,
0XF7,0XA4,0XE9,0XC5,0XC0,0XC0,0XC4,0XC4,0XA0,0XA0,0XA0,0XA0,0XA4,0XC8,0XA0,0XA4,
0XA0,0XA9,0XA8,0X84,0XA0,0XA8,0XD6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XD2,0XA8,
0XC8,0XC0,0XC0,0XC0,0XC4,0XC0,0XC4,0XED,0XC0,0XC0,0XC0,0XC0,0XF6,0XA0,0XF6,0XC4,
0XC0,0XC0,0XC0,0XC0,0XC0,0XC4,0XC0,0XC0,0XCD,0XC9,0XA0,0XC0,0XA0,0XA4,0XA0,0XA4,
0X80,0XA9,0XA4,0XA0,0XA4,0XA8,0XA9,0XD2,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,
0XF7,0XC9,0XA0,0XC0,0XC0,0XC8,0XC4,0XEE,0XC4,0XC0,0XFB,0XC4,0XC0,0XC9,0XC4,0XC4,
0XC0,0XC0,0XC0,0XA0,0XC0,0XA0,0XC0,0XC4,0XC0,0XC0,0XC9,0XC8,0X80,0XA0,0X80,0XA0,
0XA0,0XA0,0XA0,0XA4,0XA0,0XA4,0XA0,0XCD,0XA4,0XFB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XC9,0XA9,0XC9,0XD1,0XC0,0XC4,0XC4,0XCD,0XC5,0XC9,0XC0,0XC0,0XC5,0XE9,0XA0,
0XA0,0XA0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC4,0XC8,0XA0,0XA0,0XA4,0XA9,0XC4,0XA4,0XA0,
0XA0,0XA0,0X80,0XA0,0XA0,0XC4,0XA0,0XA0,0XC9,0XCD,0XCD,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XA4,0XCD,0XC9,0XA0,0XA8,0XA0,0XC0,0XA0,0XA0,0XCD,0XC0,0XA0,0XC4,
0XC0,0XF6,0XC4,0XA0,0XC0,0XA0,0XA0,0XC8,0XC0,0XC4,0XC4,0XA0,0XA0,0XD2,0XD2,0XC9,
0XA4,0XA4,0XA0,0XA0,0XC9,0XA0,0X80,0XA0,0XC4,0XCD,0XA4,0XD2,0XDB,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XC8,0XA4,0XA8,0XA4,0XA9,0XA4,0XA0,0XA0,0XA0,0XC4,0XC4,
0XC8,0XC0,0XA0,0XC4,0XA0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XA0,0XA0,0XC4,0XA4,0XA0,
0XA8,0XCD,0XA0,0XA0,0XA4,0XC0,0XA0,0XA0,0XA4,0XA4,0XA9,0XA0,0XD1,0XB2,0XD6,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XD6,0XD6,0XA4,0XA4,0XA8,0XA9,0XA0,0XCD,0XD2,
0XA0,0XA9,0XC9,0XA4,0XA0,0XA0,0XA0,0XA0,0XA0,0XA4,0XA0,0XA0,0XA0,0XC8,0XC8,0XAD,
0XA8,0XA4,0XA4,0XC4,0XC0,0XC0,0XC0,0XC4,0XC9,0XC4,0XC9,0XA4,0XCD,0XD2,0XD2,0XB2,
0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XA9,0XA0,0XA4,0XA0,0XA0,0XA0,
0XA0,0XA0,0XA0,0XCD,0XA4,0XA0,0XA0,0XC9,0XC4,0X80,0XA0,0X84,0XA0,0X80,0X84,0XA9,
0XCD,0X80,0XA0,0XD2,0XD6,0XD2,0XA0,0XA0,0XA0,0XA0,0XA0,0XA4,0XA0,0XCD,0XA8,0XAD,
0XB1,0XB6,0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFA,0XD2,0XCD,0XA4,0XC9,
0XA4,0XA4,0XA0,0XA0,0XA0,0XA0,0XA0,0XA0,0X80,0XA0,0XA4,0XA0,0XA0,0XA0,0XA0,0XA4,
0XA0,0X80,0XA0,0XA0,0XA4,0XA4,0XA9,0XD2,0XA0,0XA0,0XA4,0XA4,0XC9,0XC8,0XCD,0XA4,
0XAD,0X8D,0XB2,0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XD2,0XA4,
0XA0,0XCD,0XA4,0XA0,0XA0,0XA4,0XA0,0XA4,0XA4,0XA0,0XC4,0XA0,0X80,0XA0,0XA0,0XA4,
0XA4,0XAD,0XA4,0XA4,0XA4,0XA9,0XA4,0XC9,0XA4,0XA0,0XA4,0XA8,0XC4,0XA8,0XA4,0XCD,
0XCD,0X8D,0XAD,0XB2,0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XD2,0XA4,0XA4,0XA8,0X80,0XA9,0XA4,0XA4,0XA4,0XA0,0X80,0XA0,0XA0,0XA4,0XA0,0XA0,
0XA4,0X80,0XA0,0X80,0X84,0XAD,0XA9,0XA0,0XA4,0XCD,0XD7,0XA8,0XAD,0XA8,0XC9,0XC8,
0XCD,0XCD,0X8D,0XAD,0XB6,0XFB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XD2,0XAD,0XA4,0XA4,0XA4,0X80,0XA4,0X80,0XA4,0XA0,0XA0,0X84,0XA4,
0X80,0XA4,0XA8,0XA0,0XA4,0X84,0X84,0X80,0XA0,0XA9,0XCE,0XCD,0XD2,0XA9,0XA9,0XA9,
0XA4,0X84,0X8D,0X8D,0XB2,0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XD6,0XA4,0XAD,0XAD,0XA4,0XA0,0XA4,0X80,0XA4,0XA4,0XA4,
0XA4,0XA4,0XA4,0XA4,0X80,0XA4,0XA9,0X84,0XAE,0XA9,0XCD,0XA0,0XCD,0XD6,0XCD,0X64,
0X84,0X89,0X89,0X8D,0X8D,0XB6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XD2,0XA9,0XA9,0XA8,0XA9,0XAD,0XA4,0XA4,
0XA0,0X80,0XA9,0X80,0XA4,0XA4,0XA0,0XA0,0XA0,0XA4,0X80,0XA0,0XAD,0XA0,0XA4,0XF2,
0XB2,0X8D,0XAD,0XB2,0XB2,0XD6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XCD,0XCD,0XA8,0XA9,0XA8,
0XA8,0XA0,0XA8,0XA4,0XA4,0XA4,0XA4,0X84,0XAD,0X84,0XAD,0XCD,0XA8,0XAD,0XAD,0XCD,
0XC4,0XC8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDB,0XD2,0XC8,0XA4,
0XCD,0XA8,0XA0,0XA4,0XA4,0XAD,0X84,0XA9,0XA9,0XA4,0XAD,0XA4,0XAD,0XA0,0XA8,0XA0,
0XA4,0XC9,0XCD,0XFA,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDB,0XDB,0XD6,
0XCD,0XAD,0XA4,0XA9,0XA4,0XAD,0XA4,0XA4,0XA0,0XA4,0XA0,0XA4,0XA4,0X80,0XAD,0XC9,
0XAD,0XA9,0XA4,0XA4,0XC4,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDB,
0XD6,0XD6,0XB6,0XB2,0XC8,0XA8,0XA9,0XA9,0XA9,0XA4,0XA9,0XA4,0XA9,0XA8,0XAD,0XA4,
0XCE,0XA0,0XCD,0XA0,0XC9,0XD6,0XF6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFB,0XDB,0XD6,0XB6,0XB2,0XB2,0XB2,0XB1,0XA4,0XA4,0XA4,0XA9,0XA9,0XA4,0XA4,0XA4,
0XA4,0XA8,0XA0,0XA9,0XD2,0XA0,0XA8,0XC8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFB,0XDB,0XD6,0XB6,0XB2,0XB2,0XB2,0XB2,0XB2,0X88,0XA8,0XA8,0XA4,0XA9,
0XA9,0X84,0XA8,0XAD,0XA4,0XA4,0XA0,0XCD,0XD2,0XD6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFB,0XDB,0XD6,0XB6,0XB2,0XB2,0XB2,0XB2,0XB2,0XB1,0XB1,0XA8,
0XA4,0XA4,0XA8,0XA4,0XA9,0XA0,0XA9,0XAD,0XAD,0XAD,0XCD,0XDB,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDB,0XD6,0XB6,0XB2,0XB2,0XB2,0XB2,0XB2,0XB2,
0XB2,0XB1,0X91,0XA9,0XA4,0XA4,0XA4,0XA9,0XA9,0XA4,0XA9,0XAD,0XB1,0XDB,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XDB,0XD6,0XB6,0XB2,0XB2,0XB2,
0XB2,0XB2,0XB2,0XB2,0XB2,0XB1,0XB1,0XAD,0X88,0X84,0X64,0X88,0X8D,0XB1,0XDB,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDB,0XDB,0XD6,0XB6,
0XB6,0XB2,0XB2,0XB2,0XB2,0XB2,0XB2,0XB2,0XB2,0XB2,0XB2,0XB2,0XB2,0XB6,0XD6,0XDB,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XDB,0XDB,0XD6,0XD6,0XB6,0XB6,0XB6,0XB6,0XB6,0XB6,0XB6,0XB6,0XD6,0XDB,0XDB,0XFB,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XDB,0XDB,0XDB,0XDB,0XDB,0XDB,0XDB,0XDB,0XDB,0XDB,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,};




/********* 时间延时程序 *********/
void delay(uint t)   /* 1.02500 ms */
{ uint i,j;
  for(i=t;i>0;i--)
    for(j=125;j>0;j--);
}


void delay2(uint t)   /* 1.02500 ms */
{ uint i;
  for(i=t;i>0;i--)
    _nop_(); 
}


#ifdef SPI4
/******** 写“8bit”程序 ********/
void write_8bit(uchar dat)
{ uchar i;  
  for(i=0;i<8;i++)
   { 
     sdi=(bit)(dat & 0x80);
     dat<<=1;
// sdi=CY;
     sclk=0;  
sclk=1;  
   }
}


/******** 读“状态””程序 ********/
void busy(void)
{ uchar i,temp;  
  do{
      sclk=1;sdi=1;sdo=1;
      cs=0;
      write_8bit(0xc0);          
      for(i=0;i<8;i++)
       { 
         temp<<=1;
    sclk=0;         
    if(sdo)
           temp++;
    sclk=1; 
       }
      cs=1;
    }while(temp&0x80);
}


/******** 写“指令”程序 ********/
void write_com(uchar com)
{
  busy();
  sclk=1;sdi=1;sdo=1;
  cs=0;
  write_8bit(0x80);
  write_8bit(com);
  cs=1;
//  delay2(1);  //或者18个NOP,即18us
  _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
  _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}


/******** 写“数据”程序 ********/
void write_data(uchar dat)

  busy();
  sclk=1;sdi=1;sdo=1;
  cs=0;
  write_8bit(0x00);
  write_8bit(dat);           
  cs=1;
//  delay2(1);  //或者18个NOP,即18us 
  _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
  _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}


/******** 写“指令数据”程序 *********/
void write_comdat(uchar com,uchar dat)
{ write_com(com);
  write_data(dat);
}
/******** 读“数据”程序 ********/
uchar read_data(void)
{ uchar i,temp;  
     cs=0;
      write_8bit(0x40);          
      for(i=0;i<8;i++)
       { 
         temp<<=1;
    sclk=0;         
    if(sdo)
           temp++;
    sclk=1; 
       }
      cs=1;
  return temp;
}


#endif


 
/******** 工作窗口设置程序 ********/
void active_window(uint row0,uint row1,uint col0,uint col1)

  write_comdat(0x30,col0);  //Horizontal Start Point 
  write_comdat(0x31,col0>>8); 


  write_comdat(0x32,row0);  //Vertical Start Point 
  write_comdat(0x33,row0>>8); 


  write_comdat(0x34,col1);  //Horizontal End Point 
  write_comdat(0x35,col1>>8); 


  write_comdat(0x36,row1);  //Vertical End Point 
  write_comdat(0x37,row1>>8); 
}


/******** 卷动窗口设置程序 ********/
void scroll_window(uint row0,uint row1,uint col0,uint col1)

  write_comdat(0x38,col0);  //Horizontal Start Point 
  write_comdat(0x39,col0>>8); 


  write_comdat(0x3a,row0);  //Vertical Start Point 
  write_comdat(0x3b,row0>>8); 


  write_comdat(0x3c,col1);  //Horizontal End Point 
  write_comdat(0x3d,col1>>8); 


  write_comdat(0x3e,row1);  //Vertical End Point 
  write_comdat(0x3f,row1>>8); 
}


/******** 卷动偏移量设置程序 ********/
void scroll_offset(uint row,uint col)

  write_comdat(0x24,col);  //Horizontal offset
  write_comdat(0x25,col>>8); 


  write_comdat(0x26,row);  //Vertical offset 
  write_comdat(0x27,row>>8);  
}


/******** 浮动窗口设置程序 ********/
void floating_window(uint row0,uint col0,uint height,uint width,uint row1,uint col1)

  write_comdat(0xD0,col0);  //Start Address XA:Destination
  write_comdat(0xD1,col0>>8); 


  write_comdat(0xD2,row0);  //Start Address YA:Destination 
  write_comdat(0xD3,row0>>8); 


  write_comdat(0xD4,width);  //Width 
  write_comdat(0xD5,width>>8); 


  write_comdat(0xD6,height);  //Height 
  write_comdat(0xD7,height>>8);


  write_comdat(0xD8,col1);  //Display X Address:Source 
  write_comdat(0xD9,col1>>8); 


  write_comdat(0xDA,row1);  //Display Y Address:Source  
  write_comdat(0xDB,row1>>8);   
}


/******** 字体(内部)设置程序 ********/
void font_in_set(void)
{ //CGROM=0:内部CGROM; CGROM=1:外部CGROM
  //size=0x00:字体16、size=0x40:字体24、size=0x80:字体32
  write_comdat(0x40,0x80);  //文本模式、光标不闪烁
  write_comdat(0x44,0x00);  //Blink Time闪烁时间
//  write_comdat(0x4E,0x0f);  //Font Write Cursor Horizontal Size
//  write_comdat(0x4F,0x01);  //Font Write Cursor Vertical Size


  write_comdat(0x21,0x00);  //CGROM 
  write_comdat(0x22,0x00);  //字体不对齐、背景色、不旋转、正常大小 
  write_comdat(0x29,0x00);  //字体行间距00  
  write_comdat(0x2E,0x00);  // 字体大小size、字体列间距00
  write_comdat(0x2F,0x00);  //字库GT、ASCII、Normal
}


/******** 字体(外部)设置程序 ********/
void font_ex_set(void)
{ //CGROM=0:内部CGROM; CGROM=1:外部CGROM
  //size=0x00:字体16、size=0x40:字体24、size=0x80:字体32


  write_comdat(0x44,0x00);  //Blink Time闪烁时间
//  write_comdat(0x4E,0x0f);  //Font Write Cursor Horizontal Size
//  write_comdat(0x4F,0x01);  //Font Write Cursor Vertical Size
  write_comdat(0x20,0x00);
  write_comdat(0x21,0x20);  //CGROM 
  write_comdat(0x22,0x00);  //字体不对齐、背景色、不旋转、正常大小
  write_comdat(0x22,0x00);  //字体不对齐、背景色、不旋转、正常大小 
  write_comdat(0x29,0x00);  //字体行间距00  
  write_comdat(0x2E,0x00);  // 字体大小size、字体列间距00
  write_comdat(0x2F,0x81);  //字库GT、ASCII、Normal
}


/******** 字体地址程序 ********/
void font_position(uint row,uint col)

  write_comdat(0x2A,(uchar)(col));  //Horizontal Position 
  write_comdat(0x2B,(uchar)(col>>8)); 


  write_comdat(0x2C,(uchar)(row));  //Vertical Position 
  write_comdat(0x2D,(uchar)(row>>8)); 
}


/******** 内存写入地址程序 ********/
void memory_write_position(uint row,uint col)

  write_comdat(0x46,(uchar)(col));  //Horizontal Position 
  write_comdat(0x47,(uchar)(col>>8)); 


  write_comdat(0x48,(uchar)(row));  //Vertical Position 
  write_comdat(0x49,(uchar)(row>>8)); 
}


/******** 内存读取地址程序 ********/
void memory_read_position(uint row,uint col)

  write_comdat(0x4A,col);  //Horizontal Position 
  write_comdat(0x4B,col>>8); 


  write_comdat(0x4C,row);  //Vertical Position 
  write_comdat(0x4D,row>>8); 
}


/******** BTE背景色前景色设置程序 ********/
void back_fore_color(uint color_b,uint color_f)
{                              
  write_comdat(0x60,(uchar)(color_b>>11));  //背景色
  write_comdat(0x61,(uchar)(color_b>>5));
  write_comdat(0x62,(uchar)(color_b));
  
  write_comdat(0x63,(uchar)(color_f>>11));  //前景色
  write_comdat(0x64,(uchar)(color_f>>5));
  write_comdat(0x65,(uchar)(color_f));
}


/********倍频设置程序********/
void PLL(void)
{ write_comdat(0x88,0x0a);
  write_comdat(0x89,0x02);
}
/******** 清屏程序********/
void clr(void)

//  write_comdat(0x8E,0xC0);  //清除显示窗口
  active_window(0,HD-1,0,WD-1);  //工作窗口
  write_comdat(0x8E,0x80);  //清除工作窗口
}


/******** 全屏(文本)显示程序********/
void fill_txt(uchar dat)
{ uint i;   
  font_position(0,0);  //字体地址
  write_com(0x02);  //写数据
  for(i=0;i<WD/8*HD/16;i++)
write_data(dat); 
}


/******** 全屏(图形)显示程序********/
void fill_graph(uint x,uint y,uint k,uchar dat)
{ ulong i; 
  memory_write_position(x,y);  //内存地址
  write_com(0x02);  //写数据
  for(i=0;i<WD*k;i++)
write_data(dat);
}


/******** 256色显示程序********/
void color256(void)
{ uint i,j;
  for(i=0;i<HD;i++)
   { memory_write_position(i,0);  //内存地址
     write_com(0x02);  //写数据
     for(j=0;j<WD;j++)
  write_data(0x00+i);
   }
}


/******** 字符(文本)显示程序 ********/
void chhzes_txt(uint x,uint y,uchar *s) 

  font_position(x,y);  //字体地址
  write_com(0x02);  //写数据
  while(*s!='\0')
    write_data(*s++);
}


/********  图片显示程序 ********/
void picture(uint x,uint y,uint m,uint n,uint sum,uchar *s)  //写入点阵n*m字符
{ uint i;
  active_window(x,x+m-1,y,y+n-1);  //工作窗口
  memory_write_position(x,y);  //内存写入地址
  write_com(0x02);  //写数据
  for(i=0;i<sum;i++)
write_data(*s++);
}
 
/******** 建立CGRAM自定义字符程序********/
void CGRAM_set(uchar *s,uchar k)
{ uchar i,j;   
  write_comdat(0x40,0x00);  //图形模式 
  write_comdat(0x21,0x00);
  write_comdat(0x41,0x04);
  for(j=0;j<k;j++)
   { write_comdat(0x23,0x00+j);  //CGRAM No
     write_com(0x02);  //写数据
     for(i=0;i<16;i++)
    write_data(*s++); 
   }
}


/******** 显示CGRAM自定义字符程序********/
void CGRAM_disp(uint x,uint y,uchar k,uchar cod)
{ uchar i;
  write_comdat(0x40,0x80);  //文本模式 
  write_comdat(0x21,0xa0);
  write_comdat(0x41,0x00);


  font_position(x,y);  //字体地址
  write_com(0x02);  //写数据
  for(i=0;i<k;i++)
    write_data(cod+i); 
}

/******** 画直线或矩形程序 ********/
/***** l_s=0:直线; l_s=1:矩形 *****/
void draw_line_square(uint x1,uint x2,uint y1,uint y2,uchar l_s)

  write_comdat(0x91,(uchar)(y1));  //Horizontal Start Address 
  write_comdat(0x92,(uchar)(y1>>8)); 
  write_comdat(0x93,(uchar)(x1));  //Vertical Start Address  
  write_comdat(0x94,(uchar)(x1>>8)); 


  write_comdat(0x95,(uchar)(y2));  //Horizontal End Address 
  write_comdat(0x96,(uchar)(y2>>8)); 
  write_comdat(0x97,(uchar)(x2));  //Vertical End Address  
  write_comdat(0x98,(uchar)(x2>>8));
  
  if(l_s==0)   //画直线
   { write_comdat(0x90,0x80);  //Start
     write_comdat(0x90,0x00);  //End
   }
  else         //画矩形
   { write_comdat(0x90,0x90);  //Start,unfill
     write_comdat(0x90,0x10);  //End 
//     delay(time/2);
//     write_comdat(0x90,0xb0);  //Start,fill
//    write_comdat(0x90,0x30);  //End
   }
}


/******** 画圆程序 ********/
void draw_circle(uint x,uint y,uint r)

  write_comdat(0x99,(uchar)(y));  //Horizontal Address  
  write_comdat(0x9a,(uchar)(y>>8)); 
  write_comdat(0x9b,(uchar)(x));  //Vertical Address  
  write_comdat(0x9c,(uchar)(x>>8)); 
  write_comdat(0x9d,(uchar)(r));  //Center Address 


  write_comdat(0x90,0x40);  //开始画圆,不填充
  write_comdat(0x90,0x00);  //结束画圆
  delay(time/2);
  write_comdat(0x90,0x60);  //Start,fill
  write_comdat(0x90,0x20);  //End
}
 
/******** 画椭圆或圆角矩形程序 ********/
/**** e_cs=0:椭圆; e_cs=1:圆角方形 ****/
void draw_ellipse_csquare(uint x,uint y,uint l,uint s)

  write_comdat(0xa1,(uchar)(l));  //Long axis 
  write_comdat(0xa2,(uchar)(l>>8)); 
  write_comdat(0xa3,(uchar)(s));  //Short axis 
  write_comdat(0xa4,(uchar)(s>>8)); 


  write_comdat(0xa5,(uchar)(y));  //Center Horizontal Address 
  write_comdat(0xa6,(uchar)(y>>8)); 
  write_comdat(0xa7,(uchar)(x));  //Center Vertical Address  
  write_comdat(0xa8,(uchar)(x>>8));
  
  write_comdat(0xa0,0x80);  //Start,Unfill
  write_comdat(0xa0,0x80);  //End 
  delay(time/2);
  write_comdat(0xa0,0xc0);  //Start,fill
  write_comdat(0xa0,0x40);  //End 
}


/******** 画圆角方形程序 ********/
void draw_circle_square(uint x1,uint x2,uint y1,uint y2,uint l,uint s)

  write_comdat(0x91,(uchar)(y1));  //Horizontal Start Address 
  write_comdat(0x92,(uchar)(y1>>8)); 
  write_comdat(0x93,(uchar)(x1));  //Vertical Start Address  
  write_comdat(0x94,(uchar)(x1>>8)); 


  write_comdat(0x95,(uchar)(y2));  //Horizontal End Address 
  write_comdat(0x96,(uchar)(y2>>8)); 
  write_comdat(0x97,(uchar)(x2));  //Vertical End Address  
  write_comdat(0x98,(uchar)(x2>>8));
  
  write_comdat(0xa1,(uchar)(l));  //Long axis 
  write_comdat(0xa2,(uchar)(l>>8)); 
  write_comdat(0xa3,(uchar)(s));  //Short axis 
  write_comdat(0xa4,(uchar)(s>>8)); 
  
  write_comdat(0xa0,0xa0);  //Start,Unfill
  write_comdat(0xa0,0x20);  //End 
  delay(time/2);
  write_comdat(0xa0,0xe0);  //Start,fill
  write_comdat(0xa0,0x60);  //End 
}


/******** 画三角形程序 ********/
void draw_triangle(uint x1,uint y1,uint x2,uint y2,uint x3,uint y3)

  write_comdat(0x91,(uchar)(y1));  //Point0 Horizontal Address 
  write_comdat(0x92,(uchar)(y1>>8)); 
  write_comdat(0x93,(uchar)(x1));  //Point0 Vertical Address  
  write_comdat(0x94,(uchar)(x1>>8)); 


  write_comdat(0x95,(uchar)(y2));  //Point1 Horizontal Address 
  write_comdat(0x96,(uchar)(y2>>8)); 
  write_comdat(0x97,(uchar)(x2));  //Point1 Vertical Address  
  write_comdat(0x98,(uchar)(x2>>8));
 
  write_comdat(0xa9,(uchar)(y3));  //Point2 Horizontal Address 
  write_comdat(0xaa,(uchar)(y3>>8)); 
  write_comdat(0xab,(uchar)(x3));  //Point2 Vertical Address  
  write_comdat(0xac,(uchar)(x3>>8));


  write_comdat(0x90,0x81);  //Start,Unfill
  write_comdat(0x90,0x01);  //End 
  delay(time/2);
  write_comdat(0x90,0xa1);  //Start,fill
  write_comdat(0x90,0x21);  //End 
}


#ifdef part2
/********* 触控中断状态 *********/
bit INT2(void)
{ uchar temp; 
  write_com(0xf1);  //中断控制
  temp=read_data();
  if((temp&0x04)==0x04)  //*/


/*  write_com(0x74);  //中断控制
  temp=read_data();
  if(temp&0x80==0x80)  //*/


/*  temp=read_com();
  if(temp&0x20==0x20)  //*/
    return 1;
  else
    return 0;
}


/********* 触控(自动)程序 *********/
void touch_auto(void)
{ uint x,y,temp1,temp2,timer=0,i;
 
  write_comdat(0x20,0x00);  //单图层
  write_comdat(0x41,0x00);  //00:写入图层一;01:写入图层二
  write_comdat(0x40,0x80);  //文本模式
  active_window(0,HD-1,0,WD-1);  //工作窗口
  back_fore_color(color_blue,color_white);  //背景色、前景色
  clr();  //清屏
  write_comdat(0x8e,0x80);
  write_comdat(0x8A,0x81);  //PWM控制
  write_comdat(0x8B,0x8f);
 
  font_in_set();  //内部CGROM、字体16
  chhzes_txt(24,24,"Touch to display the coordinate...");
  chhzes_txt(40,124,"Auto Mode");
  delay(time);


  write_comdat(0x70,0x80);  //开启触控功能
  write_comdat(0x71,0x04);  //自动模式
  write_comdat(0xF0,0x04);  //开启触控中断
  for(i=0;i<5;i++)
   { 
     if(INT2())
      { write_com(0x72);  //读取X坐标
        temp1=read_data();
        write_com(0x74);
        temp2=read_data();
        x=(temp1<<2)|(temp2&0x03);
  
        write_com(0x73);  //读取Y坐标
        temp1=read_data();
        write_com(0x74);
        temp2=read_data();
        y=(temp1<<2)|(temp2>>2&0x03);
  
        chhzes_txt(100,80,"X = ");  //显示X坐标
        write_data((x/1000)|0x30);
        write_data((x%1000/100)|0x30);
        write_data((x%100/10)|0x30);
        write_data((x%10)|0x30);


        chhzes_txt(124,80,"Y = ");  //显示Y坐标
        write_data((y/1000)|0x30);
        write_data((y%1000/100)|0x30);
        write_data((y%100/10)|0x30);
        write_data((y%10)|0x30);


        i=0;
        delay(time);      
      }
     else  //没有触控发生,不显示坐标        
 { chhzes_txt(100,80,"X =      ");
        chhzes_txt(124,80,"Y =      ");
        delay(time);
 }
     write_comdat(0xF1,0x04);  //清除中断
     delay(1);
  }
}


/********* 触控(手动)程序 *********/
void touch_maunal(void)
{ uint x,y,temp1,temp2,timer=0,i;
 
  write_comdat(0x20,0x00);  //单图层
  write_comdat(0x41,0x00);  //00:写入图层一;01:写入图层二
  write_comdat(0x40,0x80);  //文本模式
  active_window(0,HD-1,0,WD-1);  //工作窗口
  back_fore_color(color_blue,color_red);  //背景色、前景色
  clr();  //清屏
  write_comdat(0x8e,0x80);
  write_comdat(0x8A,0x81);  //PWM控制
  write_comdat(0x8B,0x8f);
 
  font_in_set();  //内部CGROM、字体16
  chhzes_txt(24,24,"Touch to display the coordinate...");
  chhzes_txt(40,116,"Maunal Mode");
  delay(time);


  write_comdat(0x70,0x80);  //开启触控功能
  write_comdat(0x71,0x40);  //手动模式
  write_comdat(0xF0,0x04);  //开启触控中断
  write_comdat(0x71,0x41);  //侦测触摸事件发生
  for(i=0;i<5;i++)
   { 
     if(INT2())
      { write_comdat(0x71,0x42);  //Latch X data
        delay(100);
        write_comdat(0x71,0x43);  //Latch Y data
        delay(100);
        write_comdat(0x71,0x40);  //触控面板闲置
        
        write_com(0x72);  //读取X坐标
        temp1=read_data();
        write_com(0x74);
        temp2=read_data();
        x=(temp1<<2)|(temp2&0x03);
  
        write_com(0x73);  //读取Y坐标
        temp1=read_data();
        write_com(0x74);
        temp2=read_data();
        y=(temp1<<2)|(temp2>>2&0x03);
  
        chhzes_txt(100,80,"X = ");
        write_data((x/1000)|0x30);
        write_data((x%1000/100)|0x30);
        write_data((x%100/10)|0x30);
        write_data((x%10)|0x30);


        chhzes_txt(124,80,"Y = ");
        write_data((y/1000)|0x30);
        write_data((y%1000/100)|0x30);
        write_data((y%100/10)|0x30);
        write_data((y%10)|0x30);
        i=0;
        delay(time);      
      }
     else  //没有触控发生,不显示坐标     
 { chhzes_txt(100,80,"X =      ");
        chhzes_txt(124,80,"Y =      ");
        delay(time);
 }
     write_comdat(0xF1,0x04);  //清除中断
     delay(1);
  }
}
#endif


#ifdef part3


/********  Serial Flash窗口设置程序 ********/
void Flash_window(uint x,uint y,uint height,uint width)

  write_comdat(0x30,y);  //Horizontal Start Point 
  write_comdat(0x31,y>>8); 


  write_comdat(0x32,x);  //Vertical Start Point 
  write_comdat(0x33,x>>8); 


  write_comdat(0x34,(y+width-1));  //Horizontal End Point 
  write_comdat(0x35,(y+width-1)>>8); 


  write_comdat(0x36,(x+height-1));  //Vertical End Point 
  write_comdat(0x37,(x+height-1)>>8); 
}


/********* DMA数据来源地址程序 *********/
void DMA_source(ulong address)

  write_comdat(0xB0,(uchar)(address));  //DMA Source Address 
  write_comdat(0xB1,(uchar)(address>>8));
  write_comdat(0xB2,(uchar)(address>>16));
  write_comdat(0xB3,(uchar)(address>>24));
}  


/********* DMA连续性传输量程序 *********/
void DMA_transfer_number(ulong number)
{
  write_comdat(0xB4,(uchar)(number));  //DMA传输量
  write_comdat(0xB6,(uchar)(number>>8));
  write_comdat(0xB8,(uchar)(number>>16)); 
}


/********* DMA区块宽度和高度程序 *********/
void DMA_width_height(uint height,uint width,uint p)

  write_comdat(0xB4,(uchar)(width));  //DMA Width 
  write_comdat(0xB5,(uchar)(width>>8));
  write_comdat(0xB6,(uchar)(height));  //DMA Height
  write_comdat(0xB7,(uchar)(height>>8)); 
  write_comdat(0xB8,(uchar)(p));  //DMA Source Picture Width
  write_comdat(0xB9,(uchar)(p>>8));
}


/********* DMA模式启动程序 *********/
void DMA_ON(uchar p)
{
  write_comdat(0xBF,p);  //01:连续性模式; 03:区块模式
  write_com(0xBF);
  while(read_data()&0x01);
}


#endif
  
/******** 初始化程序 ********/
void set()
{ //cs=0;
  delay(100);
  rest=0;
  delay(10);
  rest=1;
  delay(150);    //*/
  write_comdat(0x01,0x00);  //Display OFF 


  PLL();  //倍频设置
  write_comdat(0x04,0x03);  //Pixel Clock:上升沿、1倍系统频率周期
  write_comdat(0x05,0x00);  //Serial Flash/ROM Configuration
//  write_comdat(0x06,0x03);  //Serial Flash/ROM CLK Setting:1/4系统频率
  write_comdat(0x10,0x00);  //System Configuration:64K色、16bit接口


  write_comdat(0x14,0x3B);  //LCD Horizontal Display Width:WD/8-1=27H
  write_comdat(0x15,0x00);  //Horizontal Non-Display Period Fine Tuning Option
  write_comdat(0x16,0x01);  //Horizontal Non-Display Period
  write_comdat(0x17,0x00);  //HSYNC Start Position
  write_comdat(0x18,0x05);  //HSYNC Pulse Width
  
  write_comdat(0x19,0x0f);  //LCD Vertical Display Height:HD-1=EFH
  write_comdat(0x1A,0x01);  
  write_comdat(0x1B,0x02);  //LCD Vertical Non-Display Period
  write_comdat(0x1C,0x00); 
  write_comdat(0x1D,0x07);  //VSYNC Start Position
  write_comdat(0x1E,0x00); 
  write_comdat(0x1F,0x09);  //VSYNC Pulse Width


  write_comdat(0x20,0x00);  //单图层
  write_comdat(0x01,0x80);  //82H:Display ON 、82H:睡眠模式
  clr();  //清屏 
}


 
/********* 主函数 *********/
void main()
{ uint i,j;
  uint s[6]={0xf800,0x07e0,0xf81f,0x07ff,0xffe0,0x0000};
//red、green、urple、cyan、yellow、black;
  set();
  clr();  //清屏
/********* 文本显示 *********/ 
  write_comdat(0x20,0x00);  //单图层
  write_comdat(0x41,0x00);  //00:写入图层一;01:写入图层二
  write_comdat(0x40,0x80);  //文本模式


  active_window(0,HD-1,0,WD-1);  //工作窗口
  back_fore_color(color_red,color_white);  //背景色、前景色
  write_comdat(0x8e,0x80);
  write_comdat(0x8A,0x81);  //PWM控制
  write_comdat(0x8B,0x00);
  delay(time);
  write_comdat(0x8B,0x40);
  delay(time);
  write_comdat(0x8B,0x8f);
  delay(time);
  write_comdat(0x8B,0xff);
  delay(time);
  write_comdat(0x8B,0x00);
  delay(time);  
 
  font_in_set();  //内部CGROM、字体16
  fill_txt('H');  //全显:H
  delay(time);
  clr();  //清屏
  write_comdat(0x22,0x05);  //字体大小:2倍
  chhzes_txt(0,0,"www.tsingtek.com");
  chhzes_txt(32,0,"welcome to you !");
  write_comdat(0x22,0x00);  //字体大小:1倍
  chhzes_txt(80,0,"EMAIL:sale@tsingtek.com");
  chhzes_txt(100,0,"HGF043");
  delay(time);


#ifdef part1


/********* 图形显示 *********/  
  write_comdat(0x20,0x00);  //单图层
  write_comdat(0x41,0x00);  //00:写入图层一;01:写入图层二
  write_comdat(0x40,0x00);  //图形模式
  active_window(0,HD-1,0,WD-1);  //工作窗口
  clr();  //清屏 
  back_fore_color(color_red,color_white);  //背景色、前景色     
  draw_line_square(16,16,0,119,0);  //画直线
  draw_line_square(64,99,0,119,0);  //画直线
  draw_line_square(16,99,160,279,1);  //画矩形
  back_fore_color(color_red,color_green);  //背景色、前景色
  draw_line_square(0,239,0,319,1);  //画矩形(屏外框)
  back_fore_color(color_red,color_blue);  //背景色、前景色
  draw_circle(180,66,50);  //画圆
  back_fore_color(color_red,color_green);  //背景色、前景色
  draw_ellipse_csquare(180,240,60,40);  //画椭圆
  delay(2*time);           


  clr();  //清屏
  back_fore_color(color_red,color_white);  //背景色、前景色
  draw_ellipse_csquare(60,80,60,40);  //画椭圆
  back_fore_color(color_red,color_yellow);  //背景色、前景色
  draw_circle_square(16,99,160,279,20,20);  //画圆角方形
  back_fore_color(color_red,color_cyan);  //背景色、前景色
  draw_triangle(200,20,120,80,200,140); //画三角形 
  delay(time);            //*/


/*  clr();  //清屏
  for(i=0;i<5;i++)
   for(j=0;j<5;j++)
     picture(50*i,0+66*j,50,66,3300,gImage_picture320240_256);  //256色图片
  delay(time);           //*/


#endif


}                        






上一篇:HG16032串口测试程序
下一篇:7寸彩屏测试程序