国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373399
  • OLED屏
    +關注

    關注

    0

    文章

    164

    瀏覽量

    22036
  • 滾動顯示
    +關注

    關注

    0

    文章

    10

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    使用硬件SPI1輪詢模式來實現驅動OLED顯示屏

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

    使用硬件I2C2輪詢模式來實現驅動OLED顯示屏

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

    蜂鳥E203驅動OLED顯示

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

    解析LED顯示屏背后的驅動方案

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

    【RA4M2-SENSOR】+OLED顯示驅動

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

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

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

    【RA-Eco-RA6M4開發板評測】+OLED顯示驅動

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

    液晶顯示屏背光驅動設計的核心要點

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

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

    冠顯0.39" Micro OLED顯示解決方案主要包括0.39" 顯示屏、FPC及驅動板,是TV系列中最小巧緊湊的一款,其
    的頭像 發表于 06-12 09:42 ?695次閱讀
    從設計到市場:如何利用冠顯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 ?748次閱讀
    冠顯光電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 ?1024次閱讀

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

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

    Techwiz OLED應用:透明顯示

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

    stm32g431rbt怎么顯示漢字

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