91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

STM32驅(qū)動OLED屏設(shè)計方案完成漢字滾動顯示

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

掃碼添加小助手

加入工程師交流群

硬件平臺

STM32開發(fā)板

0.96寸OLED屏(SPI接口

功能實現(xiàn)

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

示例效果

STM32驅(qū)動OLED屏滾動顯示

poYBAGKV38-AUW1dAANu3KcLXDg512.pngpoYBAGKV36OAO-tRAANW_QwBzJY352.png

軟件設(shè)計

?顯示一列數(shù)據(jù)函數(shù)

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

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

/******************************字符串滾動顯示****************************
**左移滾動顯示
**  u8 x,u8 y  --- 顯示的起始位置
**  u8 size    --- 字體大小
**  u8 *p      --- 需要滾動顯示的數(shù)據(jù)
**  u8 number  --- 要顯示的漢字個數(shù)
*******************************************************************/
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)//完整顯示完一行數(shù)據(jù)
    {
       x0=0;
       data+=size/8;//數(shù)據(jù)的起始位置往后移動
    }  
    offset++;
    if(offset>=number*size+128)//保存顯示的數(shù)據(jù)完整滾動完一遍
     {
        offset=0; //歸位
        x0=x;
        data=p;//數(shù)據(jù)地址歸位
     } 
  }   
}

主函數(shù)

/*測試數(shù)據(jù):  縱向取模,以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},/*"學(xué)",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},/*"習(xí)",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},/*"發(fā)",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);//滾動顯示
  }
}

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

審核編輯:符乾江

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

    關(guān)注

    2309

    文章

    11161

    瀏覽量

    373355
  • OLED屏
    +關(guān)注

    關(guān)注

    0

    文章

    164

    瀏覽量

    22033
  • 滾動顯示
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    深入剖析LM3509:高效白光LED與OLED顯示驅(qū)動

    深入剖析LM3509:高效白光LED與OLED顯示驅(qū)動器 在當(dāng)今的電子設(shè)備中,顯示屏的質(zhì)量和性能至關(guān)重要。無論是智能手機、平板電腦還是其他便攜式設(shè)備,都需要高效穩(wěn)定的LED和
    的頭像 發(fā)表于 02-27 15:20 ?90次閱讀

    使用硬件SPI1輪詢模式來實現(xiàn)驅(qū)動OLED顯示屏

    此篇介紹使用硬件SPI1輪詢模式來實現(xiàn)驅(qū)動OLED顯示屏硬件連接 GND ——GND VCC ——3.3V DO——PA5 DI——PA7 RES ——PB1 DC——PB0 CS——PA4 軟件
    發(fā)表于 01-27 12:36

    使用硬件I2C2輪詢模式來實現(xiàn)驅(qū)動OLED顯示屏

    此篇介紹使用硬件I2C2輪詢模式來實現(xiàn)驅(qū)動OLED顯示屏 硬件連接 GND——GND VCC——3.3V SCL——PA1 SDA——PA2 軟件代碼 I2C2配置: 復(fù)制 //I2C初始化
    發(fā)表于 12-04 06:27

    蜂鳥E203驅(qū)動OLED顯示

    利用GPIO模擬IIC驅(qū)動4pin的OLED顯示字符,開發(fā)平臺為芯來官方IDE。 不想寫過程,上傳整個工程文件,主要代碼如下: 下載:led
    發(fā)表于 10-31 06:08

    解析LED顯示屏背后的驅(qū)動方案

    當(dāng)前,各式各樣的LED顯示屏正以創(chuàng)新的顯示效果與豐富造型,拓展著人們感知視覺世界的維度。而這些視覺盛宴的背后,都離不開“幕后操控者”——LED驅(qū)動技術(shù)。
    的頭像 發(fā)表于 10-27 15:04 ?4598次閱讀
    解析LED<b class='flag-5'>顯示屏</b>背后的<b class='flag-5'>驅(qū)動</b><b class='flag-5'>方案</b>

    【RA4M2-SENSOR】+OLED顯示驅(qū)動

    RA4M2-SENSOR開發(fā)板是一款近于最小系統(tǒng)的開發(fā)板,通過添加相應(yīng)的外設(shè),可豐富其功能。 這里就為它配置一個I2C接口的OLED,驅(qū)動OLED
    發(fā)表于 09-02 18:28

    【RA-Eco-RA6M4開發(fā)板評測】點亮OLED顯示屏

    )); OLED_SSD1306_WritenB(0x40, img, w); img+=w; } } 【動態(tài)OLED顯示屏驅(qū)動 OLED
    發(fā)表于 08-31 10:25

    【RA-Eco-RA6M4開發(fā)板評測】+OLED顯示驅(qū)動

    SDIN------P209 在使用I2C進行硬件驅(qū)動前,先以模擬的方式來驅(qū)動顯示屏。 在程序設(shè)計前,需使用RASC對所用引腳加以配置,以是其作為GPIO口來使用。 然后,在回到KEIL中進
    發(fā)表于 07-23 17:33

    液晶顯示屏背光驅(qū)動設(shè)計的核心要點

    在液晶顯示屏的世界里,無論是信息清晰的單色還是色彩絢麗的彩色,背光都是其視覺呈現(xiàn)的靈魂。然而,背光驅(qū)動絕非簡單的“通電即亮”。忽視設(shè)計細(xì)節(jié),輕則導(dǎo)致亮度不均、用戶體驗打折,重則縮短
    的頭像 發(fā)表于 07-10 11:46 ?4384次閱讀
    液晶<b class='flag-5'>顯示屏</b>背光<b class='flag-5'>驅(qū)動</b>設(shè)計的核心要點

    從設(shè)計到市場:如何利用冠顯0.39&quot; Micro OLED顯示解決方案快速實現(xiàn)產(chǎn)品開發(fā)?

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

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

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

    戶外顯示屏驅(qū)動板的具體防護措施

    驅(qū)動板在戶外顯示屏中的防水設(shè)計是確保顯示屏長期穩(wěn)定運行的關(guān)鍵之一。
    的頭像 發(fā)表于 04-22 15:58 ?1017次閱讀

    基于STM32C8T6控制,F(xiàn)SR402壓力傳感器+oled屏幕顯示代碼

    基于STM32C8T6控制,F(xiàn)SR402壓力傳感器+oled屏幕顯示代碼
    發(fā)表于 04-14 15:06 ?8次下載

    Techwiz OLED應(yīng)用:透明顯示

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

    stm32g431rbt怎么顯示漢字

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