/////////////////////////////////////////////////////////////////////////////////// // 功能描述 : OLED 4接口演示例程(STMSTM8S103K3系列) // 说明: // ---------------------------------------------------------------- // GND 电源地 // VCC 接5V或3.3v电源 // D0 PC1 // D1 PC2 // RES PC3 // DC PC4 // CS PC5 // ---------------------------------------------------------------- //******************************************************************************/ // 防 重复 定义 // #ifndef 判断后面的宏名是标识符, 如没有定义,就定义他; #ifndef __OLED_H__ #define __OLED_H__ //////////////////////////////////////////////////////////////////////////////////////// // 引用 头文件; //#include <iostm8s103k3.h> // 引用系统 头文件; //////////////////////////////////////////////////////////////////////////////////////// // 数据类型 定义; #define u8 uint8_t #define u16 uint16_t #define u32 uint32_t typedef unsigned char uint8_t; typedef unsigned int uint16_t; typedef unsigned long uint32_t; #define uchar unsigned char #define uint unsigned int //////////////////////////////////////////////////////////////////////////////////////// #define OLED_CMD 0 //写命令 0 宏定义,相当在遇到 OLED_CMD 时,看成 0; #define OLED_DATA 1 //写数据 1 #define OLED_MODE 0 //模式; 0 // 位定义, 控制信号口; /* #define OLED_CS PC_ODR_ODR1 //片选 #define OLED_RST PC_ODR_ODR3 //复位 #define OLED_DC PC_ODR_ODR2 //数据/命令控制 #define OLED_SCL PC_ODR_ODR5 //时钟 // D0(SCLK) #define OLED_SDIN PC_ODR_ODR6 // D1(MOSI) 数据 */ /**************** 片选 PC2 *********************/ #define OLED_CS PC_ODR_ODR2 //片选 #define OLED_CS_0 OLED_CS = 0 // 指定 端口,指定管脚; #define OLED_CS_1 OLED_CS = 1 /**************** 数据/命令 PC3 *********************/ #define OLED_DC PC_ODR_ODR3 //数据 | 命令控制 #define OLED_DC_0 OLED_DC = 0 #define OLED_DC_1 OLED_DC = 1 /**************** 复位 PC4 *********************/ #define OLED_RST PC_ODR_ODR4 //复位 #define OLED_RST_0 OLED_RST = 0 #define OLED_RST_1 OLED_RST = 1 /**************** 时钟 PC5 *********************/ //#define OLED_SCL PC_ODR_ODR5 //时钟 D0(SCLK) #define OLED_SCL PC_ODR_ODR6 //时钟 D0(SCLK) #define OLED_SCLK_0 OLED_SCL = 0 // 指定端口 管脚 写入 低电平; #define OLED_SCLK_1 OLED_SCL = 1 // 指定端口 管脚 写入 高电平; /****************数据 PC6 *********************/ //#define OLED_SDIN PC_ODR_ODR6 //D1(MOSI) 数据 #define OLED_SDIN PC_ODR_ODR5 //D1(MOSI) #define OLED_SDIN_0 OLED_SDIN = 0 #define OLED_SDIN_1 OLED_SDIN = 1 /********************************************************************/ //OLED模式设置 //0:4线串行模式 //1:并行8080模式 #define SIZE 16 #define XLevelL 0x02 #define XLevelH 0x10 #define Max_Column 128 #define Max_Row 64 #define Brightness 0xFF #define X_WIDTH 128 #define Y_WIDTH 64 //-----------------OLED端口定义---------------- void delay_ms(unsigned int ms); //OLED控制用函数 void OLED_Port_Init(void); void OLED_Reset(void); void OLED_ShowNum(u8 x, u8 y, u32 num, u8 len, u8 size2); void OLED_ShowNum16X32(u8 x , u8 y , u8 no); void OLED_ShowNum32X32(u8 x , u8 y , u8 no); void OLED_WR_Byte(u8 dat,u8 cmd); void OLED_Display_On(void); void OLED_Display_Off(void); void OLED_Init(void); void OLED_Clear(void); void OLED_Set_Pos(u8 x, u8 y); void OLED_DrawPoint(u8 x, u8 y, u8 t); void OLED_DrawBMP(u8 x0, u8 y0, u8 x1, u8 y1, const u8 BMP[]); void OLED_Fill(u8 x1,u8 y1,u8 x2,u8 y2,u8 dot); void OLED_ShowChar(u8 x,u8 y,u8 chr); void OLED_ShowString(u8 x, u8 y, u8 *p); void OLED_ShowCHinese(u8 x, u8 y, u8 no); #endif // 结束 #ifnde
联系人:客服在线
手机:全工:13903011251
电话:李R:13530006400
邮箱:729986191@qq.com
地址: GUANGDONG PROVINCE