性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

程序員小哈
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
作者動(dòng)態(tài)
自動(dòng)洗碗機(jī)綜合實(shí)例第二講 - 最小系統(tǒng)核心板PCB繪制
2024-07-18 09:21
自動(dòng)洗碗機(jī)綜合實(shí)例第一講 - 最小系統(tǒng)核心板原理圖繪制
2024-07-16 09:40
線路板焊接的干貨都在這里呢
2024-07-14 12:08
基于單片機(jī)的智能風(fēng)扇DIY總結(jié)
2024-07-13 14:42
基于HAL庫實(shí)現(xiàn)按鍵(外部中斷)翻轉(zhuǎn)一個(gè)LED
2024-06-30 14:02

OLED液晶屏如何顯示中文呢

序言

之前我們分享了,如何使用STM32驅(qū)動(dòng)OLED液晶屏,講了SSD1306控制芯片的驅(qū)動(dòng),對(duì)其驅(qū)動(dòng)時(shí)序和常用命令做了介紹,詳細(xì)請(qǐng)參考下面鏈接:

STM32驅(qū)動(dòng)0.96寸OLED液晶屏

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

字幕顯示原理

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

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

BLACK&WHITE

取模軟件

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

BLACK&WHITE

字模選項(xiàng)設(shè)置

BLACK

&WHITE

生成字庫

CK

&WHITE

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

BLACK&WHITE

硬件連接

測(cè)試電路連接:

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

代碼實(shí)現(xiàn)

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

其中參數(shù)x為第一個(gè)像素在行中的位置,范圍為0-127;如果一行占8個(gè)像素,那么參數(shù)y代表行號(hào),范圍為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ù)實(shí)現(xiàn):

#include "stm32f10x.h"  
#include "delay.h"

#include "oled.h"

int main(void)  
{
  int i = 0;
  //延時(shí)函數(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); 
  }  
}

測(cè)試結(jié)果

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 2
收藏 3
關(guān)注 69
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧