www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > 程序員小哈

序言

之前我們分享了,如何使用STM32驅動OLED液晶屏,講了SSD1306控制芯片的驅動,對其驅動時序和常用命令做了介紹,詳細請參考下面鏈接:

STM32驅動0.96寸OLED液晶屏

上篇中我們已經(jīng)實現(xiàn)在OLED屏上顯示出英文字符,除去數(shù)字、字母、符號等,OLED還能顯示漢字、圖片及任意圖形。今天我們來介紹一下取模軟件的使用,看看如何在OLED屏上顯示中文,具體實現(xiàn)如下。


字幕顯示原理

我們用的OLED液晶屏是由128*64個發(fā)光點陣組成,即分辨率是128*64。

ASCII碼可以6*8、8*8、8*16像素,漢字一般顯示像素為16*16。
一般為了顯示效果理想,英文和數(shù)字常選用8*16像素顯示。

BLACK&WHITE


取模軟件

推薦使用比較好用的取模軟件:PCtoLCD2002。

BLACK&WHITE


字模選項設置

BLACK

&WHITE


生成字庫

CK

&WHITE


將生成的字庫信息復制到工程中待用,一般都是把自定義的字庫放到一個單獨的.h文件中。

BLACK&WHITE


硬件連接

測試電路連接:

GND---地
VCC---3.3V
D0---接PB9,作為SPI總線的CLK時鐘引腳,時鐘
D1---接PB8,作為SPI總線的MOSI數(shù)據(jù)引腳,數(shù)據(jù)輸入
RES---接PB7
D/C---接PB6,高電平為寫數(shù)據(jù),低電平為寫命令
CS---片選,接PB5,接地選中SSD1306


代碼實現(xiàn)

顯示漢字函數(shù)實現(xiàn):

其中參數(shù)x為第一個像素在行中的位置,范圍為0-127;
如果一行占8個像素,那么參數(shù)y代表行號,范圍為0-7。
參數(shù)no為咱們自定義字庫數(shù)組中的索引。

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<16;t++) { OLED_WR_Byte(Hzk[2*no][t],OLED_DATA); adder+=1; }  OLED_Set_Pos(x,y+1);  for(t=0;t<16;t++) {  OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA); adder+=1; } }


main函數(shù)實現(xiàn):

#include "stm32f10x.h" #include "delay.h" #include "oled.h" int main(void) { int i = 0; //延時函數(shù)初始化  delay_init();  OLED_Init();  OLED_Clear();  //OLED_ShowString(0,4,(u8 *)" 0.96 OLED Demo ");   for(i=0;i<8;i++) { OLED_ShowCHinese(i*16,0,i+0);  }  for(i=0;i<5;i++) { OLED_ShowCHinese(i*16,2,i+8);  }   for(i=0;i<3;i++) { OLED_ShowCHinese(i*16,4,i+13);  }  for(i=0;i<7;i++) { OLED_ShowCHinese(i*16,6,i+16);  }  while(1)  {  delay_ms(10);  } }


測試結果


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
關閉