在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【RTT大賽作品連載】 OLED顯示中文

閑來無事玩單片機呀 ? 2021-12-06 09:25 ? 次閱讀

OLED是單片機開發(fā)中一個比較常用的外設(shè),其像素位128X64。

OLED一般有兩種驅(qū)動方式,IIC驅(qū)動或者SPI驅(qū)動,本文采用IIC驅(qū)動的方式。

一、硬件連接

poYBAGGrAE2AB-nXAABwDOEQodo187.pngIIC連接引腳

SCL — PE3

SDA — PE2

二、創(chuàng)建工程

1. 工程創(chuàng)建可以直接參考官方的文檔,工程創(chuàng)建好了之后打開RT-ThreadSettings,添加軟件包ssd1306。

pYYBAGGq_rCADzkNAAF8Dau8ryc462.png添加ssd1306軟件包

2. 右鍵單擊ssd1306,點擊詳細配置,勾選ssd1306所有選項

poYBAGGq_wCAfj0cAAB7ilY3mgM571.pngssd1306配置

3. 切換到硬件標簽欄,勾選使能軟件模擬IIC

poYBAGGq_8iAVFigAABdVfSUVcc845.png軟件IIC配置

4.然后編譯,下載在msh命令中斷數(shù)據(jù)ssd1306_TestAll就可以打開測試程序看到OLED測試效果。

三、修改代碼

上面的代碼可以操作OLED顯示英文字母以及數(shù)字,但是顯示不了圖片以及文字,這部分功能需要我們自行添加。下面將詳細介紹如何添加我們自己的中文字符顯示程序以及16X16,24X24,48X48,64X64像素(其他像素的圖片可以根據(jù)需要自行修改)的圖片顯示程序。

在applications目錄下創(chuàng)建五個文件分別為:

pYYBAGGrBRCALg1vAABYre8ks54601.png文件目錄

1. 創(chuàng)建OLED線程

static void OLED_ThreadManage(void)
{
    rt_thread_t oled_thread;
    oled_thread = rt_thread_create("OLED Thread Manage",     /*線程名字*/
                                   OLED_ManageEntry,         /*線程入口函數(shù)*/
                                   RT_NULL,                  /*線程入口函數(shù)參數(shù)*/
                                   4096,                     /*線程棧大小*/
                                   8,                        /*線程優(yōu)先級*/
                                   10);                      /*線程時間片*/
        rt_thread_startup (oled_thread);
}

2. 初始化線程,將OLED_AppInit()放在main函數(shù)的while循環(huán)之前進行初始化。

void OLED_AppInit(void)
{
    OLED_ThreadManage();
}

3. 編寫漢字顯示函數(shù)。

1)顯示原理

漢字顯示需要先使用專門的取模工具進行取模,然后調(diào)用ssd1306的畫點函數(shù)ssd1306_DrawPixel()來在OLED的指定位置畫上點來實現(xiàn)顯示漢字的效果,取模軟件使用PCtoLCD2002 OLED取模工具,可以自行在網(wǎng)上下載。

2)取模方式選擇,選擇陰碼,逐列式,順向,我們的漢字顯示函數(shù)也將根據(jù)這個方式來編寫程序。

pYYBAGGrBF2AGF1pAAK5lsW8eR8440.png漢字取模方式

3)輸入漢字,點擊生成字幕,復(fù)制生成的字幕到工程中codetab.h中

poYBAGGrBMeAG6j9AAKXX6IA8GY953.png漢字取模

代碼如下:

const unsigned char Hz[][16] ={  	  
        {0x00,0x80,0x01,0x00,0x06,0x00,0x1F,0xFF,0xE0,0x00,0x02,0x08,0x04,0x30,0x18,0xC0},
        {0xF0,0x02,0x10,0x01,0x13,0xFE,0x10,0x00,0x10,0x80,0x14,0x60,0x18,0x18,0x00,0x00},/*"你",0*/

        {0x08,0x02,0x08,0x44,0x0F,0xA8,0xF8,0x10,0x08,0x68,0x0F,0x86,0x00,0x00,0x01,0x00},
        {0x41,0x02,0x41,0x01,0x47,0xFE,0x49,0x00,0x51,0x00,0x61,0x00,0x01,0x00,0x00,0x00},/*"好",1*/

        {0x00,0x00,0x00,0x00,0x00,0x1A,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
        {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",2*/

        {0x04,0x00,0x04,0x00,0x04,0x00,0x7F,0xFE,0x04,0x02,0x04,0x02,0xFF,0xE2,0x04,0x22},
        {0x04,0x22,0x04,0x22,0xFF,0xE2,0x04,0x02,0x04,0x02,0x04,0x02,0x04,0x00,0x00,0x00},/*"世",3*/

        {0x00,0x10,0x00,0x10,0x00,0x20,0x7F,0x21,0x49,0x46,0x49,0x78,0x49,0x80,0x7F,0x00},
        {0x49,0x80,0x49,0x7F,0x49,0x40,0x7F,0x20,0x00,0x20,0x00,0x10,0x00,0x10,0x00,0x00},/*"界",4*/
};

4)函數(shù)顯示函數(shù)如下,使用ssd1306_DrawPixel(x, y, White)來畫點:

static void OLED_DrawHz(uint8_t x,
uint8_t y,
uint8_t chr,
SSD1306_COLOR color)
{
uint8_t temp,t,t1;
uint8_t y0=y;
uint8_t csize=32u;

chr <<= 1u;

for(t=0; t {
if(t == 16u)
chr += 1;

temp=(White == color) ? (Hz[chr][t%16]):(~Hz[chr][t%16]);
// temp=Hz[chr][t];
for(t1=0;t1<8;t1++)
{
if(temp&0x80)
ssd1306_DrawPixel(x, y, White);

temp<<=1;
y++;
if((y-y0) == 16)
{
y=y0;
x++;
break;
}
}
}
}

6)編寫漢字顯示函數(shù),在OLED顯示線程的Entry函數(shù)中編寫漢字顯示函數(shù)

static void OLED_ManageEntry(void *parameter)
{
    ssd1306_Init();    /*IIC and OLED initial*/

    OLED_DrawHz(0, 24, 0, White);     /*0 - 你*/
    OLED_DrawHz(16, 24, 1, White);    /*1 - 好*/
    OLED_DrawHz(32, 24, 2, White);   /*2 - ,*/
    OLED_DrawHz(48, 24, 3, White);     /*3 - 世*/
    OLED_DrawHz(64, 24, 4, White);     /*4 - 界*/
    ssd1306_UpdateScreen();
    
    while(1)
    {

        rt_thread_mdelay(100);
    }
}

四、實踐效果

完整代碼在下一篇帖子中,有需要請移步。

pYYBAGGrCPSAdDmuAAn3aDhIPm8473.png

五、代碼

詳細代碼請移步gitee:https://gitee.com/hehung/ab32-vg1_-rt-thread

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6043

    文章

    44621

    瀏覽量

    638624
  • OLED技術(shù)
    +關(guān)注

    關(guān)注

    1

    文章

    66

    瀏覽量

    13352
  • OLED
    +關(guān)注

    關(guān)注

    119

    文章

    6220

    瀏覽量

    224836
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1722

    瀏覽量

    92139
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1305

    瀏覽量

    40390
收藏 人收藏

    評論

    相關(guān)推薦

    RTT大賽作品:AB32VG1開發(fā)板OLED顯示實驗

    最近在玩AB32VG1,在做OLED顯示實驗時,很多關(guān)于AB32VG1驅(qū)動OLED的文章,很多都是官方例程操作,在msh窗口中輸入測試指令,測試驅(qū)動是否正常。很少有關(guān)于在main函數(shù)中直接實現(xiàn)的,本編文章直接在MAIN函數(shù)實現(xiàn)
    的頭像 發(fā)表于 11-05 16:03 ?6324次閱讀
    <b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b>:AB32VG1開發(fā)板<b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>實驗

    RTT大賽作品連載】AB32VG1評估板到貨控制彩燈測試

    RTT大賽作品連載】AB32VG1評估板到貨控制彩燈測試篇;接下來看看在如何AB32VG1評估板控制彩燈! 在RT-ThreadStudio新建項目到對應(yīng)開發(fā)配置及下載及驗證測試!
    的頭像 發(fā)表于 11-07 19:39 ?5269次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】AB32VG1評估板到貨控制彩燈測試

    RTT大賽作品連載】CH32V103開發(fā)板資料及上電首測

    簡介 ? 參加論壇舉辦的rtt大賽也有幾天了,我選用的是CH32V103的板子,第一步就是收集板卡的相關(guān)資料了。 CH32V103是 沁恒微電子設(shè)計的一款RSIC-V的單片機,使用了RSIC-V3A
    的頭像 發(fā)表于 11-15 08:45 ?8769次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】CH32V103開發(fā)板資料及上電首測

    RTT大賽作品連載】AB32VG1評估板 音樂播放器

    RTT大賽作品連載】AB32VG1評估板 音樂播放器
    的頭像 發(fā)表于 11-12 21:11 ?6306次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】AB32VG1評估板 音樂播放器

    RTT大賽作品連載】中科藍訊AB32VG1開發(fā)板開箱篇

    介紹電路原理圖分析接口說明,AB32VG1開發(fā)板是以中科藍訊(Bluetrum)公司推出的基于RISC-V架構(gòu)的高配置芯片AB5301A為核心所組成的。【RTT大賽作品連載】中科藍訊A
    的頭像 發(fā)表于 11-13 10:01 ?1.1w次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】中科藍訊AB32VG1開發(fā)板開箱篇

    RTT大賽作品連載】 PWM操作蜂鳴器

    使用AB32VG1的PWM來操作無源蜂鳴器,能夠輸出頻率為1KHz到20KHz的聲音。
    的頭像 發(fā)表于 12-06 08:36 ?9754次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】 PWM操作蜂鳴器

    RTT大賽作品連載OLED顯示圖片

    使用AB32VG1驅(qū)動IIC顯示圖片。
    的頭像 發(fā)表于 12-06 09:17 ?6918次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】 <b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>圖片

    RTT大賽作品連載】AB32VG1開發(fā)板之OLED

    驅(qū)動OLED屏.
    的頭像 發(fā)表于 01-04 08:58 ?4545次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】AB32VG1開發(fā)板之<b class='flag-5'>OLED</b>屏

    【星核計劃】上傳FPGA大賽作品,領(lǐng)取電子發(fā)燒友專屬上傳福利!

    -FPGA大賽,本次大賽獎勵豐厚,不僅有獎金,還有電子發(fā)燒友論壇為參賽者準備的上傳福利,按照下面規(guī)則上傳參賽作品即可獲得,還在等什么,快來參加吧!!作品上傳地址:【FPGA開發(fā)者項目
    發(fā)表于 05-21 15:01

    【文章連載】RT-Thread創(chuàng)新應(yīng)用大賽文章匯總

    作者:RTT大賽學(xué)習(xí)經(jīng)驗分享 基于 rt-thread studio 的 sdk 開發(fā) adc 的應(yīng)用詳解RTT大賽作品:AB32VG1開發(fā)
    發(fā)表于 10-11 15:13

    【有獎活動】RT-Thread創(chuàng)新應(yīng)用大賽作品連載征文

    禮品:https://jifen.elecfans.com/index.html?文章標題格式:【RTT大賽作品連載】+自擬內(nèi)容?文章作品
    發(fā)表于 10-21 18:49

    RTT大賽作品連載】AB32VG1開發(fā)板OLED顯示實驗

    最近在玩AB32VG1,在做OLED顯示實驗時,在csdn搜索了很多關(guān)于AB32VG1驅(qū)動OLED的文章,很多都是官方例程操作,在msh窗口中輸入測試指令,測試驅(qū)動是否正常。很少有關(guān)于在main函數(shù)
    發(fā)表于 11-05 14:33

    【三等獎】RT-Thread創(chuàng)新應(yīng)用設(shè)計大賽作品1

    項目簡介:很榮幸能申請到AB32VG1開發(fā)板參加這次RTT的創(chuàng)新大賽,這個芯片的功能很強大。我基于這個開發(fā)板制作了一款桌面小工具一個小巧、功能豐富、具有實用價值的桌面物聯(lián)網(wǎng)“控制中樞”。可以實現(xiàn)
    發(fā)表于 01-25 14:28

    國際程序設(shè)計大賽作品欣賞

    國際程序設(shè)計大賽作品欣賞,非常漂亮的程序
    發(fā)表于 08-18 17:26 ?0次下載

    2019年電子大賽優(yōu)秀作品匯總賞析

    2019年電子大賽優(yōu)秀作品匯總賞析
    發(fā)表于 07-22 11:32 ?65次下載
    主站蜘蛛池模板: 91色在线视频 | 中文字幕在线观看亚洲 | 色播欧美 | 狼色视频在线观免费观看 | 狠狠涩| 性xxxx黑人与亚洲 | 国产呦系列呦交 | 精品久久久久久婷婷 | 另类免费视频 | 欧美日韩精品乱国产 | 边摸边吃奶边做视频叫床韩剧 | 91色在线视频 | 国产美女一级片 | 一区二区三区高清在线 | 免费一级特黄特色黄大任片 | 日韩毛片视频 | 国产逼逼视频 | 亚洲午夜顶级嘿嘿嘿影院 | 我想看三级特黄 | 国产资源在线播放 | 国内精品免费视频自在线 | 亚洲一区二区精品推荐 | 亚洲成人激情电影 | 欧美日韩国产一区二区 | 七月婷婷精品视频在线观看 | 天天摸夜夜添狠狠添2018 | 一区二区三区四区在线不卡高清 | 久久99精品福利久久久 | 最近最新免费视频 | 丁香婷婷视频 | 高清成年美女黄网站色大 | 九九福利| 四虎精品成在线播放 | 久久精品男人的天堂 | 东方天堂网 | 最好看的最新中文字幕2018免费视频 | 兔费看全黄三级 | 三级黄色免费网站 | 奇米色吧| 婷婷五月情| 天天色天天干天天 |