久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7310|回復: 7
打印 上一主題 下一主題
收起左側

PCtoLCD2013字模軟件下載與STM32 tft液晶顯示中英文與變量源碼

[復制鏈接]
跳轉到指定樓層
樓主
F103RCT6+tft顯示程序


PCtoLCD2013字模軟件:

GB2312字模
尋址公式:
pos = ((High8bit-0xa1)*94+Low8bit-0xa1)*16*16/8;


其中:16*16/8 的16*16為矩陣大小,根據自己的配置修改。
工程中讀取字模的函數為 bsp_spi_flash.c 文件的 GetGBKCode_from_EXFlash 。

stm32單片機源程序如下:
  1. /**
  2.   ******************************************************************************
  3.   * @file    main.c
  4.   * @author  fire
  5.   * @version V1.0
  6.   * @brief   液晶顯示漢字實驗(字庫在外部FLASH)
  7.   ******************************************************************************
  8.   * @attention
  9.   *
  10.   * 實驗平臺:秉火 F103-MINI STM32 開發板
  11.   ******************************************************************************
  12.   */

  13. #include "stm32f10x.h"
  14. #include "./usart/bsp_usart.h"        
  15. #include "./lcd/bsp_ili9341_lcd.h"
  16. #include "./flash/bsp_spi_flash.h"

  17. static void LCD_Test(void);        
  18. static void Delay ( __IO uint32_t nCount );

  19. void Printf_Charater(void)   ;


  20. int main(void)
  21. {        
  22.         //LCD 初始化
  23.         ILI9341_Init ();         

  24.         /* USART config */
  25.         USART_Config();  
  26.         
  27.         printf("\r\n ********** 液晶屏中文顯示程序(字庫在外部FLASH)*********** \r\n");
  28.         printf("\r\n 若漢字顯示不正常,請閱讀工程中的readme.txt文件說明,根據要求給FLASH重刷字模數據\r\n");

  29. //其中0、3、5、6 模式適合從左至右顯示文字,
  30. //不推薦使用其它模式顯示文字        其它模式顯示文字會有鏡像效果                        
  31. //其中 6 模式為大部分液晶例程的默認顯示方向  
  32.         ILI9341_GramScan ( 6 );
  33.         
  34.         Printf_Charater();
  35.         
  36.         while ( 1 )
  37.         {
  38.                 LCD_Test();
  39.         }
  40.         
  41.         
  42. }



  43. /*用于測試各種液晶的函數*/
  44. void LCD_Test(void)
  45. {
  46.         /*演示顯示變量*/
  47.         static uint8_t testCNT = 0;        
  48.         char dispBuff[100];
  49.         
  50.         testCNT++;        
  51.         
  52.         LCD_SetFont(&Font8x16);
  53.         LCD_SetColors(RED,BLACK);

  54.   ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH);        /* 清屏,顯示全黑 */
  55.         /********顯示字符串示例*******/
  56.   ILI9341_DispStringLine_EN_CH(LINE(0),"秉火3.2_2.8寸LCD參數:");
  57.   ILI9341_DispStringLine_EN_CH(LINE(1),"分辨率:240x320 px");
  58.   ILI9341_DispStringLine_EN_CH(LINE(2),"ILI9341液晶驅動");
  59.   ILI9341_DispStringLine_EN_CH(LINE(3),"XPT2046觸摸屏驅動");

  60.         /********顯示變量示例*******/
  61.         LCD_SetTextColor(GREEN);

  62.         /*使用c標準庫把變量轉化成字符串*/
  63.         sprintf(dispBuff,"顯示變量: %d ",testCNT);
  64.   LCD_ClearLine(LINE(5));        /* 清除單行文字 */
  65.         
  66.         /*然后顯示該字符串即可,其它變量也是這樣處理*/
  67.         ILI9341_DispStringLine_EN_CH(LINE(5),dispBuff);

  68.         /*******顯示圖形示例******/
  69.   /* 畫直線 */
  70.   
  71.   LCD_ClearLine(LINE(7));/* 清除單行文字 */
  72.         LCD_SetTextColor(BLUE);

  73.   ILI9341_DispStringLine_EN_CH(LINE(7),"畫直線:");
  74.   
  75.         LCD_SetTextColor(RED);
  76.   ILI9341_DrawLine(50,170,210,230);  
  77.   ILI9341_DrawLine(50,200,210,240);
  78.   
  79.         LCD_SetTextColor(GREEN);
  80.   ILI9341_DrawLine(100,170,200,230);  
  81.   ILI9341_DrawLine(200,200,220,240);
  82.         
  83.         LCD_SetTextColor(BLUE);
  84.   ILI9341_DrawLine(110,170,110,230);  
  85.   ILI9341_DrawLine(130,200,220,240);
  86.   
  87.   Delay(0xFFFFFF);
  88.   
  89.   ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8);        /* 清屏,顯示全黑 */
  90.   
  91.   
  92.   /*畫矩形*/

  93.   LCD_ClearLine(LINE(7));        /* 清除單行文字 */
  94.         LCD_SetTextColor(BLUE);

  95.   ILI9341_DispStringLine_EN_CH(LINE(7),"畫矩形:");

  96.         LCD_SetTextColor(RED);
  97.   ILI9341_DrawRectangle(50,200,100,30,1);
  98.         
  99.         LCD_SetTextColor(GREEN);
  100.   ILI9341_DrawRectangle(160,200,20,40,0);
  101.         
  102.         LCD_SetTextColor(BLUE);
  103.   ILI9341_DrawRectangle(170,200,50,20,1);
  104.   
  105.   Delay(0xFFFFFF);
  106.         
  107.         ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8);        /* 清屏,顯示全黑 */

  108.   /* 畫圓 */
  109.   LCD_ClearLine(LINE(7));        /* 清除單行文字 */
  110.         LCD_SetTextColor(BLUE);
  111.         
  112.   ILI9341_DispStringLine_EN_CH(LINE(7),"畫圓");
  113.         
  114.         LCD_SetTextColor(RED);
  115.   ILI9341_DrawCircle(100,200,20,0);
  116.         
  117.         LCD_SetTextColor(GREEN);
  118.   ILI9341_DrawCircle(100,200,10,1);
  119.         
  120.         LCD_SetTextColor(BLUE);
  121.         ILI9341_DrawCircle(140,200,20,0);

  122.   Delay(0xFFFFFF);
  123.   
  124.   ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8);        /* 清屏,顯示全黑 */

  125. }


  126. /**
  127.   * @brief  簡單延時函數
  128.   * @param  nCount :延時計數值
  129.   * @retval 無
  130.   */        
  131. static void Delay ( __IO uint32_t nCount )
  132. {
  133.   for ( ; nCount != 0; nCount -- );
  134.         
  135. }



  136. /*"當"字符的字模16x16 */           
  137. unsigned char charater_matrix[] =   
  138. { /*"當",0*/
  139. 0x01,0x00,0x21,0x08,0x11,0x08,0x09,0x10,0x09,0x20,0x01,0x00,0x7F,0xF8,0x00,        0x08,
  140. 0x00,0x08,0x00,0x08,0x3F,0xF8,0x00,0x08,0x00,0x08,0x00,0x08,0x7F,0xF8,0x00,0x08,

  141. };   
  142.   
  143. /**
  144.   * @brief  使用串口在上位機打印字模
  145.         *                                        演示字模顯示原理
  146.   * @retval 無
  147.   */
  148. void Printf_Charater(void)   
  149. {   
  150.         int i,j;   
  151.         unsigned char kk;
  152.   
  153.         /*i用作行計數*/
  154.   for ( i=0;i<16;i++)   
  155.         {   
  156.                 /*j用作一字節內數據的移位計數*/
  157.                 /*一行像素的第一個字節*/
  158.     for(j=0; j<8; j++)   
  159.     {      
  160.                         /*一個數據位一個數據位地處理*/
  161.       kk = charater_matrix[2*i] << j ;  //左移J位         
  162.                         if( kk & 0x80)     
  163.                         {   
  164.                                 printf("*"); //如果最高位為1,輸出*號,表示筆跡
  165.                         }   
  166.                         else  
  167.                         {   
  168.                                 printf(" "); //如果最高位為0,輸出空格,表示空白  
  169.                         }   
  170.     }   
  171.                 /*一行像素的第二個字節*/
  172.     for(j=0; j<8; j++)   
  173.                 {              
  174.       kk = charater_matrix[2*i+1] << j ;  //左移J位   
  175.       
  176.                         if( kk & 0x80)         
  177.                         {   
  178.                                 printf("*"); //如果最高位為1,輸出*號,表示筆跡   
  179.                         }   
  180.                         else  
  181.                         {   
  182.                                 printf(" "); //如果最高位為0,輸出空格,表示空白
  183.                         }   
  184.                 }         
  185.     printf("\n");    //輸出完一行像素,換行
  186.         }   
  187.         printf("\n\n");                 //一個字輸出完畢
  188. }   



  189. /* ------------------------------------------end of file---------------------------------------- */

復制代碼

所有資料51hei提供下載:
29-液晶顯示中英文.rar (7.49 MB, 下載次數: 169)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:335118 發表于 2018-5-21 22:52 | 只看該作者
理解原理核心還是很有必要的
回復

使用道具 舉報

板凳
ID:290380 發表于 2019-6-4 12:33 | 只看該作者
理解原理核心還是很有必要的
回復

使用道具 舉報

無效樓層,該帖已經被刪除
5#
無效樓層,該帖已經被刪除
6#
ID:55689 發表于 2020-4-11 06:44 | 只看該作者

理解原理核心還是很有必要的
回復

使用道具 舉報

7#
ID:296704 發表于 2020-5-5 17:00 | 只看該作者
感謝分享
回復

使用道具 舉報

8#
ID:135334 發表于 2020-5-7 15:25 | 只看該作者
是我需要的
回復

使用道具 舉報

9#
ID:70490 發表于 2020-6-16 20:30 | 只看該作者
是我需要的,感謝分享
回復

使用道具 舉報

10#
無效樓層,該帖已經被刪除
11#
ID:70044 發表于 2020-10-4 22:19 | 只看該作者
下載下來試試,最近國慶在家打算做個中文的桌面小顯示屏
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久狠狠 | 亚洲欧洲成人av每日更新 | 日本一区二区三区在线观看 | 久热国产精品视频 | 欧美日韩国产一区二区三区 | 综合久| 午夜视频网 | av网站在线看| 99精品一区二区 | 日韩视频在线一区二区 | 久草热播 | 热99精品视频 | 色综合99 | 免费观看一级黄色录像 | 久久久久久久综合色一本 | 麻豆久久久久久 | 日韩免费av一区二区 | 久久久国产精品入口麻豆 | 欧洲一级视频 | 欧美日韩在线一区二区三区 | a在线视频 | 亚洲欧美日韩中文字幕一区二区三区 | 一区二区三区国产精品 | 青青草一区二区三区 | 午夜影院在线观看 | 999久久精品| 亚洲精品日韩一区二区电影 | 国产专区视频 | 成人在线视频网站 | 亚洲 欧美 日韩在线 | 超碰8 | 久久艹免费视频 | 亚洲一二三区在线观看 | 中文字幕一区二区三区在线视频 | 国产精品久久久久久久久久久免费看 | 精品国产乱码久久久久久丨区2区 | 欧美h| 国产精品777一区二区 | 奇米影视在线 | 一级免费视频 | 91色视频在线观看 |