找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2371|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

HC32F460開(kāi)發(fā)板OLED屏顯示驅(qū)動(dòng)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
與其他的開(kāi)發(fā)板不同,在HC32F460開(kāi)發(fā)板上配置了小巧別致的I2C接口OLED屏。
有了它,我們需要顯示的數(shù)據(jù)和信息就不必完全借助于串口通信了!
好像是華大要測(cè)試測(cè)評(píng)者的水平,盡管開(kāi)發(fā)板配置了OLED顯示屏,但在例程中卻沒(méi)有提供相應(yīng)的程序支持。
好在要驅(qū)動(dòng)它并不難,所做的無(wú)非是兩件事,一是了解GPIO口的使用方法,將SDA和SCL引腳設(shè)置為輸出口,
然后定義好輸出高低電平的語(yǔ)句,來(lái)對(duì)OLED屏廠商的例程加以銜接;另一件事就是配置相應(yīng)的延時(shí)函數(shù),
以控制OLED屏的時(shí)序要求。
此外,為了在OLED屏上實(shí)現(xiàn)漢字顯示功能,可使用相應(yīng)的字模提取軟件來(lái)獲得所需用到的字模,
以構(gòu)建專用的小字庫(kù)。字模的提取過(guò)程參見(jiàn)圖1所示。

圖1 提取字模

在如下的主程序控制下,可見(jiàn)到圖2和圖3的顯示效果。
  1. int32_t main(void)
  2. {
  3.          SysClkIni();
  4.          OLED_Init();
  5.          Delay_ms(100);
  6.          OLED_Clear();
  7.          OLED_ShowString(0,0,"HC32F460",16);
  8.          OLED_ShowString(0,2,"OLED TEST",16);
  9.          OLED_ShowCHinese(72,0,0);
  10.          OLED_ShowCHinese(88,0,1);
  11.          OLED_ShowCHinese(104,0,2);
  12.         
  13.          Delay_m (5000);
  14.          OLED_Clear();
  15.          OLED_ShowCHinese(0,0,3);
  16.          OLED_ShowCHinese(16,0,4);
  17.          OLED_ShowCHinese(32,0,5);
  18.          OLED_ShowCHinese(48,0,6);
  19.          OLED_ShowCHinese(64,0,7);
  20.          OLED_ShowCHinese(0,2,8);
  21.          OLED_ShowCHinese(16,2,9);
  22.          OLED_ShowCHinese(32,2,10);
  23.          OLED_ShowCHinese(48,2,11);
  24.          OLED_ShowCHinese(64,2,12);
  25.          while(1);
  26. }
復(fù)制代碼

圖2 顯示效果1


圖3 顯示效果2

其實(shí)在得到HC32F460開(kāi)發(fā)板前,自己就購(gòu)置了多種類(lèi)型的OLED屏,如雙色屏,彩色屏等,按接口類(lèi)型又有I2C接口的及SPI接口的。
受引腳的制約,手頭只有一款灰色的顯示屏可與開(kāi)發(fā)板匹配,其顯示效果見(jiàn)圖4所示。

圖4 顯示效果3

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表