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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

STM32驅動OLED屏設計方案完成漢字滾動顯示

嵌入式技術 ? 來源:嵌入式技術 ? 作者:嵌入式技術 ? 2022-05-31 17:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

硬件平臺

STM32開發板

0.96寸OLED屏(SPI接口

功能實現

??在OLED屏上實現字符串滾動顯示。
??0.96寸OLED分辨率為128*64(128列,64行)。我們可以定義二維數組緩沖區buff[64][128],先將要顯示的數據放在緩沖驅動中,然后按固定頻率將數據更新到屏幕上。

示例效果

STM32驅動OLED屏滾動顯示

poYBAGKV38-AUW1dAANu3KcLXDg512.pngpoYBAGKV36OAO-tRAANW_QwBzJY352.png

軟件設計

?顯示一列數據函數

/*
函數功能: 顯示一列
函數參數:
        u8 x  - 橫坐標位置
        u8 y  - 縱坐標位置
        u8 size -字體大小
        u8 *p - 源數據
說    明:保證縱向為8的倍數
取模方式:縱向取模,以8個點為單位進行取模,高位在前
*/
void OLED_DrawRecData2(u8 x,u8 y,u8 size,const u8 *p)
{
    u8 y0=y; //保存y坐標
    u8 i,j;
    u8 data=0;
    for(i=0;i

滾動顯示函數(左移顯示)

/******************************字符串滾動顯示****************************
**左移滾動顯示
**  u8 x,u8 y  --- 顯示的起始位置
**  u8 size    --- 字體大小
**  u8 *p      --- 需要滾動顯示的數據
**  u8 number  --- 要顯示的漢字個數
*******************************************************************/
void OLED_Left_Move_Display(u8 x,u8 y,u8 size,u8 *p,u8 number)
{
  int x0=x;//顯示的起始位置
  int i=0;
  u8 *data=p;
  u16 cnt=0,offset=0;
  while(1)
  {
    for(cnt=0,i=x0;i<128;i++)
    {
      OLED_DrawRecData2(i,y,size,data+cnt);//顯示一列
      cnt+=size/8;//一列的偏移量
    }
    OLED_RefreshGRAM(); //更新一次顯示
    x0--;//左移顯示
    if(x0<=0)//完整顯示完一行數據
    {
       x0=0;
       data+=size/8;//數據的起始位置往后移動
    }  
    offset++;
    if(offset>=number*size+128)//保存顯示的數據完整滾動完一遍
     {
        offset=0; //歸位
        x0=x;
        data=p;//數據地址歸位
     } 
  }   
}

主函數

/*測試數據:  縱向取模,以8個點為單位進行取模,高位在前*/
 u8 font_test2[28][32]=
{
{0x20,0x08,0x24,0x10,0x22,0x60,0x21,0x80,0x26,0x41,0x39,0x32,0x02,0x04,0x0C,0x18,0xF0,0x60,0x13,0x80,0x10,0x60,0x10,0x18,0x14,0x04,0x18,0x02,0x00,0x01,0x00,0x00},/*"歡",0*/

{0x02,0x00,0x02,0x02,0x42,0x04,0x33,0xF8,0x00,0x04,0x00,0x02,0x3F,0xF2,0x20,0x22,0x40,0x42,0x00,0x02,0x3F,0xFE,0x20,0x42,0x20,0x22,0x3F,0xC2,0x00,0x02,0x00,0x00},/*"迎",1*/

{0x00,0x84,0x10,0x84,0x10,0x88,0x14,0x88,0x13,0x90,0x10,0xA0,0x10,0xC0,0xFF,0xFF,0x10,0xC0,0x10,0xA0,0x11,0x90,0x16,0x88,0x10,0x88,0x10,0x84,0x00,0x84,0x00,0x00},/*"來",2*/

{0x20,0x01,0x20,0x02,0x20,0x04,0x20,0x18,0x20,0x60,0x3F,0x80,0x22,0x00,0x22,0x00,0x22,0x02,0x22,0x01,0x22,0x02,0x23,0xFC,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00},/*"萬",3*/

{0x10,0x41,0x12,0x42,0x12,0x44,0x12,0x58,0xFF,0xE0,0x12,0x40,0x12,0x40,0x10,0x40,0x00,0x00,0x7F,0xFF,0x40,0x10,0x44,0x08,0x5B,0x10,0x60,0xE0,0x00,0x00,0x00,0x00},/*"邦",4*/

{0x00,0x00,0x00,0x10,0x00,0x20,0x00,0x42,0xFE,0xC4,0x93,0x48,0x92,0x71,0x92,0x42,0x92,0x4C,0x92,0x70,0x92,0x42,0xFE,0x41,0x00,0x42,0x00,0x7C,0x00,0x00,0x00,0x00},/*"易",5*/

{0x01,0x00,0x01,0x00,0x77,0xFE,0x11,0x24,0x11,0x24,0x11,0x24,0x17,0xFE,0xF1,0x00,0x10,0x81,0x11,0x02,0x1E,0x0C,0x12,0xF0,0x72,0x0C,0x02,0x82,0x03,0x01,0x00,0x00},/*"嵌",6*/

{0x02,0x20,0x0C,0x20,0x88,0x20,0x69,0x20,0x09,0x20,0x09,0x22,0x89,0x21,0x69,0x7E,0x09,0x60,0x09,0xA0,0x19,0x20,0x28,0x20,0xC8,0x20,0x0A,0x20,0x0C,0x20,0x00,0x00},/*"學",7*/

{0x00,0x00,0x40,0x10,0x40,0x18,0x40,0x10,0x48,0x20,0x44,0x20,0x43,0x20,0x40,0x40,0x40,0x40,0x40,0x82,0x40,0x81,0x40,0x02,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00},/*"習",8*/

{0x01,0x00,0x01,0x00,0x77,0xFE,0x11,0x24,0x11,0x24,0x11,0x24,0x17,0xFE,0xF1,0x00,0x10,0x81,0x11,0x02,0x1E,0x0C,0x12,0xF0,0x72,0x0C,0x02,0x82,0x03,0x01,0x00,0x00},/*"嵌",9*/

{0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x30,0x80,0xC0,0x47,0x00,0x38,0x00,0x07,0x00,0x00,0xC0,0x00,0x30,0x00,0x0C,0x00,0x02,0x00,0x01,0x00,0x01,0x00,0x00},/*"入",10*/

{0x08,0x00,0x08,0x04,0x09,0x06,0x09,0x04,0x09,0xFC,0x09,0x08,0x09,0x08,0x08,0x08,0x08,0x00,0xFF,0xC0,0x08,0x30,0x08,0x08,0x88,0x04,0x68,0x02,0x08,0x1F,0x00,0x00},/*"式",11*/

{0x01,0x00,0x41,0x01,0x41,0x02,0x41,0x0C,0x7F,0xF0,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7F,0xFF,0x41,0x00,0x41,0x00,0x41,0x00,0x01,0x00,0x00,0x00},/*"開",12*/

{0x00,0x00,0x00,0x04,0x18,0x08,0x68,0x31,0x08,0xC1,0x0B,0x01,0x1D,0x82,0xE9,0x62,0x09,0x14,0x09,0x08,0x09,0x14,0x49,0x22,0x29,0xC2,0x08,0x01,0x00,0x01,0x00,0x00},/*"發",13*/
};
int main(void)
{  
  u8 *p;
  BEEP_Init(); //初始化蜂鳴器
  LED_Init();  //初始化LED燈
  KEY_Init();  //初始化按鍵
  USART1_Init(115200);  //初始化串口1  
  OLED_Init(); 				  //OLED顯示屏初始化
	OLED_Clear(0x00);    	//清屏  
  p=font_test2[0]; //要顯示的字符串
  while(1)
  {
    OLED_Left_Move_Display(127,10,16,p,14);//滾動顯示
  }
}

結論:0.96寸OLED屏硬件自帶滾動顯示效果,但使用OLED屏硬件方式實現滾動無法靈活顯示,采用軟件方式實現滾動顯示更加靈活便捷。

審核編輯:符乾江

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2291

    文章

    11020

    瀏覽量

    363230
  • OLED屏
    +關注

    關注

    0

    文章

    162

    瀏覽量

    21258
  • 滾動顯示
    +關注

    關注

    0

    文章

    10

    瀏覽量

    5752
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    從設計到市場:如何利用冠顯0.39&quot; Micro OLED顯示解決方案快速實現產品開發?

    冠顯0.39" Micro OLED顯示解決方案主要包括0.39" 顯示屏、FPC及驅動板,是TV系列中最小巧緊湊的一款,其
    的頭像 發表于 06-12 09:42 ?178次閱讀
    從設計到市場:如何利用冠顯0.39&quot; Micro <b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>解決<b class='flag-5'>方案</b>快速實現產品開發?

    冠顯光電0.6&quot;HDMI 單目驅動方案,加速微顯示方案落地

    方案主要包括0.6”硅基顯示屏,HDMI單目顯示屏驅動板。驅動板以 Micro HDMI 接口為視頻數據傳輸接口,可用于 TDO 硅基產品
    的頭像 發表于 06-09 15:50 ?175次閱讀
    冠顯光電0.6&quot;HDMI 單目<b class='flag-5'>驅動</b>板<b class='flag-5'>方案</b>,加速微<b class='flag-5'>顯示</b><b class='flag-5'>方案</b>落地

    戶外顯示屏驅動板的具體防護措施

    驅動板在戶外顯示屏中的防水設計是確保顯示屏長期穩定運行的關鍵之一。
    的頭像 發表于 04-22 15:58 ?293次閱讀

    基于STM32C8T6控制,FSR402壓力傳感器+oled屏幕顯示代碼

    基于STM32C8T6控制,FSR402壓力傳感器+oled屏幕顯示代碼
    發表于 04-14 15:06 ?3次下載

    Techwiz OLED應用:透明顯示

    如今,透明顯示器作為未來的顯示技術之一已經引起了廣泛的關注。特別是,使用OLED器件的透明顯示器已被積極研究。TechWiz OLED的發光
    發表于 03-17 11:35

    stm32g431rbt怎么顯示漢字

    stm32g431rbt怎么顯示漢字
    發表于 03-10 07:13

    天馬攜手康寧推出最新柔性OLED車載顯示屏

    在CES 2025上,天馬攜手康寧聯合推出雙方共創的最新車載顯示成果——雙13英寸多曲率一體黑OLED顯示屏和13英寸OLED滑移顯示屏,通
    的頭像 發表于 01-13 09:41 ?1030次閱讀

    應用材料公司的技術突破將OLED顯示屏引入平板電腦、個人電腦和電視機

    應用材料公司的全新MAX OLED解決方案支持在更大的玻璃面板上制造OLED顯示屏,從而將這項前沿的顯示技術從高端智能手機引入平板電腦、個人
    發表于 11-22 14:36 ?516次閱讀

    OLED的燒問題及解決方法

    OLED(有機發光二極管)屏幕因其出色的顯示效果和節能特性,已經成為許多高端智能手機、電視和顯示器的首選顯示技術。然而,OLED屏幕也面臨著
    的頭像 發表于 11-07 14:21 ?8436次閱讀

    oled是什么顯示屏 OLED與LCD的區別

    OLED是什么顯示屏 OLED(Organic Light-Emitting Diode),即有機發光二極管,是一種電流型的有機發光器件。其工作原理是通過載流子的注入和復合而致發光,發光強度與注入
    的頭像 發表于 10-21 16:40 ?4645次閱讀

    oled顯示屏的優缺點有哪些

    OLED(有機發光二極管)顯示屏作為一種先進的顯示技術,近年來在電子產品領域得到了廣泛的應用。其獨特的發光原理和構造使其具有一系列顯著的優點,但同時也存在一些不容忽視的缺點。以下是對OLED
    的頭像 發表于 10-21 16:37 ?8454次閱讀

    物聯網系統中顯示屏的主要成員_OLED顯示屏詳解

    01 物聯網系統中為什么要使用 OLED 物聯網系統中使用OLED的原因主要有以下幾點: 顯示效果的優越性 高對比度與色彩表現:
    的頭像 發表于 09-26 12:20 ?1165次閱讀
    物聯網系統中<b class='flag-5'>顯示屏</b>的主要成員_<b class='flag-5'>OLED</b><b class='flag-5'>顯示屏</b>詳解

    【xG24 Matter開發套件試用體驗】物聯網密碼柜之驅動矩陣鍵盤和OLED顯示

    ) display_password(oled, password) time.sleep(0.01)# 防止CPU占用過高 階段性總結 本次使用circuitpython實現了對矩陣鍵盤和Oled顯示屏
    發表于 08-04 23:04

    請問stm32g431rbt怎么顯示漢字

    stm32g431rbt怎么顯示漢字
    發表于 07-22 07:27

    OLED柔性顯示屏的金線封裝膠

    OLED柔性顯示屏的金線封裝膠是確保柔性顯示屏中金線連接穩定、防止外界環境侵害的關鍵材料。OLED柔性顯示屏在使用金線進行連接時,需要一種能
    的頭像 發表于 07-12 09:46 ?1193次閱讀
    <b class='flag-5'>OLED</b>柔性<b class='flag-5'>顯示屏</b>的金線封裝膠
    主站蜘蛛池模板: 狠狠欧美 | 性欧美videofree另类超大 | 国内精品久久久久影院男同志 | 97国产精品人人爽人人做 | 偷偷狠狠的日日2020 | 永久免费视频 | 网www天堂资源在线 网红和老师啪啪对白清晰 网络色综合久久 | 亚洲美女精品 | 精品国产柚木在线观看 | 欧美人与性另类 | 欧美一区二区三区在线观看 | 四虎影院成人在线观看 | 成年人黄色片视频 | 国产亚洲网站 | 亚洲色四在线视频观看 | 四虎永久在线精品免费观看地址 | 四虎在线视频 | 天堂中文字幕 | 国产精品午夜国产小视频 | 四虎永久免费网站 | 色播视频在线观看免费 | bt天堂资源在线官网bt | 成人的天堂视频一区二区三区 | 色香蕉视频| 天天色天天操天天射 | 日本jlzz| 亚洲电影二区 | 人人澡人人澡碰人人看软件 | 欧美午夜精品 | 亚洲电影免费 | 中文字幕一区二区三区在线播放 | 视频一区二区三区在线观看 | aaa一级最新毛片 | www懂爱 | 最近新韩国hd视频 | 亚洲视频入口 | 种子在线搜索bt | 美女扒开尿口给男人爽免费视频 | 久久精品视频7 | 爱啪网站 | 视频网站黄 |