国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發布時間:2017-9-27 17:52    發布者:bodasister
  轉載請以鏈接形式注明文章來源


  0x00前言

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

  0x01實驗器材

  TPYBoardv102開發板1塊

  0.96寸OLED顯示屏(ssd1306)1塊

  杜邦線若干

  0x02前期準備

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

  http://docs.tpyboard.com/zh/late ... led/?highlight=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首先下載字模提取工具。地址:http://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軟復位,重新運行效果如下:






本文地址:http://m.qingdxww.cn/thread-517372-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉USB橋接器以及基于CAN的主機和自舉程序應用程序
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲91av| 亚洲一区二区三区在线播放 | 亚洲欧美日韩天堂在线观看 | 国产精品久久国产三级国电话系列 | 成人中文字幕在线 | 老外黑人一级毛片 | 午夜成本人动漫在线观看 | 亚洲丰满熟妇毛片在线播放 | 日日夜夜视频 | 传媒天美果冻aaaaa | 国产精品香蕉在线观看不卡 | 两个人在线观看完整 | 四虎永久免费地址在线观看 | 高清一区二区在线观看 | 91国视频在线观看 | 日韩在线一区二区三区视频 | 日韩欧美 在线播放 | 华人91视频 | 91亚洲国产 | 天天操天| 国产区免费 | 久草视频精品 | 青青插 | 人体蜈蚣2在线 | 日本一卡精品视频免费 | 日韩黄色一级 | 欧洲欧美成人免费大片 | 在线观看亚洲一区二区 | 200款禁用软件永久无限大全 | 99热播| 青青草伊人 | 国产欧美日韩在线不卡第一页 | 久久91久久91精品免费观看 | 日韩视 | 美女的隐私视频网站蜜桃视频 | 三级国产在线 | 国产爆操 | 国内精品 第一页 | 羞羞视频免费网站日本 | 久久久精品日本一区二区三区 | 97精品国产高清自在线看超 |