久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3115|回復: 0
打印 上一主題 下一主題
收起左側

MicroPython之TPYBoard v102開發板控制OLED顯示中文

[復制鏈接]
跳轉到指定樓層
樓主

  0x00前言

  之前看到一篇文章是關于TPYBoardv102控制OLED屏顯示的,看到之后就想嘗試一下使用OLED屏來顯示中文。最近利用空余時間搞定了這個實驗,特此將實驗過程及源碼分享出來,方便以后使用。

  0x01實驗器材

  TPYBoardv102開發板1塊

  0.96寸OLED顯示屏(ssd1306)1塊

  杜邦線若干

  0x02前期準備

  1、        首先我們先來看一下,之前參考的OLED顯示字符的文章。

  文章中的源碼文件都已上傳到GitHub。地址:https://github.com/TPYBoard/deve ... PYBoard-v10x-master

  找到[11.學習使用OLED顯示屏]里面就是源程序。我就是在font.py和ssd1306.py基礎上做的開發。

  2、        在font.py中增加中文字模。

  font.py中已有英文、數字和符號的字符,我們需要做中文的字模添加到font.py中。

  2.1首先下載字模提取工具。地址:tpyboard點com/download/tool/187.html

  解壓,雙擊運行PCtoLCD2002.exe。



  2.2        頂端菜單欄,點擊[選項]按下方圖片設置,設置完畢后點擊[確定]保存設置。



  2.3        回到主界面,在輸入框中輸入“我”點擊[生成字模]。



  取得的字模數據如下:

  
  
0x04,0x0E,0x78,0x08,0x08,0xFF,0x08,0x08,0x0A,0x0C,0x18,0x68,0x08,0x08,0x2B,0x10
  
0x40,0x50,0x48,0x48,0x40,0xFE,0x40,0x44,0x44,0x48,0x30,0x22,0x52,0x8A,0x06,0x02/*"我",0*/
  

  2.4        將取到的字模數據添加到font.py中。



  綠色框中是“我”的16進制utf-8編碼。

  在線工具:http://tool.lu/hexstr/

  參照以上方法,我依次添加了“我愛你祖國”這5個漢字的字模。

  
byte2  = {
  
  
0xe68891:
  
    [
  
     0x04,0x0E,0x78,0x08,0x08,0xFF,0x08,0x08,0x0A,0x0C,0x18,0x68,0x08,0x08,0x2B,0x10,
  
     0x40,0x50,0x48,0x48,0x40,0xFE,0x40,0x44,0x44,0x48,0x30,0x22,0x52,0x8A,0x06,0x02,
  
    ],#
  
0xe788b1:
  
    [
  
     0x00,0x01,0x7E,0x22,0x11,0x7F,0x42,0x82,0x7F,0x04,0x07,0x0A,0x11,0x20,0x43,0x1C,
  
     0x08,0xFC,0x10,0x10,0x20,0xFE,0x02,0x04,0xF8,0x00,0xF0,0x10,0x20,0xC0,0x30,0x0E,
  
    ],#
  
0xe4bda0:
  
    [
  
    0x08,0x08,0x08,0x11,0x11,0x32,0x34,0x50,0x91,0x11,0x12,0x12,0x14,0x10,0x10,0x10,
  
     0x80,0x80,0x80,0xFE,0x02,0x04,0x20,0x20,0x28,0x24,0x24,0x22,0x22,0x20,0xA0,0x40,
  
    ],#
  
0xe7a596:
  
    [
  
     0x20,0x11,0x11,0xF9,0x09,0x11,0x11,0x39,0x55,0x95,0x11,0x11,0x11,0x11,0x17,0x10,
  
     0x00,0xF8,0x08,0x08,0x08,0xF8,0x08,0x08,0x08,0xF8,0x08,0x08,0x08,0x08,0xFE,0x00
  
    ],#
  
0xe59bbd:
  
    [
  
     0x00,0x7F,0x40,0x40,0x5F,0x41,0x41,0x4F,0x41,0x41,0x41,0x5F,0x40,0x40,0x7F,0x40,
  
     0x00,0xFC,0x04,0x04,0xF4,0x04,0x04,0xE4,0x04,0x44,0x24,0xF4,0x04,0x04,0xFC,0x04
  
    ],#
  
}
  

  3、        在ssd1306.py文件中增加了draw_chinese顯示中文的方法。

  
  def  draw_chinese(self,ch_str,x_axis,y_axis):
  
    offset_=0
  
    y_axis=y_axis*8#中文高度一行占8
  
    x_axis=127-(x_axis*16)#中文寬度占16
  
    for k in ch_str:
  
        code = 0x00#將中文轉成16進制編碼
  
        data_code =  k.encode("utf-8")
  
        code |= data_code[0]<<16
  
        code |= data_code[1]<<8
  
        code |= data_code[2]
  
        byte_data=font.byte2[code]
  
        for y in range(0,16):
  
             a_=bin(byte_data[y]).replace('0b','')
  
            while len(a_)<8:
  
                a_='0'+a_
  
               
  
             b_=bin(byte_data[y+16]).replace('0b','')
  
            while len(b_)<8:
  
                b_='0'+b_
  
            for x in range(0,8):
  
                 self.set_pixel(x_axis-x-offset_,y+y_axis,int(a_[x]))#文字的上半部分
  
                 self.set_pixel(x_axis-x-8-offset_,y+y_axis,int(b_[x]))#文字的下半部分
  
        offset_+=16
  

  github源碼地址:https://github.com/TPYBoard/deve ... YBoard-v10x-master/

  找到[20.學習OLED顯示中文]。

  0x03硬件連接

  本次實驗使用OLED的SPI通訊方式,TPYBoardv102帶有2個SPI接口,我用的SPI1。

  具體接線方法如下:

  
TPYBoard v102 (SPI1)
  
OLED顯示屏(SPI)
3.3V
VCC 2.8V~5.5V
GND
GND
X6(SCK)
SCK/D0
X8(MOSI)
SDA/D1
Y10
RES
Y9
DC
NC(懸空)
CS

  0x04效果展示

  硬件接線OK后,將源碼全部拷貝到TPYBaordv102加載的磁盤中,按下RST按鍵復位或者使用Putty軟件Ctrl+D軟復位,重新運行效果如下:







分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人在线视频免费播放 | 91久久夜色| 久久国产精品免费一区二区三区 | 欧美日韩福利视频 | 天堂色网 | 国产精品69毛片高清亚洲 | 国产在线一级片 | 在线观看国产视频 | 亚洲最色视频 | 成人影院一区二区三区 | 2019天天操 | 国产一级淫片免费视频 | 中文字幕一区二区三区在线观看 | 国产精品一区久久久久 | 欧美精品1区2区 | 久久久久久成人 | 午夜寂寞影院列表 | 欧美人妖网站 | 少妇久久久 | 国产高清视频在线 | 一级毛片高清 | 老外几下就让我高潮了 | 免费国产视频 | 午夜精品久久久久久久久久久久久 | 久草影视在线 | 午夜伊人| 国产乱码精品一区二区三区av | 国产精品久久久精品 | av黄色在线播放 | 精品国产一区一区二区三亚瑟 | 蜜臀网 | 欧美高清一区 | 在线看片网站 | 北条麻妃一区二区三区在线视频 | 噜久寡妇噜噜久久寡妇 | 欧美日韩综合 | 九九热精品视频在线观看 | 国产 欧美 日韩 一区 | 国产日本精品视频 | 国产精品久久久久久久久久免费 | 色吊丝2288sds中文字幕 |