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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32液晶屏顯示英文(字庫在外部FLASH)

[復制鏈接]
跳轉到指定樓層
樓主
ID:251110 發表于 2018-10-5 11:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


單片機源程序如下:
  1. /**
  2.   ******************************************************************************
  3.   * @file    main.c
  4.   * @author  fire
  5.   * @version V1.0
  6.   * @date    2013-xx-xx
  7.   * @brief   液晶顯示漢字實驗(字庫在外部FLASH)

  8.   */

  9. #include "stm32f10x.h"
  10. #include "./usart/bsp_usart.h"       
  11. #include "./lcd/bsp_ili9341_lcd.h"
  12. #include "./flash/bsp_spi_flash.h"

  13. static void LCD_Test(void);       
  14. static void Delay ( __IO uint32_t nCount );

  15. void Printf_Charater(void)   ;


  16. int main(void)
  17. {       
  18.         //LCD 初始化
  19.         ILI9341_Init ();         

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

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



  39. /*用于測試各種液晶的函數*/
  40. void LCD_Test(void)
  41. {
  42.         /*演示顯示變量*/
  43.         static uint8_t testCNT = 0;       
  44.         char dispBuff[100];
  45.        
  46.         testCNT++;       
  47.        
  48.         LCD_SetFont(&Font16x24);
  49.         LCD_SetColors(BLACK,WHITE); //(字體顏色,背景顏色)

  50.   ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH);        /* 清屏,顯示全黑 */
  51.         /********顯示字符串示例*******/
  52. //1,單行字
  53.        
  54. //  ILI9341_DispStringLine_EN_CH(LINE(0),"奧");
  55. //  ILI9341_DispStringLine_EN_CH(LINE(1),"運");
  56. //  ILI9341_DispStringLine_EN_CH(LINE(2),"五");
  57. //  ILI9341_DispStringLine_EN_CH(LINE(3),"環");
  58.        
  59. //2,特定位置字
  60.         //Horizontal and Vertical     水平、垂直
  61.         ILI9341_DisplayStringEx(10,1*10,25,25,(uint8_t *)"angleH:",0);  //x坐標,y坐標,幾乘幾的大小
  62. //        ILI9341_DisplayStringEx(20,1*10,25,25,(uint8_t *)"n",0);
  63.   ILI9341_DisplayStringEx(10,1*100,25,25,(uint8_t *)"angleV:",0);
  64. //        ILI9341_DisplayStringEx(30,1*10,25,25,(uint8_t *)"g",0);  //x坐標,y坐標,幾乘幾的大小
  65. //        ILI9341_DisplayStringEx(40,1*10,25,25,(uint8_t *)"l",0);
  66. //        ILI9341_DisplayStringEx(50,1*10,25,25,(uint8_t *)"e",0);
  67. //        ILI9341_DisplayStringEx(50,1*10,25,25,(uint8_t *)"1",0);

  68.         /********顯示變量示例*******/
  69.         LCD_SetTextColor(GREEN);

  70.         /*使用c標準庫把變量轉化成字符串*/
  71. //        sprintf(dispBuff,"4 ",testCNT);
  72. //  LCD_ClearLine(LINE(5));        /* 清除單行文字 */
  73.        
  74.         /*然后顯示該字符串即可,其它變量也是這樣處理*/
  75.         ILI9341_DispStringLine_EN_CH(LINE(5),dispBuff);
  76.        

  77. //        /*******顯示圖形示例******/
  78. //  /* 畫直線 */
  79. //        //兩點確定一條直線,(x1,y1,x2,y2)
  80. //  
  81. //  LCD_ClearLine(LINE(7));/* 清除單行文字 */
  82. //        LCD_SetTextColor(BLUE);

  83. //  ILI9341_DispStringLine_EN_CH(LINE(7),"5");
  84. //  
  85. //        LCD_SetTextColor(RED);
  86. //  ILI9341_DrawLine(50,170,210,170);  
  87. //  ILI9341_DrawLine(50,200,210,200);
  88. //  
  89. //        LCD_SetTextColor(GREEN);
  90. //  ILI9341_DrawLine(100,150,100,270);  
  91. //  ILI9341_DrawLine(150,150,150,270);
  92. //       
  93. //        LCD_SetTextColor(BLUE);
  94. //  ILI9341_DrawLine(130,170,110,170);  
  95. //  ILI9341_DrawLine(130,200,220,200);
  96. //  
  97. //  Delay(0xFFFFFF);
  98. //  
  99. //  ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8);        /* 清屏,顯示全黑 */
  100.   
  101.   
  102. //  /*畫矩形*/
  103. //        //(頂端的x坐標,y坐標,寬度,高度,1:全滿/0:邊界)

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

  106. ////  ILI9341_DispStringLine_EN_CH(LINE(7),"6");

  107. //        LCD_SetTextColor(RED);
  108. //  ILI9341_DrawRectangle(0,20,100,30,1);
  109. //       
  110. //        LCD_SetTextColor(GREEN);
  111. //  ILI9341_DrawRectangle(160,200,20,40,0);
  112. //       
  113. //        LCD_SetTextColor(BLUE);
  114. //  ILI9341_DrawRectangle(170,200,50,20,1);
  115. //  
  116. //  Delay(0xFFFFFF);
  117. //       
  118. //        ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8);        /* 清屏,顯示全黑 */

  119.   /* 畫圓 */
  120.        
  121.         LCD_SetTextColor(BLACK);
  122.   ILI9341_DrawCircle(120,150,20,0); //圓心X坐標,圓心y坐標,半徑,1:圓內全部:0:園邊界
  123.        
  124.         LCD_SetTextColor(BLUE);
  125.   ILI9341_DrawCircle(80,150,20,0);
  126.        
  127.         LCD_SetTextColor(RED);
  128.         ILI9341_DrawCircle(160,150,20,0);

  129.   LCD_SetTextColor(GREEN);
  130.         ILI9341_DrawCircle(140,180,20,0);
  131.        
  132.         LCD_SetTextColor(YELLOW);
  133.         ILI9341_DrawCircle(100,180,20,0);
  134.   Delay(0xFFFFFF);

  135.   Delay(0xFFFFFF);
  136.   
  137.   ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8);        /* 清屏,顯示全黑 */

  138. }


  139. /**
  140.   * @brief  簡單延時函數
  141.   * @param  nCount :延時計數值
  142.   * @retval 無
  143.   */       
  144. static void Delay ( __IO uint32_t nCount )
  145. {
  146.   for ( ; nCount != 0; nCount -- );
  147.        
  148. }



  149. /*"當"字符的字模16x16 */           
  150. unsigned char charater_matrix[] =   
  151. { /*"當",0*/
  152. 0x01,0x00,0x21,0x08,0x11,0x08,0x09,0x10,0x09,0x20,0x01,0x00,0x7F,0xF8,0x00,0x08,
  153. 0x00,0x08,0x00,0x08,0x3F,0xF8,0x00,0x08,0x00,0x08,0x00,0x08,0x7F,0xF8,0x00,0x08,
  154. };   
  155.   
  156. /**
  157.   * @brief  使用串口在上位機打印字模
  158.         *                                        演示字模顯示原理
  159.   * @retval 無
  160.   */
  161. void Printf_Charater(void)   
  162. {   
  163.         int i,j;   
  164.         unsigned char kk;
  165.   
  166.         /*i用作行計數*/
  167.   for ( i=0;i<16;i++)   
  168.         {   
  169.                 /*j用作一字節內數據的移位計數*/
  170.                 /*一行像素的第一個字節*/
  171.     for(j=0; j<8; j++)   
  172.     {      
  173.                         /*一個數據位一個數據位地處理*/
  174.       kk = charater_matrix[2*i] << j ;  //左移J位         
  175.                         if( kk & 0x80)     
  176.                         {   
  177.                                 printf("*"); //如果最高位為1,輸出*號,表示筆跡
  178.                         }   
  179.                         else  
  180.                         {   
  181.                                 printf(" "); //如果最高位為0,輸出空格,表示空白  
  182.                         }   
  183.     }   
  184.                 /*一行像素的第二個字節*/
  185.     for(j=0; j<8; j++)   
  186.                 {              
  187.       kk = charater_matrix[64+2*i+1] << j ;  //左移J位   
  188.       
  189.                         if( kk & 0x80)         
  190.                         {   
  191.                                 printf("*"); //如果最高位為1,輸出*號,表示筆跡   
  192.                         }   
  193.                         else  
  194.                         {   
  195.                                 printf(" "); //如果最高位為0,輸出空格,表示空白
  196.                         }   
  197.                 }         
  198.     printf("\n");    //輸出完一行像素,換行
  199.         }   
  200.         printf("\n\n");                 //一個字輸出完畢
  201. }   



  202. /* ------------------------------------------end of file---------------------------------------- */
復制代碼

所有資料51hei提供下載:
1-液晶顯示中英文(字庫在外部FLASH).rar (341.92 KB, 下載次數: 51)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 青青久草 | 嫩草视频网站 | 伊人伊成久久人综合网站 | 久久尤物免费一区二区三区 | 在线观看精品视频网站 | 免费观看的av毛片的网站 | 激情福利视频 | 精品伊人久久 | 久久久tv | 国产婷婷色一区二区三区 | 欧美一区二区在线观看 | 欧美在线一区二区三区四区 | 中文字幕二区三区 | 亚洲 中文 欧美 日韩 在线观看 | 日韩视频在线免费观看 | 久久高清国产视频 | 成人免费大片黄在线播放 | 国产高清一区二区三区 | 久久精品99国产精品日本 | 91成人在线视频 | 日韩欧美三区 | 亚洲国产日本 | 日韩精品视频在线免费观看 | 日韩精品一区二区三区在线观看 | 日本午夜网| 伊人焦久影院 | 亚洲三区在线 | 国产一区二区三区在线免费观看 | 日本欧美国产在线观看 | 亚洲网视频 | 久草视频在线播放 | www.蜜桃av | 久久亚洲欧美日韩精品专区 | 午夜欧美一区二区三区在线播放 | 亚洲国产欧美一区二区三区久久 | 亚洲精品视频一区 | 欧美 日韩 国产 成人 在线 91 | 久久99视频 | 538在线精品 | 午夜精品一区二区三区在线视频 | 欧美在线|