在线观看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
    +關注

    關注

    2283

    文章

    10986

    瀏覽量

    361331
  • OLED屏
    +關注

    關注

    0

    文章

    162

    瀏覽量

    21120
  • 滾動顯示
    +關注

    關注

    0

    文章

    10

    瀏覽量

    5742
收藏 人收藏

    評論

    相關推薦

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

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

    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 ?592次閱讀

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

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

    OLED的燒問題及解決方法

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

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

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

    oled顯示屏的優缺點有哪些

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

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

    01 物聯網系統中為什么要使用 OLED 物聯網系統中使用OLED的原因主要有以下幾點: 顯示效果的優越性 高對比度與色彩表現:
    的頭像 發表于 09-26 12:20 ?987次閱讀
    物聯網系統中<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 ?1026次閱讀
    <b class='flag-5'>OLED</b>柔性<b class='flag-5'>顯示屏</b>的金線封裝膠

    使用GPIO口作為電源驅動OLED

    使用GPIO口作為電源驅動OLED 以往為了增加OLED驅動顯示,都是用杜邦線將OLED連接到
    發表于 06-23 14:20

    STC8xxxx_H_NTC測溫OLED顯示UART_ADC顯溫度值OK

    STC8xxxx_H_NTC測溫OLED顯示UART_ADC顯溫度值OK
    發表于 06-07 11:11 ?1次下載

    12864B 帶漢字庫的液晶 與 arduino 連接 ,你是否順利顯示

    arduino 驅動漢字庫的12864B
    的頭像 發表于 05-20 14:16 ?2507次閱讀
    12864B 帶<b class='flag-5'>漢字</b>庫的液晶<b class='flag-5'>屏</b> 與 arduino 連接 ,你是否順利<b class='flag-5'>顯示</b>
    主站蜘蛛池模板: 97人人视频 | 国产免费卡1卡2卡 | 深夜福利欧美 | 人人澡人人人人夜夜爽 | 国产精品露脸脏话对白 | 欧美黄色一级网站 | 人人干人人搞 | 中文久草| 国产精品一区二区三 | 成人免费淫片95视频观看网站 | 精品美女在线观看 | 77788色淫免费网站视频 | 日本欧美一区二区三区不卡视频 | 午夜精品免费 | 奇米久久久 | 性孕妇洗澡video国产 | 国产精品三级在线播放 | 亚洲黄网站wwwwww | 婷婷日日夜夜 | 亚洲网站在线观看 | 亚洲第一区在线 | 亚洲天堂成人网 | 福利片在线观看免费高清 | 国产你懂 | 婷婷色香五月激情综合2020 | 国产成年美女毛片80s | 色婷婷九月 | 国产专区视频 | 久久精品国产99精品最新 | xxxxxx性| 国产区一区二区三 | 日韩福利网站 | 午夜免费观看 | video另类蛇交 | 一区二区三区中文字幕 | 嫩草影院www | 成人爽爽激情在线观看 | 女性一级全黄生活片免费看 | 日韩综合图区 | 国产一二三区在线观看 | 国产综合久久久久影院 |