嵌入式 使用STM32實現OLED屏顯

2021-10-13 08:33:25 字數 3728 閱讀 9149

目錄

一、顯示學號姓名

二、左右滾動長字元

實驗目的:

顯示自己的學號和姓名。

上下或左右的滑動顯示長字元。

顯示aht20的溫度和濕度。

實驗準備:

硬體:

野火指南者開發板

0.96寸oled顯示屏模組( iic/spi)

商家資料:0.96寸spi_oled模組配套資料報

軟體:

keil5 mdk

野火串列埠除錯助手

工程模板:

本次採用的是配套資料報裡的工程模板

1-demo→demo_stm32→0.96inch_oled_demo_stm32f103zet6_hardware_4-wire_spi

在這裡插入描述

這是對應的連線方法

add stm32f10xhigh-density flash

在這裡插入描述

一、顯示學號姓名

這是本次實驗要顯示的全部字模,

「浮」,0x00,0x08,0x20,0x3c,0x13,0xc0,0x10,0x04,0x82,0x44,0x41,0x28,0x48,0x00,0x0b,0xf8,

0x10,0x10,0x10,0x20,0xe7,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa0,0x00,0x40,/「浮」,0/

「空」,0x02,0x00,0x01,0x00,0x7f,0xfe,0x40,0x02,0x88,0x24,0x10,0x10,0x20,0x08,0x00,0x00,

0x1f,0xf0,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x7f,0xfc,0x00,0x00,/「空」,1/

「花」,0x08,0x20,0x08,0x20,0xff,0xfe,0x08,0x20,0x00,0x00,0x08,0x88,0x08,0x90,0x10,0xa0,

0x30,0xc0,0x50,0x80,0x91,0x80,0x12,0x82,0x14,0x82,0x10,0x82,0x10,0x7e,0x10,0x00,/「花」,2/

「園」,0x00,0x00,0x7f,0xfc,0x40,0x04,0x4f,0xe4,0x40,0x04,0x40,0x04,0x5f,0xf4,0x44,0x84,

0x44,0x84,0x44,0x84,0x48,0x94,0x48,0x94,0x50,0x74,0x40,0x04,0x7f,0xfc,0x40,0x04,/「園」,3/

「重」,0x00,0x10,0x00,0xf8,0x3f,0x00,0x01,0x00,0xff,0xfe,0x01,0x00,0x1f,0xf0,0x11,0x10,

0x1f,0xf0,0x11,0x10,0x1f,0xf0,0x01,0x00,0x3f,0xf8,0x01,0x00,0xff,0xfe,0x00,0x00,/「重」,0/

「慶」,0x01,0x00,0x00,0x80,0x3f,0xfe,0x20,0x00,0x20,0x80,0x20,0x80,0x20,0x80,0x2f,0xfc,

0x20,0x80,0x21,0x40,0x21,0x40,0x22,0x20,0x42,0x20,0x44,0x10,0x88,0x08,0x10,0x06,/「慶」,1/

「交」,0x02,0x00,0x01,0x00,0x01,0x00,0xff,0xfe,0x00,0x00,0x10,0x10,0x10,0x08,0x20,0x24,

0x48,0x24,0x04,0x40,0x02,0x80,0x01,0x00,0x02,0x80,0x0c,0x40,0x30,0x30,0xc0,0x0e,/「交」,2/

「大」,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xff,0xfe,0x01,0x00,0x01,0x00,

0x02,0x80,0x02,0x80,0x04,0x40,0x04,0x40,0x08,0x20,0x10,0x10,0x20,0x08,0xc0,0x06,/「大」,3/

「溫」,0x00,0x00,0x23,0xf8,0x12,0x08,0x12,0x08,0x83,0xf8,0x42,0x08,0x42,0x08,0x13,0xf8,

0x10,0x00,0x27,0xfc,0xe4,0xa4,0x24,0xa4,0x24,0xa4,0x24,0xa4,0x2f,0xfe,0x00,0x00,/「溫」,0/

「溼」,0x00,0x00,0x27,0xf8,0x14,0x08,0x14,0x08,0x87,0xf8,0x44,0x08,0x44,0x08,0x17,0xf8,

0x11,0x20,0x21,0x20,0xe9,0x24,0x25,0x28,0x23,0x30,0x21,0x20,0x2f,0xfe,0x00,0x00,/「溼」,1/

「度」,0x01,0x00,0x00,0x80,0x3f,0xfe,0x22,0x20,0x22,0x20,0x3f,0xfc,0x22,0x20,0x22,0x20,

0x23,0xe0,0x20,0x00,0x2f,0xf0,0x24,0x10,0x42,0x20,0x41,0xc0,0x86,0x30,0x38,0x0e,/「度」,2/

123

4567

891011

1213

1415

1617

1819

2021

2223

24

將字模**新增到工程中

user→gui.c→oledfont.h→cfont 16

在這裡插入描述

**實現

test.c→test.h宣告乙個新的函式void test_name(void);

在這裡插入描述

然後在test.c中實現

void test_name(void)

123

45

main函式

int main(void)

}

123

4567

891011

1213

函式說明——

gui_showstring() 的引數

引數一:x 座標

引數二:y 座標

引數三:字串(ascll碼中的)

引數四:bit(表示字元顯示格式,這裡我用的 16 ,和漢字一樣高)

引數五:顯示樣式(1:白字黑底;0:黑字白底)

gui_showchinese() 的引數

引數一:x 座標

引數二:y 座標

引數三:漢字點陣大小(這裡使用的是 16×16 的,引數應該是 16)

引數四:要顯示的漢字

引數五:顯示樣式(1:白字黑底;0:黑字白底)

顯示效果

在這裡插入描述

二、左右滾動長字元

**實現

main函式

int main(void)

}

123

4567

891011

1213

1415

1617

1819

2021

22

test_name

void test_name(void)

123

456

顯示效果

Stm32嵌入式電子相簿簡易實現

kevinten10 stm32 lifecat 基於stm32晶元進行開發,採用480 320解析度內建視訊記憶體模組的lcd顯示屏模組,使用stm32晶元內建的fsmc模擬8080介面時序從而驅動lcd。通過fatfs檔案系統進行sd儲存空間的管理。1 通過fatfs方式讀取fat32格式sd卡...

嵌入式之STM32系列筆記

一 微控制器程式構架設計 用微控制器開發專案,當 開發到一定的程度後,由於涉及到的源程式檔案與標頭檔案眾多,若在前期為程式設計好架構,則在一定程度上便於程式的維護與管理,更有利於理清思路,加快專案的開發。通常將程式架構設定為四層,如下圖 其中middleware可以沒有,如果沒有外部擴充套件件,如外...

嵌入式STM32使用PWM控制LED呼吸燈效果

實驗的stm32型號 stm32f103c8t6 48引腳 涉及到的知識 rcc,gpio,timer,pwm 設定 rcc需開啟外部時鐘 gpio查表得知 pa3 預設復用引腳 tim2 ch4 timer使用預設的tim2 ch4 pwm的控制使用了動態的占空比來達到呼吸效果 下面給出 cpp ...