單擊上方的藍色字詞,即可輕松跟隨“ Programmer Xiaoha”。
在成功實現前言之前,我們分享了如何使用STM32驅動OLED LCD屏幕,討論了SSD1306控制芯片的驅動,并介紹了其驅動時序和常見命令。
有關詳細信息,請參見下面的鏈接:STM32驅動器0.96英寸OLED LCD屏幕在第一篇文章中,我們已經意識到OLED屏幕上會顯示英文字符。
除了數字,字母,符號等,OLED還可以顯示漢字,圖片和任意圖形。
今天,我們將介紹模具提取軟件的使用,并了解如何在OLED屏幕上顯示中文。
具體實現如下。
字幕顯示原理我們使用的OLED LCD屏幕由128 * 64的發光點矩陣組成,即分辨率為128 * 64。
ASCII碼可以是6 * 8、8 * 8、8 * 16像素,漢字通常顯示16 * 16像素。
通常,為了顯示理想的結果,通常使用8 * 16像素以英語和數字顯示。
黑色& amp; WHITE Modulus軟件建議使用相對易于使用的模數軟件:PCtoLCD2002。
黑色& amp;白字體選項設置黑色& amp;白色生成字體庫CK& amp;白色將生成的字體信息復制到項目中以供使用。
通常,自定義字體庫放置在單獨的.h文件中。
黑色& amp;白色硬件連接測試電路連接:GND ---接地VCC --- 3.3VD0 ---連接到PB9,作為SPI總線的CLK時鐘引腳,時鐘D1 ---連接到PB8,作為SPI的MOSI數據SPI總線引腳,數據輸入RES ---連接至PB7D / C ---連接至PB6,高電平為寫入數據,低電平為寫入命令CS--片選,連接至PB5,接地,選擇SSD1306代碼以實現漢字顯示功能。
實現:參數x為行中第一個像素的位置,范圍為0-127;如果一行占8個像素,則參數y表示行號,范圍為0-7。
參數no是自定義字體數組中的索引。
void OLED_ShowCHinese(uint8_t x,uint8_t y,uint8_t no){uint8_t t,adder = 0; OLED_Set_Pos(x,y); for(t = 0; t& lt; 16; t ++){OLED_WR_Byte(Hzk [2 * no] [t],OLED_DATA); adder + = 1;} OLED_Set_Pos(x,y + 1); for(t = 0; t& lt; 16; t ++){OLED_WR_Byte(Hzk [2 * no + 1] [t],OLED_DATA); adder + = 1;}}主要功能實現:#include“ stm32f10x.h” #include“ delay.h” #include“ oled.h” int main(void){int i = 0; //延遲函數初始化delay_init(); OLED_Init(); OLED_Clear(); // OLED_ShowString(0,4,(u8 *)“ 0.96 OLED演示”); for(i = 0; i& lt; 8; i ++){OLED_ShowCHinese(i * 16,0,i +0);} for(i = 0; i& lt; 5; i ++){OLED_ShowCHinese(i * 16, 2,i + 8);} for(i = 0; i& lt; 3; i ++){OLED_ShowCHinese(i * 16,4,i + 13);} for(i = 0; i& lt; 7; i ++ ){OLED_ShowCHinese(i * 16,6,i + 16);} while(1){delay_ms(10);}}測試結果如果需要工程源代碼和相關軟件,可以將我添加到微信中。
微信號:chengxuyuanxiaoha(程序員Xiaoha),微信朋友有限,先到先得,推薦閱讀:STM32單片機最小系統詳細說明,基于STM32固件庫的MDK5項目修改Keil項目名稱并添加其他模塊文件來使用最低STM32F103C8T6系統板點亮水燈。
STM32驅動0.96英寸OLED液晶顯示屏。
“每月培訓”的內容6月:“基于單片機的智能風扇”將于6月1日宣布。
作品的功能點和所需的功能模塊鏈接將被宣布。
還有什么?給我快速的想法提示。
我會仔細檢查您訂購的每一份菜,我會認真對待并喜歡它