|
單片機源程序如下:- // STM32F103C8 + OLED12864 + SPI
- // ----------------------------------------------------------------
- // GND 電源地
- // VCC 接5V或3.3v電源
- // D0 接PA5(SCL)
- // D1 接PA7(SDA)
- // RES 接PB0
- // DC 接PB1
- // CS 接PA4
- // ----------------------------------------------------------------
- #include "delay.h"
- #include "sys.h"
- #include "oled.h"
- //#include "bmp.h"
- //#include "key.h"
- #include "menu.h"
- #include "EX_KEIL_0718.h"
- int Level=0,Menu_Page=1;
- int sum=0;
- int main(void)
- {
- delay_init();
- //KEY_Init();
- EX_Init();
- //LED_Init();
- OLED_Init();
- Menu_Display(Menu_Page, Level);
- while (1)
- {
- //KEY_Func(KEY_Scan());
- Encoder_EC11_Analyze(Encoder_EC11_Scan( ));
- }
- }
復(fù)制代碼
- #include "menu.h"
- #include "stm32f10x.h"
- void Menu_Content(int Menu_Page)
- {
- //一級菜單顯示
- switch (Menu_Page)
- {
- case 1:
- {
- OLED_ShowString(0,0,Func1,8);
- OLED_ShowString(0,1,Func2,8);
- OLED_ShowString(0,2,Func3,8);
- OLED_ShowString(0,3,Func4,8);
- break;
- }
- //為了區(qū)別一屏和二、三屏的區(qū)別,設(shè)置了大小不同的選項,根據(jù)需要自行修改
- case 2:
- {
- OLED_ShowString(0,0,Func5,8);
- OLED_ShowString(0,2,Func6,8);
- OLED_ShowString(0,4,Func7,8);
- OLED_ShowString(0,6,Func8,8);
- break;
- }
- case 3:
- {
- OLED_ShowString(0,0,Func9,8);
- OLED_ShowString(0,2,Func10,8);
- OLED_ShowString(0,4,Func11,8);
- OLED_ShowString(0,6,Func12,8);
- break;
- }
- /***********************************
- 添加完功能和頁面后,在此添加case以顯示
- ***********************************/
- default: break;
- }
- }
- void Menu_Display(int Menu_Page, int Level)
- {
- OLED_Clear();
- Menu_Content(Menu_Page);
- OLED_ShowChar(120,Level,'*',8); //” * “移動距離由Level決定,本實驗的12864共有豎8行,若需改動一屏所示的選項數(shù)量,需改動Level相關(guān)的參數(shù)
- }
復(fù)制代碼
Keil代碼下載:
STM32F103-OLED-Menu-master.7z
(272.23 KB, 下載次數(shù): 316)
2021-12-14 00:46 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|