1. 字模顯示原理及取模軟件的使用
我們使用的OLED屏是由方形的發(fā)光點陣列組成的,分辨率為128x64。英文和數(shù)字最小可用8x8像素,漢字最小顯示像素為16x16,通常為了顯示效果,英文和數(shù)字通常使用8x16像素表示。要顯示需要的字符只需對應(yīng)點亮像素區(qū)域中對應(yīng)的發(fā)光點即可。
字模顯示
字模一般都是通過取模軟件生成的,接下來介紹「PCtoLCD」取模軟件的使用:
1. Windows系統(tǒng)下雙擊啟動軟件,點擊「模式」,選擇「字符模式」,通常默認(rèn)就是字符模式。
字符模式
2. 點擊「選項」進(jìn)行字模配置。通常字模配置要根據(jù)程序驅(qū)動方式來選擇,本篇中我們選擇陰碼、逐行式、順向,其他選項如下圖所示。
選項配置
3. 輸入漢字。點擊生成字模或者保存字模,就會得到對應(yīng)的點陣數(shù)據(jù)。
生成字模
2. 實驗材料
- Uno R3開發(fā)板
- 配套USB數(shù)據(jù)線
- 面包板及配套連接線
- OLED顯示屏
3. 實驗步驟
1. 根據(jù)原理圖搭建電路圖。
IIC接口只需要兩根線。OLED屏的VCC和GND分別連接開發(fā)板的3.3V和GND,OLED屏的SDA和SCL分別連接開發(fā)板A4和A5。
實驗原理圖如下圖所示:
電路連接圖
2. 新建sketch,拷貝如下代碼替換自動生成的代碼并進(jìn)行保存。
1/*
2 OLED顯示漢字
3*/
4#include < Wire.h >
5#include < Adafruit_GFX.h >
6#include < Adafruit_SSD1306.h >
7
8#define OLED_RESET 4
9Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);
10
11//取16X16漢字字模 逐行式 順向高位在前
12static const unsigned char PROGMEM str1[] =
13{
14 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x3F, 0xF8, 0x21, 0x08, 0x21, 0x08, 0x21, 0x08,
15 0x21, 0x08, 0x21, 0x08, 0x3F, 0xF8, 0x21, 0x08, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
16};/*"中",0*/
17
18static const unsigned char PROGMEM str2[] =
19{
20 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0xFF, 0xFE, 0x10, 0x10, 0x10, 0x10, 0x08, 0x20, 0x08, 0x