You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

109 lines
2.6 KiB

#ifndef BSP_OLED_H
#define BSP_OLED_H
#include "../bsp/bsp_config.h"
#include "msp_uart1.h"
//////#include "msp_iicM2.h"////配置需要的iic接口
//#include "sys.h"
//#include "stdlib.h"
#define u8 unsigned char
#define u32 unsigned int
#define OLED_CMD 0 //写命令
#define OLED_DATA 1 //写数据
#define OLED_MODE 0
////LoRa手环 BM03_1
///SCL2 P23
///SDA2 P22
#if 0
sbit OLED_SCL = P2^3; //时钟 D0(SCLK?
sbit OLED_SDIN = P2^2; //D1(MOSI) 数据
#define L0_OLED_io_int(); D_stdIO_P2(BITN3);D_stdIO_P2(BITN2);\
D_PUON_P2(BITN3);D_PUON_P2(BITN2)
#else
sbit OLED_SCL = P3^5; //时钟 D0(SCLK?
sbit OLED_SDIN = P5^1; //D1(MOSI) 数据
#define L0_OLED_io_int(); D_stdIO_P3(BITN5);D_stdIO_P5(BITN1);\
D_PUON_P3(BITN5);D_PUON_P5(BITN1)
#endif
#define OLED_CS_Clr() OLED_CS=0
#define OLED_CS_Set() OLED_CS=1
#define OLED_RST_Clr() OLED_RST=0
#define OLED_RST_Set() OLED_RST=1
#define OLED_DC_Clr() OLED_DC=0
#define OLED_DC_Set() OLED_DC=1
#define OLED_SCLK_Clr() OLED_SCL=0;Lc_delay_nop(1);
#define OLED_SCLK_Set() OLED_SCL=1;Lc_delay_nop(1);
#define OLED_SDIN_Clr() OLED_SDIN=0;//Lc_delay_nop(1);
#define OLED_SDIN_Set() OLED_SDIN=1;//Lc_delay_nop(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_WR_Byte(unsigned dat,unsigned cmd);
void OLED_Display_On(void);
void OLED_Display_Off(void);
void OLED_Init(void);
void OLED_Clear(void);
void OLED_DrawPoint(u8 x,u8 y,u8 t);
void OLED_Fill(u8 x1,u8 y1,u8 x2,u8 y2,u8 dot);
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 Char_Size);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size);
void OLED_ShowString(u8 x,u8 y, u8 *p,u8 Char_Size);
void OLED_Set_Pos(unsigned char x, unsigned char y);
void OLED_ShowCHinese(u8 x,u8 y,u8 no);
void OLED_ShowCHinese2(u8 x,u8 y,u8 no);
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[]);
void Delay_50ms(unsigned int Del_50ms);
void Delay_1ms(unsigned int Del_1ms);
void fill_picture(unsigned char fill_Data);
void Picture();
void IIC_Start();
void IIC_Stop();
void Write_IIC_Command(unsigned char IIC_Command);
void Write_IIC_Data(unsigned char IIC_Data);
void Write_IIC_Byte(unsigned char IIC_Byte);
void L2_OLED_Showint(u8 x,u8 y,u16 inta,u8 Char_Size);
extern void L2_OLED_init(void);
#endif