oled顯示屏實驗
硬件資源:
1,DS0(連接在PB5),DS1(連接在PE5)
2,按鍵KEY0(PE4)/KEY1(PE3)/KEY2(PE2)/KEY_UP(PA0,也稱之為WK_UP)
3,串口1(波特率:115200,PA9/PA10連接在板載USB轉串口芯片CH340上面)
4,串口3(波特率:115200,PB10/PB11)
5,通用定時器3、通用定時器5
實驗現象:
OLED 顯示了三種尺寸的字符:24*12(ALIENTEK)、16*8(0.96’ OLED TEST)和12*6(剩下的內容)。
說明我們的實驗是成功的,實現了三種不同尺寸 ASCII 字符的顯示,在最后一行不停的顯示 ASCII 字符以及其碼值。
ALIENTEK STM32開發板SYSTEM文件夾,采用V3.5庫的頭文件(stm32f10x.h、system_stm32f10x.h和
core_cm3.h等幾個文件放在:SYSTEM\sys 文件夾里面),使得代碼可以完美移植到庫函數里面使用,
不過需要注意,在新建工程的時候,請在:Options for Target-->C/C++ 選項卡里面 Preprocessor
Symbols 欄定義你的STM32芯片容量。比如:ALIENTEK戰艦STM32開發板用戶,使用的是大容量的STM32
芯片,則在Define欄輸入:STM32F10X_HD
對于STM32F103系列芯片,設置原則如下:
16KB≤FLASH≤32KB 選擇:STM32F10X_LD
64KB≤FLASH≤128KB 選擇:STM32F10X_MD
256KB≤FLASH≤512KB 選擇:STM32F10X_HD
單片機源程序如下:
- /**************************************************************************
- * 函 數 名:主函數
- * 函數功能:
- * 輸 入:無
- * 輸 出:無
- *************************************************************************/
- #include "sys.h"
- #include "delay.h"
- #include "led.h"
- #include "usart.h"
- #include "oled.h"
- int main(void)
- {
- u8 t=0;
- Stm32_Clock_Init(9); //系統時鐘設置
- delay_init(72); //延時初始化
- uart_init(72,115200); //串口初始化
- LED_Init(); //初始化與LED連接的硬件接口
- OLED_Init(); //初始化OLED
- OLED_ShowString(0,0,"ALIENTEK",24);
- OLED_ShowString(0,24, "0.96' OLED TEST",16);
- OLED_ShowString(0,40,"ATOM 2015/1/14",12);
- OLED_ShowString(0,52,"ASCII:",12);
- OLED_ShowString(64,52,"CODE:",12);
- OLED_Refresh_Gram(); //更新顯示到OLED
- t=' ';
- while(1)
- {
- OLED_ShowChar(36,52,t,12,1);//顯示ASCII字符
- OLED_ShowNum(94,52,t,3,12); //顯示ASCII字符的碼值
- OLED_Refresh_Gram();//更新顯示到OLED
- t++;
- if(t>'~')t=' ';
- delay_ms(500);
- LED0=!LED0;
- }
- }
復制代碼
所有資料51hei提供下載:
oled顯示實驗.7z
(238.57 KB, 下載次數: 124)
2018-12-29 17:12 上傳
點擊文件名下載附件
oled顯示屏實驗
|