找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5858|回復(fù): 6
收起左側(cè)

STM32通過EC11調(diào)節(jié)OLED多級菜單程序

  [復(fù)制鏈接]
ID:734163 發(fā)表于 2021-12-13 14:29 | 顯示全部樓層 |閱讀模式
單片機源程序如下:
  1. //                                                        STM32F103C8 + OLED12864 + SPI
  2. //              ----------------------------------------------------------------
  3. //              GND    電源地
  4. //              VCC  接5V或3.3v電源
  5. //              D0   接PA5(SCL)
  6. //              D1   接PA7(SDA)
  7. //              RES  接PB0
  8. //              DC   接PB1
  9. //              CS   接PA4               
  10. //              ----------------------------------------------------------------
  11. #include "delay.h"
  12. #include "sys.h"
  13. #include "oled.h"
  14. //#include "bmp.h"
  15. //#include "key.h"
  16. #include "menu.h"
  17. #include "EX_KEIL_0718.h"

  18. int Level=0,Menu_Page=1;
  19. int sum=0;

  20. int main(void)
  21. {

  22.         delay_init();
  23.         //KEY_Init();
  24.   EX_Init();
  25.         //LED_Init();
  26.         OLED_Init();
  27.         Menu_Display(Menu_Page, Level);
  28.         while (1)
  29.         {
  30.                 //KEY_Func(KEY_Scan());
  31.                 Encoder_EC11_Analyze(Encoder_EC11_Scan( ));
  32.         }
  33. }
復(fù)制代碼


  1. #include "menu.h"
  2. #include "stm32f10x.h"


  3. void Menu_Content(int Menu_Page)
  4. {
  5.         //一級菜單顯示
  6.         switch (Menu_Page)
  7.         {
  8.                 case 1:
  9.                 {
  10.                         OLED_ShowString(0,0,Func1,8);
  11.                         OLED_ShowString(0,1,Func2,8);
  12.                         OLED_ShowString(0,2,Func3,8);
  13.                         OLED_ShowString(0,3,Func4,8);
  14.                         break;
  15.                 }
  16.           //為了區(qū)別一屏和二、三屏的區(qū)別,設(shè)置了大小不同的選項,根據(jù)需要自行修改
  17.                 case 2:
  18.                 {
  19.                         OLED_ShowString(0,0,Func5,8);
  20.                         OLED_ShowString(0,2,Func6,8);
  21.                         OLED_ShowString(0,4,Func7,8);
  22.                         OLED_ShowString(0,6,Func8,8);
  23.                         break;
  24.                 }
  25.                 case 3:
  26.                 {
  27.                         OLED_ShowString(0,0,Func9,8);
  28.                         OLED_ShowString(0,2,Func10,8);
  29.                         OLED_ShowString(0,4,Func11,8);
  30.                         OLED_ShowString(0,6,Func12,8);
  31.                         break;
  32.                 }
  33.                 /***********************************
  34.                 添加完功能和頁面后,在此添加case以顯示
  35.                 ***********************************/
  36.                 default: break;
  37.         }
  38. }


  39. void Menu_Display(int Menu_Page, int Level)
  40. {
  41.         OLED_Clear();
  42.         Menu_Content(Menu_Page);
  43.         OLED_ShowChar(120,Level,'*',8);   //” * “移動距離由Level決定,本實驗的12864共有豎8行,若需改動一屏所示的選項數(shù)量,需改動Level相關(guān)的參數(shù)
  44. }
復(fù)制代碼

Keil代碼下載: STM32F103-OLED-Menu-master.7z (272.23 KB, 下載次數(shù): 316)

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:1000867 發(fā)表于 2022-1-28 19:00 | 顯示全部樓層
你好,不知道你的EC11電路是什么樣的,我的EC11轉(zhuǎn)動的時候一次跳兩個值
回復(fù)

使用道具 舉報

ID:940409 發(fā)表于 2022-4-16 13:00 | 顯示全部樓層
請問ec11與stm32引腳如何進行連接
回復(fù)

使用道具 舉報

ID:829223 發(fā)表于 2022-9-13 16:54 | 顯示全部樓層
2301525法國 發(fā)表于 2022-4-16 13:00
請問ec11與stm32引腳如何進行連接

EC11 有兩個方向引腳(A和B)加一個開關(guān)引腳,分別上拉電阻接到STM32 GPIO端口。
回復(fù)

使用道具 舉報

ID:706567 發(fā)表于 2023-1-6 19:43 | 顯示全部樓層
大神! 仰望!  
回復(fù)

使用道具 舉報

ID:51588 發(fā)表于 2023-4-2 11:58 | 顯示全部樓層
        好,可以參考學(xué)習(xí),
回復(fù)

使用道具 舉報

ID:105826 發(fā)表于 2023-8-7 13:40 | 顯示全部樓層
感謝分享,OLED菜單如果使用圖形化,用什么工具開發(fā)好呢?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表