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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

ESK32-360開發(fā)板TFT屏顯示功能及擴展(1)

[復制鏈接]
跳轉到指定樓層
樓主
ID:776997 發(fā)表于 2020-7-31 10:04 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 jinglixixi 于 2020-7-31 10:05 編輯

1. 顯示功能的初步擴展
在ESK32-360開發(fā)板上,配置了TFT顯示屏,通過它可以顯示字符、圖形及圖片等。
該顯示屏的接口電路如圖1所示,它是由CN3連接器來與開發(fā)板連接的,所占用的引腳如圖2所示。


圖1 顯示屏接口電路



圖2 顯示屏引腳占用

在軟件方面,例程也提供了相對完整的顯示函數,但也有一些功能尚需增添和補充。
首先我們來看一下其提供顯示函數,他們有:
void LCD_Init(void);                // 初始化函數
void LCD_Config(void);              // 引腳配置函數
void LCD_Clear(u16 Color);           // 以色彩清除屏幕函數
void LCD_BackColorSet(u16 Color);     // 設置背景色
void LCD_TextColorSet(u16 Color);      // 設置前景色
void LCD_CharDisplay(u32 Line_Num, u32 Column,u32 Ascii);    // 字符顯示函數
void LCD_StringLineDisplay(u32 Line_Num,char *Sptr);          // 字符串顯示函數
void LCD_PicDraw(u8 X_Location, u16Y_Location, u8 Height, u16 Width, uc8 *Pptr); // 圖片顯示函數
void LCD_LineDraw(u32 X_Location, u32Y_Location, u32 Length, u32 Direction);   // 直線繪制函數
void LCD_CircleDraw(u32 X_Location, u32Y_Location, u32 Radius);               //圓繪制函數
void LCD_RectDraw(u32 X_Location, u32Y_Location, u32 Height, u32 Width);      // 矩形繪制函數

那我們還需要補充哪些顯示函數呢 ?
1)數值顯示函數,在進行數據顯示時要單純靠調用字符顯示函數來實現是非常不便的;
2)畫點函數,它是其它圖形繪制函數的基礎;
3)畫線函數,雖說例程中提供了畫線函數,但它是解決簡單的水平線或垂直線的,無法用其來繪制波形曲線;
4)區(qū)域填充函數,以解決窗口內波形曲線的擦除;
5)漢字顯示函數,在配置相應中文字庫的條件下,實現專用漢字的顯示。

通過對例程的學習和分析,所增添的數值顯示函數為:
  1. uint32_t LCD_Pow(char m,char n)
  2. {
  3.         uint32_t result=1;         
  4.         while(n--)result*=m;   
  5.         return result;
  6. }

  7. void LCD_ShowNum(u16 x,u16 y,u32 num,u8 len)
  8. {                 
  9.         u8 t,temp;
  10.         u8 enshow=0;
  11.         for(t=0;t<len;t++)
  12.         {
  13.                 temp=(num/LCD_Pow(10,len-t-1))%10;
  14.                 if(enshow==0&&t<(len-1))
  15.                 {
  16.                         if(temp==0)
  17.                         {
  18.                                 LCD_CharDisplay(x, y+14*t, ' ');
  19.                                 continue;
  20.                         }else enshow=1;
  21.                           
  22.                 }
  23.                  LCD_CharDisplay(x, y+14*t, temp+'0'); //LCD_CharDisplay(x+16*t, y, temp+'0');
  24.         }
  25. }
復制代碼

在運行如下的主程序后,可得到圖3所示的效果。
  1. int main(void)
  2. {
  3.   LCD_Init();
  4.   LCD_Config();
  5.   LCD_Clear(0x2c5c);
  6.   LCD_BackColorSet(0x2c5c);
  7.   LCD_TextColorSet(Yellow);
  8.   LCD_StringLineDisplay(Line3, "       Holtek       ");
  9.   LCD_StringLineDisplay(Line4, "     HT32 Series    ");
  10.   LCD_StringLineDisplay(Line5, "     LCD Example    ");
  11.   
  12.   LCD_ShowNum(Line7,100,1234567890,10);  
  13.   while (1);
  14. }
復制代碼


圖3 數值顯示


這樣在遇到數值顯示的地方,就可以輕松地實現了。后面還會繼續(xù)補充和完善函數的添加,請繼續(xù)關注。

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品一区二区三区网站观看 | 国产在线拍偷自揄拍视频 | 欧美一二三 | 精品国产乱码久久久久久丨区2区 | 色狠狠桃花综合 | 欧美成人精品 | 天天舔天天 | 成人av播放| 欧美成人一区二区 | 岛国二区 | 成人在线观看亚洲 | 99re超碰| 香蕉大人久久国产成人av | 久久综合伊人一区二区三 | 综合久久综合久久 | 亚洲一区二区视频 | 蜜桃传媒一区二区 | 国产一区免费 | 欧美福利在线 | 久久精品视频亚洲 | 九九在线视频 | 日韩一区av | 亚洲欧美一区二区三区在线 | 国产精品欧美一区二区 | 奇米久久 | 成人在线中文字幕 | 国产成人免费视频网站高清观看视频 | 国产在线精品一区二区三区 | 国产永久免费 | 久久精品97 | 久久久久成人精品免费播放动漫 | 精品国产一区二区三区成人影院 | 精品无码久久久久久久动漫 | 国产婷婷精品 | 亚洲免费视频一区二区 | 国产一区二区三区四区五区加勒比 | 欧美成人一区二区三区片免费 | 欧洲精品在线观看 | 欧美激情在线精品一区二区三区 | 国产91 在线播放 | 亚洲综合在线一区 |