1.OLED簡介
OLED (Organic Light-Emitting Diode)即有機發(fā)光二極管,在手機OLED上屬于新型產(chǎn)品,被稱譽為“夢幻顯示器”。
OLED顯示技術(shù)與傳統(tǒng)的LCD顯示方式不同,無需背光燈,采用非常薄的有機材料涂層和玻璃基板(或柔性有機基板),當有電流通過時,這些有機材料就會發(fā)光。而且OLED顯示屏幕可以做得更輕更薄,可視角度更大,并且能夠顯著的節(jié)省耗電量。
OLED也被稱之為第三代顯示技術(shù)。OLED不僅更輕薄、能耗低、亮度高、發(fā)光率好、可以顯示純黑色,并且還可以做到彎曲,如當今的曲屏電視和手機等。當今國際各大廠商都爭相恐后的加強了對OLED技術(shù)的研發(fā)投入,使得OLED技術(shù)在當今電視、電腦(顯示器)、手機、平板等領(lǐng)域靈應(yīng)用愈加廣泛。
2.硬件接口
顯示屏為0.91寸OLED屏,4線串行接口:時鐘CLK,數(shù)據(jù)線MOSI,數(shù)據(jù)命令選擇線DS,片選線CS。屏幕復位信號腳RES(低電平復位)。
3. 通信協(xié)議
在每一個 SCLK 的上升沿上 SDIN 按照 D7, D6...D0 的順序被轉(zhuǎn)換成一個 8 位的移位寄存器。 在每第 8 個時鐘上采樣 D/C# , 在同一個時鐘上移位寄存器中的數(shù)據(jù)字節(jié)被寫到圖形顯示數(shù)據(jù) RAM(GDDRAM) 或命令寄存器中。在串行模式下, 只允許寫操作。
發(fā)送一個字節(jié)函數(shù)示例:
void OLED_SPI_ReadWriteOneByte(u8 data,u8 cmd)
{
u8 i;
if(cmd) OLED_DC(1);
else OLED_DC(0);
OLED_CS(0);//片選拉低,選擇OLED屏
OLED_SCK(0);
for(i=0;i<8;i++)
{
OLED_SCK(0);
if(data&0x80)OLED_MOSI(1);
else OLED_MOSI(0);
OLED_SCK(1);
data<<=1;
}
OLED_CS(1);
OLED_SCK(0);
}
3.軟件設(shè)計
打開STM32CubeMx軟件,配置DHT11硬件接口和OLED屏幕接口。
4. 生成代碼
4.1 基本硬件接口配置
4.2 OLED屏幕相關(guān)接口函數(shù)
OLED屏幕SPI發(fā)送一字節(jié)函數(shù)示例:時鐘線空閑電平為低電平,在時鐘的下將沿發(fā)送數(shù)據(jù)。在oled.c中:
OLED硬件接口宏定義,在oled.h中:
4.3 主函數(shù)
4.4 取模工具使用
OLED屏幕本身并不帶有字庫,要顯示漢字或字符則需要通過取模工具獲取點陣碼信息。
-
OLED
+關(guān)注
關(guān)注
119文章
6171瀏覽量
223731 -
STM32
+關(guān)注
關(guān)注
2264文章
10858瀏覽量
354396 -
圖形化編程
+關(guān)注
關(guān)注
1文章
16瀏覽量
11417 -
HAL
+關(guān)注
關(guān)注
2文章
69瀏覽量
12577
發(fā)布評論請先 登錄
相關(guān)推薦
評論