新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > stm32 驱动 TFT LCD

stm32 驱动 TFT LCD

作者: 时间:2016-11-26 来源:网络 收藏
577//清屏函数
578//Color:要清屏的填充色
579voidLCD_Clear(u16 Color)
580{
581u32 index=0;
582LCD_SetCursor(0x00,0x0000);//设置光标位置
583LCD_WriteRAM_Prepare();//开始写入GRAM
584for(index=0;index<76800;index++)
585{
586LCD_WR_DATA(Color);//向每个GRAM写入数据
587}
588}
589
590//在指定区域内填充指定颜色
591//区域大小:
592// (xend-xsta)*(yend-ysta)
593voidLCD_Fill(u8 xsta,u16 ysta,u8 xend,u16 yend,u16 color)
594{
595
596#if USE_HORIZONTAL //横屏
597
598u16 colortemp=POINT_COLOR;
599u16 ytemp=ysta;
600POINT_COLOR=color;
601for(;xsta<=xend;xsta++)
602{
603for(;ysta<=yend;ysta++)LCD_DrawPoint(xsta,ysta);
604ysta=ytemp;
605}
606POINT_COLOR=colortemp;
607
608#else //竖屏
609
610u32 n;
611//设置窗口
612LCD_WriteReg(R80, xsta);//水平方向GRAM起始地址
613LCD_WriteReg(R81, xend);//水平方向GRAM结束地址
614LCD_WriteReg(R82, ysta);//垂直方向GRAM起始地址
615LCD_WriteReg(R83, yend);//垂直方向GRAM结束地址
616LCD_SetCursor(xsta,ysta);//设置光标位置
617LCD_WriteRAM_Prepare();//开始写入GRAM
618n=(u32)(yend-ysta+1)*(xend-xsta+1);
619while(n--){LCD_WR_DATA(color);}//显示所填充的颜色.
620//恢复设置
621LCD_WriteReg(R80, 0x0000);//水平方向GRAM起始地址
622LCD_WriteReg(R81, (LCD_WIDTH-1));//水平方向GRAM结束地址
623LCD_WriteReg(R82, 0x0000);//垂直方向GRAM起始地址
624LCD_WriteReg(R83, (LCD_HEIGHT-1));//垂直方向GRAM结束地址
625
626#endif
627
628}
629
630//画线
631//x1,y1:起点坐标
632//x2,y2:终点坐标
633voidLCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2)
634{
635u16 t;
636intxerr=0,yerr=0,delta_x,delta_y,distance;
637intincx,incy,uRow,uCol;
638
639delta_x=x2-x1;//计算坐标增量
640delta_y=y2-y1;
641uRow=x1;
642uCol=y1;
643if(delta_x>0)incx=1;//设置单步方向
644elseif(delta_x==0)incx=0;//垂直线
645else{incx=-1;delta_x=-delta_x;}//终点坐标小于起始坐标,反方向,将坐标重新定位为正坐标
646if(delta_y>0)incy=1;
647elseif(delta_y==0)incy=0;//水平线
648else{incy=-1;delta_y=-delta_y;}//终点坐标小于起始坐标,反方向,将坐标重新定位为正坐标
649if( delta_x>delta_y)distance=delta_x;//选取基本增量坐标轴
650elsedistance=delta_y;
651for(t=0;t<=distance+1;t++ )//画线输出
652{
653LCD_DrawPoint(uRow,uCol);//根据坐标画点
654xerr+=delta_x ;//X坐标增量
655yerr+=delta_y ;//Y坐标增量
656if(xerr>distance)
657{
658xerr-=distance;
659uRow+=incx;
660
661}
662if(yerr>distance)
663{
664yerr-=distance;
665uCol+=incy;
666}
667}
668}
669
670//画矩形
671voidLCD_DrawRectangle(u8 x1, u16 y1, u8 x2, u16 y2)
672{
673LCD_DrawLine(x1,y1,x2,y1);
674LCD_DrawLine(x1,y1,x1,y2);
675LCD_DrawLine(x1,y2,x2,y2);
676LCD_DrawLine(x2,y1,x2,y2);
677}
678
679//在指定位置画一个指定大小的圆
680//(x,y):中心点
681//r :半径
682voidDraw_Circle(u8 x0,u16 y0,u8 r)
683{
684inta,b;
685intdi;
686a=0;b=r;
687di=3-(r<<1);//判断下个点位置的标志
688while(a<=b)
689{
690LCD_DrawPoint(x0-b,y0-a);//3
691LCD_DrawPoint(x0+b,y0-a);//0
692LCD_DrawPoint(x0-a,y0+b);//1
693LCD_DrawPoint(x0-b,y0-a);//7
694LCD_DrawPoint(x0-a,y0-b);//2
695LCD_DrawPoint(x0+b,y0+a);//4
696LCD_DrawPoint(x0+a,y0-b);//5
697LCD_DrawPoint(x0+a,y0+b);//6
698LCD_DrawPoint(x0-b,y0+a);
699
700a++;
701
702//使用Bresenham算法画圆
703if(di<0){
704di +=4*a+6;
705}else{
706di+=10+4*(a-b);
707b--;
708}
709LCD_DrawPoint(x0+a,y0+b);
710}
711}
712
713//在指定位置显示一个字符
714//x:0~234
715//y:0~308
716//num:要显示的字符:" "--->"~"
717//size:字体大小 12/16
718//mode:叠加方式(1)还是非叠加方式(0)
719voidLCD_ShowChar(u8 x,u16 y,u8 num,u8 size,u8 mode)
720{
721
722#if USE_HORIZONTAL
723
724#define MAX_CHAR_POSX 312
725#define MAX_CHAR_POSY 232
726
727u8 temp;
728u8 pos,t;
729u16 x0=x;
730u16 colortemp=POINT_COLOR;
731if(x>MAX_CHAR_POSX||y>MAX_CHAR_POSY)return;
732//设置窗口
733num=num- ;//得到偏移后的值
734if(!mode)//非叠加方式
735{
736for(pos=0;pos
737{
738if(size==12)
739temp=asc2_1206[num][pos];//调用1206字体
740else
741temp=asc2_1608[num][pos];//调用1608字体
742
743for(t=0;t
744{
745if(temp&0x01)
746POINT_COLOR=colortemp;
747else
748POINT_COLOR=BACK_COLOR;
749
750LCD_DrawPoint(x,y);
751temp>>=1;
752x++;
753}
754x=x0;
755y++;
756}
757}else{//叠加方式
758for(pos=0;pos
759{
760if(size==12)
761temp=asc2_1206[num][pos];//调用1206字体
762else
763temp=asc2_1608[num][pos];//调用1608字体
764
765for(t=0;t
766{
767if(temp&0x01)LCD_DrawPoint(x+t,y+pos);//画一个点
768temp>>=1;
769}
770}
771}
772POINT_COLOR=colortemp;
773
774#else
775#define MAX_CHAR_POSX 232
776#define MAX_CHAR_POSY 304
777
778u8 temp;
779u8 pos,t;
780
781if(x>MAX_CHAR_POSX||y>MAX_CHAR_POSY)return;
782//设置窗口
783
784LCD_WriteReg(R80,x);//水平方向GRAM起始地址
785LCD_WriteReg(R81,x+(size/2-1));//水平方向GRAM结束地址
786LCD_WriteReg(R82,y);//垂直方向GRAM起始地址
787LCD_WriteReg(R83,y+size-1);//垂直方向GRAM结束地址
788LCD_SetCursor(x,y);//设置光标位置
789LCD_WriteRAM_Prepare();//开始写入GRAM
790num=num- ;//得到偏移后的值
791if(!mode)//非叠加方式
792{
793for(pos=0;pos
794{
795if(size==12)
796temp=asc2_1206[num][pos];//调用1206字体
797else
798temp=asc2_1608[num][pos];//调用1608字体
799
800for(t=0;t
801{
802if(temp&0x01){
803LCD_WR_DATA(POINT_COLOR);
804}else{
805LCD_WR_DATA(BACK_COLOR);
806}
807
808temp>>=1;
809}
810}
811}else{//叠加方式
812
813for(pos=0;pos
814{
815if(size==12)
816temp=asc2_1206[num][pos];//调用1206字体
817else
818temp=asc2_1608[num][pos];//调用1608字体
819for(t=0;t
820{
821if(temp&0x01)
822LCD_DrawPoint(x+t,y+pos);//画一个点
823temp>>=1;
824}
825}
826}
827//恢复窗体大小
828LCD_WriteReg(R80, 0x0000);//水平方向GRAM起始地址
829LCD_WriteReg(R81, (LCD_WIDTH-1));//水平方向GRAM结束地址
830LCD_WriteReg(R82, 0x0000);//垂直方向GRAM起始地址
831LCD_WriteReg(R83, (LCD_HEIGHT-1));//垂直方向GRAM结束地址
832
833#endif
834
835}
836
837//m^n函数
838u32 mypow(u8 m,u8 n)
839{
840u32 result=1;
841while(n--)result*=m;
842returnresult;
843}
844
845//显示数字
846//x,y :起点坐标
847//len :数字的位数
848//size:字体大小
849//color:颜色
850//num:数值(0~4294967295);
851voidLCD_ShowNum(u8 x,u16 y,u32 num,u8 len,u8 size)
852{
853u8 t,temp;
854u8 enshow=0;
855for(t=0;t
856{
857temp=(num/mypow(10,len-t-1))%10;
858if(enshow==0&&t<(len-1))
859{
860if(temp==0)
861{
862LCD_ShowChar(x+(size/2)*t,y, ,size,0);
863continue;
864}else{
865enshow=1;
866}
867}
868LCD_ShowChar(x+(size/2)*t,y,temp+0,size,0);
869}
870}
871
872
873//显示字符串
874//x,y:起点坐标
875//*p:字符串起始地址
876//用16字体
877voidLCD_ShowString(u8 x,u16 y,constu8 *p)
878{
879while(*p!=)//字符串到达结束
880{
881if(x>MAX_CHAR_POSX){x=0;y+=16;}//换行
882if(y>MAX_CHAR_POSY){y=x=0;LCD_Clear(WHITE);}//超出屏幕显示范围
883LCD_ShowChar(x,y,*p,16,0);
884x+=8;
885p++;
886}
887}
LCD/ili93xx.h (相关I/O操作在此文件中以宏定义的方式实现)
001#include "stm32f10x.h"
002
003//TFTLCD部分外要调用的函数
004externu16 POINT_COLOR;//默认红色
005externu16 BACK_COLOR;//背景颜色.默认为白色
006
007//定义LCD的尺寸
008#define LCD_WIDTH 240
009#define LCD_HEIGHT 320
010
011//9320/9325 LCD寄存器
012#define R0 0x00
013#define R1 0x01
014#define R2 0x02
015#define R3 0x03
016#define R4 0x04
017#define R5 0x05
018#define R6 0x06
019#define R7 0x07
020#define R8 0x08
021#define R9 0x09
022#define R10 0x0A
023#define R12 0x0C
024#define R13 0x0D
025#define R14 0x0E
026#define R15 0x0F
027#define R16 0x10
028#define R17 0x11
029#define R18 0x12
030#define R19 0x13
031#define R20 0x14
032#define R21 0x15
033#define R22 0x16
034#define R23 0x17
035#define R24 0x18
036#define R25 0x19
037#define R26 0x1A
038#define R27 0x1B
039#define R28 0x1C
040#define R29 0x1D
041#define R30 0x1E
042#define R31 0x1F
043#define R32 0x20
044#define R33 0x21
045#define R34 0x22
046#define R36 0x24
047#define R37 0x25
048#define R40 0x28
049#define R41 0x29
050#define R43 0x2B
051#define R45 0x2D
052#define R48 0x30
053#define R49 0x31
054#define R50 0x32
055#define R51 0x33
056#define R52 0x34
057#define R53 0x35
058#define R54 0x36
059#define R55 0x37
060#define R56 0x38
061#define R57 0x39
062#define R59 0x3B
063#define R60 0x3C
064#define R61 0x3D
065#define R62 0x3E
066#define R63 0x3F
067#define R64 0x40
068#define R65 0x41
069#define R66 0x42
070#define R67 0x43
071#define R68 0x44
072#define R69 0x45
073#define R70 0x46
074#define R71 0x47
075#define R72 0x48
076#define R73 0x49
077#define R74 0x4A
078#define R75 0x4B
079#define R76 0x4C
080#define R77 0x4D
081#define R78 0x4E
082#define R79 0x4F
083#define R80 0x50
084#define R81 0x51
085#define R82 0x52
086#define R83 0x53
087#define R96 0x60
088#define R97 0x61
089#define R106 0x6A
090#define R118 0x76
091#define R128 0x80
092#define R129 0x81
093#define R130 0x82
094#define R131 0x83
095#define R132 0x84
096#define R133 0x85
097#define R134 0x86
098#define R135 0x87
099#define R136 0x88
100#define R137 0x89
101#define R139 0x8B
102#define R140 0x8C
103#define R141 0x8D
104#define R143 0x8F
105#define R144 0x90
106#define R145 0x91
107#define R146 0x92
108#define R147 0x93
109#define R148 0x94
110#define R149 0x95
111#define R150 0x96
112#define R151 0x97
113#define R152 0x98
114#define R153 0x99
115#define R154 0x9A
116#define R157 0x9D
117#define R192 0xC0
118#define R193 0xC1
119#define R229 0xE5
120
121
122/*硬件相关的宏定义*/
123#define LCD_FAST_IO 1 //定义是否使用快速IO 建议使用快速IO,效率更高
124
125//-----------------LCD端口定义----------------
126/********************************************************************************/
127
128#define LCD_GPIO_LED_PORT GPIOC
129#define LCD_GPIO_LED_PIN GPIO_Pin_10
130
131#define LCD_GPIO_CS_PORT GPIOC
132#define LCD_GPIO_CS_PIN GPIO_Pin_9
133
134
135#define LCD_GPIO_RS_PORT GPIOC
136#define LCD_GPIO_RS_PIN GPIO_Pin_8
137
138
139#define LCD_GPIO_WR_PORT GPIOC
140#define LCD_GPIO_WR_PIN GPIO_Pin_7
141
142
143#define LCD_GPIO_RD_PORT GPIOC
144#define LCD_GPIO_RD_PIN GPIO_Pin_6
145
146//16位数据所在端口,PB0~15作为数据线
147#define LCD_GPIO_DATA_PORT GPIOB
148#define LCD_GPIO_DATA_PIN GPIO_Pin_All
149
150#if LCD_FAST_IO == 1 //快速IO
151
152#define Set_Cs GPIOC->BSRR=1<<9 //片选端口 PC9
153#define Set_Rs GPIOC->BSRR=1<<8 //数据/命令 PC8
154#define Set_Wr GPIOC->BSRR=1<<7 //写数据 PC7
155#define Set_Rd GPIOC->BSRR=1<<6 //读数据 PC6
156
157#define Clr_Cs GPIOC->BRR=1<<9 //片选端口 PC9
158#define Clr_Rs GPIOC->BRR=1<<8 //数据/命令 PC8
159#define Clr_Wr GPIOC->BRR=1<<7 //写数据 PC7
160#define Clr_Rd GPIOC->BRR=1<<6 //读数据 PC6
161
162
163#else
164
165#define Set_Cs {GPIO_SetBits(LCD_GPIO_CS_PORT,LCD_GPIO_CS_PIN);}
166#define Clr_Cs {GPIO_ResetBits(LCD_GPIO_CS_PORT,LCD_GPIO_CS_PIN);}
167#define Set_Rs {GPIO_SetBits(LCD_GPIO_RS_PORT,LCD_GPIO_RS_PIN);}
168#define Clr_Rs {GPIO_ResetBits(LCD_GPIO_RS_PORT,LCD_GPIO_RS_PIN);}
169#define Set_Wr {GPIO_SetBits(LCD_GPIO_WR_PORT,LCD_GPIO_WR_PIN);}
170#define Clr_Wr {GPIO_ResetBits(LCD_GPIO_WR_PORT,LCD_GPIO_WR_PIN);}
171#define Set_Rd {GPIO_SetBits(LCD_GPIO_RD_PORT,LCD_GPIO_RD_PIN);}
172#define Clr_Rd {GPIO_ResetBits(LCD_GPIO_RD_PORT,LCD_GPIO_RD_PIN);}
173
174#endif
175
176#define Set_LED {GPIO_SetBits(LCD_GPIO_LED_PORT,LCD_GPIO_LED_PIN);}
177#define Clr_LED {GPIO_ResetBits(LCD_GPIO_LED_PORT,LCD_GPIO_LED_PIN);}
178
179#define Write_Data(DataValue) {GPIO_Write(LCD_GPIO_DATA_PORT,DataValue);}
180
181//直接操作寄存器读取,使用库函数读取I/O有问题,原因不详
182#define Read_Data() (LCD_GPIO_DATA_PORT ->IDR) //必须使用宏定义,写成函数会有问题
183//#define Read_Data() (GPIO_ReadInputData(LCD_GPIO_DATA_PORT)) //这句有问题
184
185
186
187//写8位数据函数
188//用宏定义,提高速度.
189#define LCD_WR_DATA(data){
190Set_Rs;
191Clr_Cs;
192Write_Data(data);
193Clr_Wr;
194Set_Wr;
195Set_Cs;
196}
197
198
199/********************************************************************************/
200
201//画笔颜色
202#define WHITE 0xFFFF
203#define BLACK 0x0000
204#define BLUE 0x001F
205#define BRED 0XF81F
206#define GRED 0XFFE0
207#define GBLUE 0X07FF
208#define RED 0xF800
209#define MAGENTA 0xF81F
210#define GREEN 0x07E0
211#define CYAN 0x7FFF
212#define YELLOW 0xFFE0
213#define BROWN 0XBC40 //棕色
214#define BRRED 0XFC07 //棕红色
215#define GRAY 0X8430 //灰色
216//GUI颜色
217
218#define DARKBLUE 0X01CF //深蓝色
219#define LIGHTBLUE 0X7D7C //浅蓝色
220#define GRAYBLUE 0X5458 //灰蓝色
221//以上三色为PANEL的颜色
222
223#define LIGHTGREEN 0X841F //浅绿色
224//#define LIGHTGRAY 0XEF5B //浅灰色(PANNEL)
225#define LGRAY 0XC618 //浅灰色(PANNEL),窗体背景色
226#define LGRAYBLUE 0XA651 //浅灰蓝色(中间层颜色)
227#define LBBLUE 0X2B12 //浅棕蓝色(选择条目的反色)
228
229voidLCD_Delay(u32 nCount);
230voidLCD_Config(void);
231voidLCD_DisplayOn(void);
232voidLCD_DisplayOff(void);
233voidLCD_Clear(u16 Color);
234voidLCD_SetCursor(u8 Xpos, u16 Ypos);
235voidLCD_DrawPoint(u16 x,u16 y);//画点
236u16 LCD_ReadPoint(u16 x,u16 y);//读点
237voidDraw_Circle(u8 x0,u16 y0,u8 r);
238voidLCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2);
239voidLCD_DrawRectangle(u8 x1, u16 y1, u8 x2, u16 y2);
240voidLCD_Fill(u8 xsta,u16 ysta,u8 xend,u16 yend,u16 color);
241voidLCD_ShowChar(u8 x,u16 y,u8 num,u8 size,u8 mode);//显示一个字符
242voidLCD_ShowNum(u8 x,u16 y,u32 num,u8 len,u8 size);//显示一个数字
243voidLCD_ShowString(u8 x,u16 y,constu8 *p);//显示一个字符串,16字体
244
245voidLCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue);
246u16 LCD_ReadReg(u8 LCD_Reg);
247voidLCD_WriteRAM_Prepare(void);
248voidLCD_WriteRAM(u16 RGB_Code);
249u16 LCD_ReadRAM(void);
font.h (字库文件)
001//常用ASCII表
002//偏移量32
003//ASCII字符集
004//偏移量32
005//大小:12*6
006constunsignedcharasc2_1206[95][12]={
007{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
008{0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x04,0x00,0x00},/*"!",1*/
009{0x00,0x14,0x0A,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
010{0x00,0x00,0x14,0x14,0x3F,0x14,0x0A,0x3F,0x0A,0x0A,0x00,0x00},/*"#",3*/
011{0x00,0x04,0x1E,0x15,0x05,0x06,0x0C,0x14,0x15,0x0F,0x04,0x00},/*"$",4*/
012{0x00,0x00,0x12,0x15,0x0D,0x0A,0x14,0x2C,0x2A,0x12,0x00,0x00},/*"%",5*/
013{0x00,0x00,0x04,0x0A,0x0A,0x1E,0x15,0x15,0x09,0x36,0x00,0x00},/*"&",6*/
014{0x00,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"",7*/
015{0x00,0x20,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x20,0x00},/*"(",8*/
016{0x00,0x02,0x04,0x08,0x08,0x08,0x08,0x08,0x08,0x04,0x02,0x00},/*")",9*/
017{0x00,0x00,0x00,0x04,0x15,0x0E,0x0E,0x15,0x04,0x00,0x00,0x00},/*"*",10*/
018{0x00,0x00,0x04,0x04,0x04,0x1F,0x04,0x04,0x04,0x00,0x00,0x00},/*"+",11*/
019{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x01},/*",",12*/
020{0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
021{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00},/*".",14*/
022{0x00,0x10,0x08,0x08,0x08,0x04,0x04,0x02,0x02,0x02,0x01,0x00},/*"/",15*/
023{0x00,0x00,0x0E,0x11,0x11,0x11,0x11,0x11,0x11,0x0E,0x00,0x00},/*"0",16*/
024{0x00,0x00,0x04,0x06,0x04,0x04,0x04,0x04,0x04,0x0E,0x00,0x00},/*"1",17*/
025{0x00,0x00,0x0E,0x11,0x11,0x08,0x04,0x02,0x01,0x1F,0x00,0x00},/*"2",18*/
026{0x00,0x00,0x0E,0x11,0x10,0x0C,0x10,0x10,0x11,0x0E,0x00,0x00},/*"3",19*/
027{0x00,0x00,0x08,0x0C,0x0A,0x0A,0x09,0x1E,0x08,0x18,0x00,0x00},/*"4",20*/
028{0x00,0x00,0x1F,0x01,0x01,0x0F,0x10,0x10,0x11,0x0E,0x00,0x00},/*"5",21*/
029{0x00,0x00,0x0E,0x09,0x01,0x0F,0x11,0x11,0x11,0x0E,0x00,0x00},/*"6",22*/
030{0x00,0x00,0x1F,0x09,0x08,0x04,0x04,0x04,0x04,0x04,0x00,0x00},/*"7",23*/
031{0x00,0x00,0x0E,0x11,0x11,0x0E,0x11,0x11,0x11,0x0E,0x00,0x00},/*"8",24*/
032{0x00,0x00,0x0E,0x11,0x11,0x11,0x1E,0x10,0x12,0x0E,0x00,0x00},/*"9",25*/
033{0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x04,0x00,0x00},/*":",26*/
034{0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x04,0x00},/*";",27*/
035{0x00,0x20,0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x20,0x00,0x00},/*"<",28*/
036{0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x00,0x00},/*"=",29*/
037{0x00,0x02,0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x02,0x00,0x00},/*">",30*/
038{0x00,0x00,0x0E,0x11,0x11,0x08,0x04,0x04,0x00,0x04,0x00,0x00},/*"?",31*/
039{0x00,0x00,0x0E,0x11,0x19,0x15,0x15,0x1D,0x01,0x1E,0x00,0x00},/*"@",32*/
040{0x00,0x00,0x04,0x04,0x0C,0x0A,0x0A,0x1E,0x12,0x33,0x00,0x00},/*"A",33*/
041{0x00,0x00,0x0F,0x12,0x12,0x0E,0x12,0x12,0x12,0x0F,0x00,0x00},/*"B",34*/
042{0x00,0x00,0x1E,0x11,0x01,0x01,0x01,0x01,0x11,0x0E,0x00,0x00},/*"C",35*/
043{0x00,0x00,0x0F,0x12,0x12,0x12,0x12,0x12,0x12,0x0F,0x00,0x00},/*"D",36*/
044{0x00,0x00,0x1F,0x12,0x0A,0x0E,0x0A,0x02,0x12,0x1F,0x00,0x00},/*"E",37*/
045{0x00,0x00,0x1F,0x12,0x0A,0x0E,0x0A,0x02,0x02,0x07,0x00,0x00},/*"F",38*/
046{0x00,0x00,0x1C,0x12,0x01,0x01,0x39,0x11,0x12,0x0C,0x00,0x00},/*"G",39*/
047{0x00,0x00,0x33,0x12,0x12,0x1E,0x12,0x12,0x12,0x33,0x00,0x00},/*"H",40*/
048{0x00,0x00,0x1F,0x04,0x04,0x04,0x04,0x04,0x04,0x1F,0x00,0x00},/*"I",41*/
049{0x00,0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x09,0x07,0x00},/*"J",42*/
050{0x00,0x00,0x37,0x12,0x0A,0x06,0x0A,0x0A,0x12,0x37,0x00,0x00},/*"K",43*/
051{0x00,0x00,0x07,0x02,0x02,0x02,0x02,0x02,0x22,0x3F,0x00,0x00},/*"L",44*/
052{0x00,0x00,0x1B,0x1B,0x1B,0x1B,0x15,0x15,0x15,0x15,0x00,0x00},/*"M",45*/
053{0x00,0x00,0x3B,0x12,0x16,0x16,0x1A,0x1A,0x12,0x17,0x00,0x00},/*"N",46*/
054{0x00,0x00,0x0E,0x11,0x11,0x11,0x11,0x11,0x11,0x0E,0x00,0x00},/*"O",47*/
055{0x00,0x00,0x0F,0x12,0x12,0x0E,0x02,0x02,0x02,0x07,0x00,0x00},/*"P",48*/
056{0x00,0x00,0x0E,0x11,0x11,0x11,0x11,0x17,0x19,0x0E,0x18,0x00},/*"Q",49*/
057{0x00,0x00,0x0F,0x12,0x12,0x0E,0x0A,0x12,0x12,0x37,0x00,0x00},/*"R",50*/
058{0x00,0x00,0x1E,0x11,0x01,0x06,0x08,0x10,0x11,0x0F,0x00,0x00},/*"S",51*/
059{0x00,0x00,0x1F,0x15,0x04,0x04,0x04,0x04,0x04,0x0E,0x00,0x00},/*"T",52*/
060{0x00,0x00,0x33,0x12,0x12,0x12,0x12,0x12,0x12,0x0C,0x00,0x00},/*"U",53*/
061{0x00,0x00,0x33,0x12,0x12,0x0A,0x0A,0x0C,0x04,0x04,0x00,0x00},/*"V",54*/
062{0x00,0x00,0x15,0x15,0x15,0x0E,0x0A,0x0A,0x0A,0x0A,0x00,0x00},/*"W",55*/
063{0x00,0x00,0x1B,0x0A,0x0A,0x04,0x04,0x0A,0x0A,0x1B,0x00,0x00},/*"X",56*/
064{0x00,0x00,0x1B,0x0A,0x0A,0x04,0x04,0x04,0x04,0x0E,0x00,0x00},/*"Y",57*/
065{0x00,0x00,0x1F,0x09,0x08,0x04,0x04,0x02,0x12,0x1F,0x00,0x00},/*"Z",58*/
066{0x00,0x1C,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x1C,0x00},/*"[",59*/
067{0x00,0x02,0x02,0x02,0x04,0x04,0x08,0x08,0x08,0x10,0x00,0x00},/*"",60*/
068{0x00,0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x0E,0x00},/*"]",61*/
069{0x00,0x04,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
070{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F},/*"_",63*/
071{0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
072{0x00,0x00,0x00,0x00,0x00,0x0C,0x12,0x1C,0x12,0x3C,0x00,0x00},/*"a",65*/
073{0x00,0x00,0x03,0x02,0x02,0x0E,0x12,0x12,0x12,0x0E,0x00,0x00},/*"b",66*/
074{0x00,0x00,0x00,0x00,0x00,0x1C,0x12,0x02,0x02,0x1C,0x00,0x00},/*"c",67*/
075{0x00,0x00,0x18,0x10,0x10,0x1C,0x12,0x12,0x12,0x3C,0x00,0x00},/*"d",68*/
076{0x00,0x00,0x00,0x00,0x00,0x0C,0x12,0x1E,0x02,0x1C,0x00,0x00},/*"e",69*/
077{0x00,0x00,0x38,0x04,0x04,0x1E,0x04,0x04,0x04,0x1E,0x00,0x00},/*"f",70*/
078{0x00,0x00,0x00,0x00,0x00,0x3C,0x12,0x0C,0x02,0x1E,0x22,0x1C},/*"g",71*/
079{0x00,0x00,0x03,0x02,0x02,0x0E,0x12,0x12,0x12,0x37,0x00,0x00},/*"h",72*/
080{0x00,0x00,0x04,0x00,0x00,0x06,0x04,0x04,0x04,0x0E,0x00,0x00},/*"i",73*/
081{0x00,0x00,0x08,0x00,0x00,0x0C,0x08,0x08,0x08,0x08,0x08,0x07},/*"j",74*/
082{0x00,0x00,0x03,0x02,0x02,0x3A,0x0A,0x0E,0x12,0x37,0x00,0x00},/*"k",75*/
083{0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x04,0x04,0x1F,0x00,0x00},/*"l",76*/
084{0x00,0x00,0x00,0x00,0x00,0x0F,0x15,0x15,0x15,0x15,0x00,0x00},/*"m",77*/
085{0x00,0x00,0x00,0x00,0x00,0x0F,0x12,0x12,0x12,0x37,0x00,0x00},/*"n",78*/
086{0x00,0x00,0x00,0x00,0x00,0x0C,0x12,0x12,0x12,0x0C,0x00,0x00},/*"o",79*/
087{0x00,0x00,0x00,0x00,0x00,0x0F,0x12,0x12,0x12,0x0E,0x02,0x07},/*"p",80*/
088{0x00,0x00,0x00,0x00,0x00,0x1C,0x12,0x12,0x12,0x1C,0x10,0x38},/*"q",81*/
089{0x00,0x00,0x00,0x00,0x00,0x1B,0x06,0x02,0x02,0x07,0x00,0x00},/*"r",82*/
090{0x00,0x00,0x00,0x00,0x00,0x1E,0x02,0x0C,0x10,0x1E,0x00,0x00},/*"s",83*/
091{0x00,0x00,0x00,0x04,0x04,0x0E,0x04,0x04,0x04,0x18,0x00,0x00},/*"t",84*/
092{0x00,0x00,0x00,0x00,0x00,0x1B,0x12,0x12,0x12,0x3C,0x00,0x00},/*"u",85*/
093{0x00,0x00,0x00,0x00,0x00,0x37,0x12,0x0A,0x0C,0x04,0x00,0x00},/*"v",86*/
094{0x00,0x00,0x00,0x00,0x00,0x15,0x15,0x0E,0x0A,0x0A,0x00,0x00},/*"w",87*/
095{0x00,0x00,0x00,0x00,0x00,0x1B,0x0A,0x04,0x0A,0x1B,0x00,0x00},/*"x",88*/
096{0x00,0x00,0x00,0x00,0x00,0x37,0x12,0x0A,0x0C,0x04,0x04,0x03},/*"y",89*/
097{0x00,0x00,0x00,0x00,0x00,0x1E,0x08,0x04,0x04,0x1E,0x00,0x00},/*"z",90*/
098{0x00,0x18,0x08,0x08,0x08,0x04,0x08,0x08,0x08,0x08,0x18,0x00},/*"{",91*/
099{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},/*"|",92*/
100{0x00,0x06,0x04,0x04,0x04,0x08,0x04,0x04,0x04,0x04,0x06,0x00},/*"}",93*/
101{0x02,0x25,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}/*"~",94*/
102};
103constunsignedcharasc2_1608[95][16]={
104{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
105{0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x18,0x18,0x00,0x00},/*"!",1*/
106{0x00,0x48,0x6C,0x24,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
107{0x00,0x00,0x00,0x24,0x24,0x24,0x7F,0x12,0x12,0x12,0x7F,0x12,0x12,0x12,0x00,0x00},/*"#",3*/
108{0x00,0x00,0x08,0x1C,0x2A,0x2A,0x0A,0x0C,0x18,0x28,0x28,0x2A,0x2A,0x1C,0x08,0x08},/*"$",4*/
109{0x00,0x00,0x00,0x22,0x25,0x15,0x15,0x15,0x2A,0x58,0x54,0x54,0x54,0x22,0x00,0x00},/*"%",5*/
110{0x00,0x00,0x00,0x0C,0x12,0x12,0x12,0x0A,0x76,0x25,0x29,0x11,0x91,0x6E,0x00,0x00},/*"&",6*/
111{0x00,0x06,0x06,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"",7*/
112{0x00,0x40,0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x40,0x00},/*"(",8*/
113{0x00,0x02,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x08,0x04,0x02,0x00},/*")",9*/
114{0x00,0x00,0x00,0x00,0x08,0x08,0x6B,0x1C,0x1C,0x6B,0x08,0x08,0x00,0x00,0x00,0x00},/*"*",10*/
115{0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x7F,0x08,0x08,0x08,0x08,0x00,0x00,0x00},/*"+",11*/
116{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x04,0x03},/*",",12*/
117{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
118{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00},/*".",14*/
119{0x00,0x00,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x02,0x02,0x00},/*"/",15*/
120{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"0",16*/
121{0x00,0x00,0x00,0x08,0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"1",17*/
122{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x20,0x20,0x10,0x08,0x04,0x42,0x7E,0x00,0x00},/*"2",18*/
123{0x00,0x00,0x00,0x3C,0x42,0x42,0x20,0x18,0x20,0x40,0x40,0x42,0x22,0x1C,0x00,0x00},/*"3",19*/
124{0x00,0x00,0x00,0x20,0x30,0x28,0x24,0x24,0x22,0x22,0x7E,0x20,0x20,0x78,0x00,0x00},/*"4",20*/
125{0x00,0x00,0x00,0x7E,0x02,0x02,0x02,0x1A,0x26,0x40,0x40,0x42,0x22,0x1C,0x00,0x00},/*"5",21*/
126{0x00,0x00,0x00,0x38,0x24,0x02,0x02,0x1A,0x26,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"6",22*/
127{0x00,0x00,0x00,0x7E,0x22,0x22,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00},/*"7",23*/
128{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00},/*"8",24*/
129{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x64,0x58,0x40,0x40,0x24,0x1C,0x00,0x00},/*"9",25*/
130{0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00},/*":",26*/
131{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x04},/*";",27*/
132{0x00,0x00,0x00,0x40,0x20,0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x20,0x40,0x00,0x00},/*"<",28*/
133{0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00},/*"=",29*/
134{0x00,0x00,0x00,0x02,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x02,0x00,0x00},/*">",30*/
135{0x00,0x00,0x00,0x3C,0x42,0x42,0x46,0x40,0x20,0x10,0x10,0x00,0x18,0x18,0x00,0x00},/*"?",31*/
136{0x00,0x00,0x00,0x1C,0x22,0x5A,0x55,0x55,0x55,0x55,0x2D,0x42,0x22,0x1C,0x00,0x00},/*"@",32*/
137{0x00,0x00,0x00,0x08,0x08,0x18,0x14,0x14,0x24,0x3C,0x22,0x42,0x42,0xE7,0x00,0x00},/*"A",33*/
138{0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x1E,0x22,0x42,0x42,0x42,0x22,0x1F,0x00,0x00},/*"B",34*/
139{0x00,0x00,0x00,0x7C,0x42,0x42,0x01,0x01,0x01,0x01,0x01,0x42,0x22,0x1C,0x00,0x00},/*"C",35*/
140{0x00,0x00,0x00,0x1F,0x22,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x1F,0x00,0x00},/*"D",36*/
141{0x00,0x00,0x00,0x3F,0x42,0x12,0x12,0x1E,0x12,0x12,0x02,0x42,0x42,0x3F,0x00,0x00},/*"E",37*/
142{0x00,0x00,0x00,0x3F,0x42,0x12,0x12,0x1E,0x12,0x12,0x02,0x02,0x02,0x07,0x00,0x00},/*"F",38*/
143{0x00,0x00,0x00,0x3C,0x22,0x22,0x01,0x01,0x01,0x71,0x21,0x22,0x22,0x1C,0x00,0x00},/*"G",39*/
144{0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"H",40*/
145{0x00,0x00,0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"I",41*/
146{0x00,0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x0F},/*"J",42*/
147{0x00,0x00,0x00,0x77,0x22,0x12,0x0A,0x0E,0x0A,0x12,0x12,0x22,0x22,0x77,0x00,0x00},/*"K",43*/
148{0x00,0x00,0x00,0x07,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x42,0x7F,0x00,0x00},/*"L",44*/
149{0x00,0x00,0x00,0x77,0x36,0x36,0x36,0x36,0x2A,0x2A,0x2A,0x2A,0x2A,0x6B,0x00,0x00},/*"M",45*/
150{0x00,0x00,0x00,0xE3,0x46,0x46,0x4A,0x4A,0x52,0x52,0x52,0x62,0x62,0x47,0x00,0x00},/*"N",46*/
151{0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x22,0x1C,0x00,0x00},/*"O",47*/
152{0x00,0x00,0x00,0x3F,0x42,0x42,0x42,0x42,0x3E,0x02,0x02,0x02,0x02,0x07,0x00,0x00},/*"P",48*/
153{0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x4D,0x53,0x32,0x1C,0x60,0x00},/*"Q",49*/
154{0x00,0x00,0x00,0x3F,0x42,0x42,0x42,0x3E,0x12,0x12,0x22,0x22,0x42,0xC7,0x00,0x00},/*"R",50*/
155{0x00,0x00,0x00,0x7C,0x42,0x42,0x02,0x04,0x18,0x20,0x40,0x42,0x42,0x3E,0x00,0x00},/*"S",51*/
156{0x00,0x00,0x00,0x7F,0x49,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x1C,0x00,0x00},/*"T",52*/
157{0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00},/*"U",53*/
158{0x00,0x00,0x00,0xE7,0x42,0x42,0x22,0x24,0x24,0x14,0x14,0x18,0x08,0x08,0x00,0x00},/*"V",54*/
159{0x00,0x00,0x00,0x6B,0x49,0x49,0x49,0x49,0x55,0x55,0x36,0x22,0x22,0x22,0x00,0x00},/*"W",55*/
160{0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x18,0x18,0x18,0x24,0x24,0x42,0xE7,0x00,0x00},/*"X",56*/
161{0x00,0x00,0x00,0x77,0x22,0x22,0x14,0x14,0x08,0x08,0x08,0x08,0x08,0x1C,0x00,0x00},/*"Y",57*/
162{0x00,0x00,0x00,0x7E,0x21,0x20,0x10,0x10,0x08,0x04,0x04,0x42,0x42,0x3F,0x00,0x00},/*"Z",58*/
163{0x00,0x78,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x78,0x00},/*"[",59*/
164{0x00,0x00,0x02,0x02,0x04,0x04,0x08,0x08,0x08,0x10,0x10,0x20,0x20,0x20,0x40,0x40},/*"",60*/
165{0x00,0x1E,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1E,0x00},/*"]",61*/
166{0x00,0x38,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
167{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},/*"_",63*/
168{0x00,0x06,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
169{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x78,0x44,0x42,0x42,0xFC,0x00,0x00},/*"a",65*/
170{0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x1A,0x26,0x42,0x42,0x42,0x26,0x1A,0x00,0x00},/*"b",66*/
171{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x02,0x02,0x02,0x44,0x38,0x00,0x00},/*"c",67*/
172{0x00,0x00,0x00,0x60,0x40,0x40,0x40,0x78,0x44,0x42,0x42,0x42,0x64,0xD8,0x00,0x00},/*"d",68*/
173{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x7E,0x02,0x02,0x42,0x3C,0x00,0x00},/*"e",69*/
174{0x00,0x00,0x00,0xF0,0x88,0x08,0x08,0x7E,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"f",70*/
175{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x22,0x22,0x1C,0x02,0x3C,0x42,0x42,0x3C},/*"g",71*/
176{0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x3A,0x46,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"h",72*/
177{0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x0E,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"i",73*/
178{0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x1E},/*"j",74*/
179{0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x72,0x12,0x0A,0x16,0x12,0x22,0x77,0x00,0x00},/*"k",75*/
180{0x00,0x00,0x00,0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"l",76*/
181{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x92,0x92,0x92,0x92,0x92,0xB7,0x00,0x00},/*"m",77*/
182{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3B,0x46,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"n",78*/
183{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00},/*"o",79*/
184{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x26,0x42,0x42,0x42,0x22,0x1E,0x02,0x07},/*"p",80*/
185{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x44,0x42,0x42,0x42,0x44,0x78,0x40,0xE0},/*"q",81*/
186{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x4C,0x04,0x04,0x04,0x04,0x1F,0x00,0x00},/*"r",82*/
187{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x42,0x02,0x3C,0x40,0x42,0x3E,0x00,0x00},/*"s",83*/
188{0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x3E,0x08,0x08,0x08,0x08,0x08,0x30,0x00,0x00},/*"t",84*/
189{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x42,0x42,0x42,0x42,0x62,0xDC,0x00,0x00},/*"u",85*/
190{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x14,0x08,0x08,0x00,0x00},/*"v",86*/
191{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEB,0x49,0x49,0x55,0x55,0x22,0x22,0x00,0x00},/*"w",87*/
192{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x24,0x18,0x18,0x18,0x24,0x6E,0x00,0x00},/*"x",88*/
193{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x14,0x18,0x08,0x08,0x07},/*"y",89*/
194{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x22,0x10,0x08,0x08,0x44,0x7E,0x00,0x00},/*"z",90*/
195{0x00,0xC0,0x20,0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0xC0,0x00},/*"{",91*/
196{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},/*"|",92*/
197{0x00,0x06,0x08,0x08,0x08,0x08,0x08,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x06,0x00},/*"}",93*/
198{0x0C,0x32,0xC2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
199};
配置好相应的IO为推挽输出,硬件初始化即可。不过这里需要注意的是,这里使用GPIOB作为I80总线数据口,所以和Jtag口冲突(详见:stm32 最小系统中jtag说明)。所以在配置IO时要将 jtag口的IO复用关闭:
1在GPIO_Configuration()配置中:
2
3GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
4// 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP);必须加上这句,否则会导致串口无法使用 被折腾了很久 原因不详
5GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
6// 改变指定管脚的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能
7
8注意:不要忘记在RCC_Configuration()中开启AFIO时钟,//AFIO时钟
9RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
在main.c中直接调用相关函数:
01intmain(void)
02{
03//stm32 初始化
04RCC_Configuration();
05NVIC_Configuration();
06USART_Configuration();
07SPI_Configuration();
08GPIO_Configuration();
09
10LCD_Init();
11
12POINT_COLOR = BLACK;//设置字体颜色
13
14LCD_ShowString(30,50,"Hello Dog .. ");
15
16printf("test.. ");
17
18while(1);
19}
LCD显示效果:


上一页 1 2 下一页

关键词: stm32TFTLC

评论


技术专区

关闭