• 驱动LCD12864显示器


    目录

            1、创建lcd12864.h文件

            2、创建lcd12864.c文件

            3、创建bmp.h文件

            4、创建font.h文件

            5、创建main.c文件

            6、完整代码


            LCD12864是一种128x64像素分辨率的液晶显示器,通常用于嵌入式系统和电子设备中,以显示字符、图像和其他信息。它的驱动IC型号是ST7567A,这个IC是一款常用于控制12864型LCD的驱动芯片。以下是关于LCD12864和ST7567A驱动IC的详细介绍:

    LCD12864液晶显示器: LCD12864的名称中包含了一些关键信息:

    1. "LCD" 表示它是一种液晶显示器(Liquid Crystal Display),通过控制液晶分子来显示图像。
    2. "12864" 表示它的分辨率为128x64像素,即水平有128个像素,垂直有64个像素,总共有8192个像素点。

            LCD12864通常采用背光显示,因此可以在低光或暗环境中清晰可见。它还具有低功耗的特性,使其在电池供电设备中非常有用。

            我所使用的LCD12864为ST7567A驱动IC: ST7567A是一款专门设计用于驱动LCD12864的集成电路芯片。

            ST7567A的像素点是按照列行的方式点亮的,也就是说先点亮列,再点亮行。通俗一点就是:先点亮第1列第1行的一个像素点,继续点亮第1列第2行的一个像素点,依次点亮到第1列的第8行,然后再继续第2列第1行到第8行的方式点亮全部像素点。

            总之,LCD12864与ST7567A驱动IC的组合提供了一个功能强大且灵活的显示解决方案,适用于多种应用,从消费电子产品到工业自动化系统。它的高分辨率、低功耗和多功能性使其成为许多项目中的理想选择。

    1、创建lcd12864.h文件

    1. #include "main.h"
    2. void Initial(void);
    3. void LCD_Clear(void);
    4. void LCD_Refresh(void);
    5. void LCD_DrawPoint(uint8_t x,uint8_t y,uint8_t t);
    6. void LCD_DrawLine(uint8_t x1,uint8_t y1,uint8_t x2,uint8_t y2,uint8_t mode);
    7. void LCD_DrawCarre(uint8_t x1,uint8_t y1,uint8_t w,uint8_t h,uint8_t mode);
    8. void LCD_DrawCircle(uint8_t x,uint8_t y,uint8_t r);
    9. void LCD_ShowChar(uint8_t x,uint8_t y,uint8_t chr,uint8_t size1,uint8_t mode);
    10. void LCD_ShowString(uint8_t x,uint8_t y,uint8_t *chr,uint8_t size1,uint8_t mode);
    11. void LCD_ShowNum(uint8_t x,uint8_t y,uint32_t num,uint8_t len,uint8_t size1,uint8_t mode);
    12. void LCD_ShowChinese(uint8_t x,uint8_t y,uint8_t num,uint8_t size1,uint8_t mode);
    13. void LCD_ShowPicture(uint8_t x,uint8_t y,uint8_t sizex,uint8_t sizey,uint8_t BMP[],uint8_t mode);
    14. void LCD_ShowCharPro(uint8_t x_start, uint8_t y_start, uint8_t fonts, uint8_t string);
    15. void LCD_ShowStringPro(uint8_t x_start, uint8_t y_start, uint8_t fonts, uint8_t *string, uint8_t show);

    2、创建lcd12864.c文件

    1. //Modle :GM12864,128*64
    2. //Driver IC:ST7567A
    3. //Interfaces:SPI-4
    4. #include "gpio.h"
    5. #include "font.h"
    6. //字体选择
    7. #define font_0806 8
    8. #define font_1206 12
    9. #define font_1608 16
    10. #define font_2412 24
    11. static uint8_t LCD_GRAM[144][8];
    12. #define SCL_0 HAL_GPIO_WritePin(SCL_GPIO_Port,SCL_Pin,GPIO_PIN_RESET)
    13. #define SCL_1 HAL_GPIO_WritePin(SCL_GPIO_Port,SCL_Pin,GPIO_PIN_SET)
    14. #define SDA_0 HAL_GPIO_WritePin(SDA_GPIO_Port,SDA_Pin,GPIO_PIN_RESET)
    15. #define SDA_1 HAL_GPIO_WritePin(SDA_GPIO_Port,SDA_Pin,GPIO_PIN_SET)
    16. #define RSTB_0 HAL_GPIO_WritePin(RST_GPIO_Port,RST_Pin,GPIO_PIN_RESET)
    17. #define RSTB_1 HAL_GPIO_WritePin(RST_GPIO_Port,RST_Pin,GPIO_PIN_SET)
    18. #define DC_0 HAL_GPIO_WritePin(DC_GPIO_Port,DC_Pin,GPIO_PIN_RESET)
    19. #define DC_1 HAL_GPIO_WritePin(DC_GPIO_Port,DC_Pin,GPIO_PIN_SET)
    20. #define CS_0 HAL_GPIO_WritePin(CS_GPIO_Port,CS_Pin,GPIO_PIN_RESET)
    21. #define CS_1 HAL_GPIO_WritePin(CS_GPIO_Port,CS_Pin,GPIO_PIN_SET)
    22. // #define LCD_DIS_ROT 180 //选择屏幕旋转参数:旋转180度
    23. #define LCD_DIS_ROT 0 //选择屏幕旋转参数:不旋转0
    24. #if (LCD_DIS_ROT == 180)
    25. #define LCD_COLUMN_OFFSET 4 //旋转180度需要加4个偏移量
    26. #else
    27. #define LCD_COLUMN_OFFSET 0
    28. #endif
    29. void Ins_trans(unsigned char command){
    30. unsigned char counter;
    31. CS_0;
    32. DC_0;
    33. for(counter=0;counter<8;counter++)
    34. {
    35. if((command&0x80)==0x80){
    36. SDA_1;
    37. }else{
    38. SDA_0;
    39. }
    40. SCL_0;
    41. SCL_1;
    42. SCL_0;
    43. command<<=1;
    44. }
    45. CS_1;
    46. }
    47. void Data_trans(unsigned char command){
    48. unsigned char counter;
    49. CS_0;
    50. DC_1;
    51. for(counter=0;counter<8;counter++){
    52. if((command&0x80)==0x80){
    53. SDA_1;
    54. }else{
    55. SDA_0;
    56. }
    57. SCL_0;
    58. SCL_1;
    59. SCL_0;
    60. command<<=1;
    61. }
    62. CS_1;
    63. }
    64. void Column_set(unsigned char column){
    65. column+=LCD_COLUMN_OFFSET;
    66. Ins_trans(0x10|(column>>4));
    67. Ins_trans(0x00|(column&0x0f));
    68. }
    69. void Page_set(unsigned char page){
    70. Ins_trans(0xb0+page);
    71. }
    72. void Initial(){
    73. // RSTB_0;
    74. HAL_Delay(50);
    75. RSTB_1;
    76. Ins_trans(0xe2); //软复位
    77. Ins_trans(0xF8);//booster ratio set
    78. Ins_trans(0x00);//booster ratio:4x
    79. Ins_trans(0xA2);//偏压比(bias) set:1/9
    80. Ins_trans(0x2c); //升压步聚1
    81. Ins_trans(0x2e); //升压步聚2
    82. Ins_trans(0x2f); //升压步聚3
    83. Ins_trans(0x24);//set (Rb/Ra).粗调对比度,可设置范围(range:20h~27h)
    84. Ins_trans(0x81);//set EV.微调对比度
    85. Ins_trans(0x22);//微调对比度的值,可设置范围(range:0~3f)
    86. #if (LCD_DIS_ROT == 180)
    87. Ins_trans(0xA1); //列扫描顺序:从左到右
    88. Ins_trans(0xc0); //行扫描顺序:反序
    89. #else
    90. Ins_trans(0xA0); //列扫描顺序:从左到右
    91. Ins_trans(0xc8); //行扫描顺序:反序
    92. #endif
    93. Ins_trans(0xA6);//normal(0xA6)/reverse(0xA7) display
    94. Ins_trans(0X40);//set start line
    95. Ins_trans(0xAF);//display on(0xAF);off(0xAE)
    96. }
    97. //更新显存到LCD
    98. void LCD_Refresh(void){
    99. for(uint8_t page=0;page<8;page++){ //page loop
    100. Page_set(page);
    101. Column_set(0);
    102. for(uint8_t column=0;column<128;column++){ //column loop
    103. Data_trans(LCD_GRAM[column][page]);
    104. }
    105. }
    106. }
    107. //清屏函数
    108. void LCD_Clear(void){
    109. uint8_t i,n;
    110. for(i=0;i<8;i++){
    111. for(n=0;n<128;n++)
    112. {
    113. LCD_GRAM[n][i]=0;//清除所有数据
    114. }
    115. }
    116. LCD_Refresh();//更新显示
    117. }
    118. //画点
    119. //x:0~127
    120. //y:0~63
    121. //t:1 填充 0,清空
    122. void LCD_DrawPoint(uint8_t x,uint8_t y,uint8_t t){
    123. uint8_t i,m,n;
    124. i=y/8;
    125. m=y%8;
    126. n=1<
    127. if(t){LCD_GRAM[x][i]|=n;}
    128. else{
    129. LCD_GRAM[x][i]=~LCD_GRAM[x][i];
    130. LCD_GRAM[x][i]|=n;
    131. LCD_GRAM[x][i]=~LCD_GRAM[x][i];
    132. }
    133. }
    134. //画线
    135. //x1,y1:起点坐标
    136. //x2,y2:结束坐标
    137. void LCD_DrawLine(uint8_t x1,uint8_t y1,uint8_t x2,uint8_t y2,uint8_t mode){
    138. uint16_t t;
    139. int xerr=0,yerr=0,delta_x,delta_y,distance;
    140. int incx,incy,uRow,uCol;
    141. delta_x=x2-x1; //计算坐标增量
    142. delta_y=y2-y1;
    143. uRow=x1;//画线起点坐标
    144. uCol=y1;
    145. if(delta_x>0)incx=1; //设置单步方向
    146. else if (delta_x==0)incx=0;//垂直线
    147. else {incx=-1;delta_x=-delta_x;}
    148. if(delta_y>0)incy=1;
    149. else if (delta_y==0)incy=0;//水平线
    150. else {incy=-1;delta_y=-delta_x;}
    151. if(delta_x>delta_y)distance=delta_x; //选取基本增量坐标轴
    152. else distance=delta_y;
    153. for(t=0;t1;t++)
    154. {
    155. LCD_DrawPoint(uRow,uCol,mode);//画点
    156. xerr+=delta_x;
    157. yerr+=delta_y;
    158. if(xerr>distance)
    159. {
    160. xerr-=distance;
    161. uRow+=incx;
    162. }
    163. if(yerr>distance)
    164. {
    165. yerr-=distance;
    166. uCol+=incy;
    167. }
    168. }
    169. }
    170. //画矩形
    171. //x1,y1:起点坐标
    172. //w :宽
    173. //h :高
    174. void LCD_DrawCarre(uint8_t x1,uint8_t y1,uint8_t w,uint8_t h,uint8_t mode){
    175. for(uint8_t y=y1;y
    176. LCD_DrawLine(x1,y,x1+w,y,mode);
    177. }
    178. }
    179. //画圆(空心)
    180. //x,y:圆心坐标
    181. //r:圆的半径
    182. void LCD_DrawCircle(uint8_t x,uint8_t y,uint8_t r){
    183. int a, b,num;
    184. a = 0;
    185. b = r;
    186. while(2 * b * b >= r * r){
    187. LCD_DrawPoint(x + a, y - b,1);
    188. LCD_DrawPoint(x - a, y - b,1);
    189. LCD_DrawPoint(x - a, y + b,1);
    190. LCD_DrawPoint(x + a, y + b,1);
    191. LCD_DrawPoint(x + b, y + a,1);
    192. LCD_DrawPoint(x + b, y - a,1);
    193. LCD_DrawPoint(x - b, y - a,1);
    194. LCD_DrawPoint(x - b, y + a,1);
    195. a++;
    196. num = (a * a + b * b) - r*r;//计算画的点离圆心的距离
    197. if(num > 0){
    198. b--;
    199. a--;
    200. }
    201. }
    202. }
    203. //在指定位置显示一个字符,包括部分字符
    204. //x:0~127
    205. //y:0~63
    206. //size1:选择字体 (font_0806、font_1206、font_1608、font_2412)
    207. //mode:0,反色显示;1,正常显示
    208. void LCD_ShowChar(uint8_t x,uint8_t y,uint8_t chr,uint8_t size1,uint8_t mode){
    209. uint8_t i,m,temp,size2,chr1;
    210. uint8_t x0=x,y0=y;
    211. if(size1==font_0806)size2=6;
    212. else size2=(size1/8+((size1%8)?1:0))*(size1/2); //得到字体一个字符对应点阵集所占的字节数
    213. chr1=chr-' '; //计算偏移后的值
    214. for(i=0;i
    215. if(size1==font_0806)
    216. {temp=asc2_0806[chr1][i];} //调用0806字体
    217. else if(size1==font_1206)
    218. {temp=asc2_1206[chr1][i];} //调用1206字体
    219. else if(size1==font_1608)
    220. {temp=asc2_1608[chr1][i];} //调用1608字体
    221. else if(size1==font_2412)
    222. {temp=asc2_2412[chr1][i];} //调用2412字体
    223. else return;
    224. for(m=0;m<8;m++){
    225. if(temp&0x01)LCD_DrawPoint(x,y,mode);
    226. else LCD_DrawPoint(x,y,!mode);
    227. temp>>=1;
    228. y++;
    229. }
    230. x++;
    231. if((size1!=8)&&((x-x0)==size1/2))
    232. {x=x0;y0=y0+8;}
    233. y=y0;
    234. }
    235. }
    236. //显示字符串
    237. //x,y:起点坐标
    238. //size1:字体大小
    239. //*chr:字符串起始地址
    240. //mode:0,反色显示;1,正常显示
    241. void LCD_ShowString(uint8_t x,uint8_t y,uint8_t *chr,uint8_t size1,uint8_t mode){
    242. while((*chr>=' ')&&(*chr<='~')){ //判断是不是非法字符!
    243. LCD_ShowChar(x,y,*chr,size1,mode);
    244. if(size1==8)x+=6;
    245. else x+=size1/2;
    246. chr++;
    247. }
    248. }
    249. //m^n
    250. uint32_t LCD_Pow(uint8_t m,uint8_t n){
    251. uint32_t result=1;
    252. while(n--){
    253. result*=m;
    254. }
    255. return result;
    256. }
    257. //显示数字(居中对齐)
    258. //x,y :起点坐标
    259. //num :要显示的数字
    260. //len :数字的位数(设置位数大于实际位数会在数值前添"0补齐",设置位数小于实际位数会根据实际位数显示)
    261. //size:字体大小
    262. //mode:0,反色显示;1,正常显示
    263. void LCD_ShowNum(uint8_t x,uint8_t y,uint32_t num,uint8_t len,uint8_t size1,uint8_t mode){
    264. uint8_t t,temp,m=0;
    265. if(size1==8)m=2;
    266. uint8_t i=1;
    267. uint32_t j=0;
    268. j=num;
    269. while(1){j=j/10;if(j)i++;else break;}
    270. if(i>len)len=i;
    271. for(t=0;t
    272. temp=(num/LCD_Pow(10,len-t-1))%10;
    273. if(temp==0){
    274. LCD_ShowChar(x+(size1/2+m)*t-((len/2)*(size1/2)),y,'0',size1,mode);
    275. }else {
    276. LCD_ShowChar(x+(size1/2+m)*t-((len/2)*(size1/2)),y,temp+'0',size1,mode);
    277. }
    278. }
    279. }
    280. //显示汉字
    281. //x,y:起点坐标
    282. //num:汉字对应的序号
    283. //mode:0,反色显示;1,正常显示
    284. void LCD_ShowChinese(uint8_t x,uint8_t y,uint8_t num,uint8_t size1,uint8_t mode){
    285. uint8_t m,temp;
    286. uint8_t x0=x,y0=y;
    287. uint16_t i,size3=(size1/8+((size1%8)?1:0))*size1; //得到字体一个字符对应点阵集所占的字节数
    288. for(i=0;i
    289. if(size1==16)
    290. {temp=Hzk1[num][i];}//调用16*16字体
    291. else if(size1==24)
    292. {temp=Hzk2[num][i];}//调用24*24字体
    293. else if(size1==32)
    294. {temp=Hzk3[num][i];}//调用32*32字体
    295. else if(size1==64)
    296. {temp=Hzk4[num][i];}//调用64*64字体
    297. else return;
    298. for(m=0;m<8;m++){
    299. if(temp&0x01)LCD_DrawPoint(x,y,mode);
    300. else LCD_DrawPoint(x,y,!mode);
    301. temp>>=1;
    302. y++;
    303. }
    304. x++;
    305. if((x-x0)==size1)
    306. {x=x0;y0=y0+8;}
    307. y=y0;
    308. }
    309. }
    310. //num 显示汉字的个数
    311. //space 每一遍显示的间隔
    312. //mode:0,反色显示;1,正常显示
    313. void LCD_ScrollDisplay(uint8_t num,uint8_t space,uint8_t mode)
    314. {
    315. uint8_t i,n,t=0,m=0,r;
    316. while(1)
    317. {
    318. if(m==0)
    319. {
    320. LCD_ShowChinese(128,24,t,16,mode); //写入一个汉字保存在OLED_GRAM[][]数组中
    321. t++;
    322. }
    323. if(t==num)
    324. {
    325. for(r=0;r<16*space;r++) //显示间隔
    326. {
    327. for(i=1;i<144;i++)
    328. {
    329. for(n=0;n<8;n++)
    330. {
    331. LCD_GRAM[i-1][n]=LCD_GRAM[i][n];
    332. }
    333. }
    334. LCD_Refresh();
    335. }
    336. t=0;
    337. }
    338. m++;
    339. if(m==16){m=0;}
    340. for(i=1;i<144;i++) //实现左移
    341. {
    342. for(n=0;n<8;n++)
    343. {
    344. LCD_GRAM[i-1][n]=LCD_GRAM[i][n];
    345. }
    346. }
    347. LCD_Refresh();
    348. }
    349. }
    350. //显示图片
    351. //x,y:起点坐标
    352. //sizex,sizey,图片长宽
    353. //BMP[]:要写入的图片数组
    354. //mode:0,反色显示;1,正常显示
    355. void LCD_ShowPicture(uint8_t x,uint8_t y,uint8_t sizex,uint8_t sizey,uint8_t BMP[],uint8_t mode){
    356. uint16_t j=0;
    357. uint8_t i,n,temp,m;
    358. uint8_t x0=x,y0=y;
    359. sizey=sizey/8+((sizey%8)?1:0);
    360. for(n=0;n
    361. for(i=0;i
    362. temp=BMP[j];
    363. j++;
    364. for(m=0;m<8;m++){
    365. if(temp&0x01)LCD_DrawPoint(x,y,mode);
    366. else LCD_DrawPoint(x,y,!mode);
    367. temp>>=1;
    368. y++;
    369. }
    370. x++;
    371. if((x-x0)==sizex){
    372. x=x0;
    373. y0=y0+8;
    374. }
    375. y=y0;
    376. }
    377. }
    378. }

    3、创建bmp.h文件

    1. unsigned char picture_tab[]={
    2. /*-- 调入了一幅图像:C:\Documents and Settings\Administrator\桌面\12864.bmp --*/
    3. /*-- 宽度x高度=128x64 --*///WBcell
    4. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    5. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    6. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    7. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    8. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    9. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    10. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    11. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    12. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    13. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    14. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    15. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    16. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    17. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    18. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    19. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    20. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    21. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    22. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    23. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    24. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    25. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    26. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    27. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    28. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    29. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    30. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    31. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    32. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    33. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    34. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    35. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    36. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    37. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    38. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    39. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    40. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    41. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    42. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    43. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    44. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    45. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    46. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    47. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    48. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    49. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    50. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    51. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    52. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    53. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    54. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    55. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    56. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    57. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    58. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    59. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    60. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    61. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    62. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    63. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    64. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    65. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    66. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    67. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    68. };
    69. unsigned char picture_tab1[]={
    70. /*-- 调入了一幅图像: --*/
    71. /*-- 宽度x高度=128x64 --*///rec++
    72. 0xFF,0x01,0x01,0xF9,0x09,0x09,0xC9,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    73. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    74. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    75. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    76. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    77. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    78. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    79. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xC9,0x09,0x09,0xF9,0x01,0x01,0xFF,
    80. 0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFE,0x02,0x02,0xF2,0x12,0x12,0x92,
    81. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    82. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    83. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    84. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    85. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    86. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    87. 0x92,0x12,0x12,0xF2,0x02,0x02,0xFE,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,
    88. 0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,
    89. 0x00,0x00,0xFC,0x04,0x04,0xE4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
    90. 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
    91. 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
    92. 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
    93. 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
    94. 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0xE4,0x04,0x04,0xFC,0x00,0x00,
    95. 0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,
    96. 0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,
    97. 0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x01,0x01,0xF9,0x09,0x09,0xC9,0x49,
    98. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    99. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    100. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    101. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    102. 0x49,0xC9,0x09,0x09,0xF9,0x01,0x01,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,
    103. 0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,
    104. 0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,
    105. 0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x80,0x80,0x9F,0x90,0x90,0x93,0x92,
    106. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    107. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    108. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    109. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    110. 0x92,0x93,0x90,0x90,0x9F,0x80,0x80,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,
    111. 0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,
    112. 0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,
    113. 0x00,0x00,0x3F,0x20,0x20,0x27,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
    114. 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
    115. 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
    116. 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
    117. 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
    118. 0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x27,0x20,0x20,0x3F,0x00,0x00,
    119. 0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,
    120. 0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0x7F,0x40,0x40,0x4F,0x48,0x48,0x49,
    121. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    122. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    123. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    124. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    125. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    126. 0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,
    127. 0x49,0x48,0x48,0x4F,0x40,0x40,0x7F,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,
    128. 0xFF,0x80,0x80,0x9F,0x90,0x90,0x93,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    129. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    130. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x92,
    131. 0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x9
  • 相关阅读:
    Visual Studio 如何把一个解决方案中已经打开的选项页在另一个解决方案中打开
    小狐狸ChatGPT付费创作系统V2.0.4智能问答小程序,修复一个pc版的bug
    GPU cuda cuDNN pytorch理解
    【Linux从入门到精通】信号(信号保存 & 信号的处理)
    对称加密 vs 非对称加密
    F. Quests Codeforces Round #835 (Div. 4)(二分答案)
    错题汇总14
    Spring @PostMapping 能在 URL 中带有参数吗
    当Java遇上泛型:类型安全的魔法之旅
    wangeditor富文本编辑器的使用(vue)
  • 原文地址:https://blog.csdn.net/qq_26043945/article/details/133746122