网上的一些资料没有相关的备注,对于初学者来说相当的恼火,在经过一段时间的摸索后,现在将自己的成果分享出来供大家参考
#ifndef __OLED_H
#define __OLED_H
#include <msp430.h>
#include "type.h"
#define OLED_MODE 0
#define SIZE 8
#define XLevelL 0x00
#define XLevelH 0x10
#define Max_Column 128
#define Max_Row 64
#define Brightness 0xFF
#define X_WIDTH 128
#define Y_WIDTH 64
#define OLED_SCLK_Clr() P6OUT&=~BIT3//SCL接P6.3
#define OLED_SCLK_Set() P6OUT|=BIT3
#define OLED_SDIN_Clr() P6OUT&=~BIT4//SDA接P6.4
#define OLED_SDIN_Set() P6OUT|=BIT4
#define OLED_CMD 0
#define OLED_DATA 1
void OLED_WR_Byte(unsigned dat,unsigned cmd);
void OLED_Display_On(void);//唤醒OLED显示
void OLED_Display_Off(void);//休眠OLED显示
void OLED_Init(void);//库函数初始化定义
void OLED_Clear(void);//清屏
void OLED_PutPixel(u8 x,u8 y);
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[]);//起始点坐标(x0:0~127, y0:0~7); x1,y1 : 起点对角线(结束点)的坐标(x1:1~128,y1:1~8)
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);//(X, Y, '字符', SIZE)
void OLED_ShowNum1(u8 x,u8 y,u32 num,u8 size2);//显示四位数,(X, Y,数值,**仅限8**)x位数可改变
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size);//(X, Y,数值, 数值个数<6位,**仅限16**)
void OLED_ShowVI(u8 x,u8 y,u32 num,u8 size2);//输出字符X,X=X*0.001(X, Y, 变量, SIZE)
void OLED_ShowString(u8 x,u8 y, u8 *p,u8 Char_Size);//输出一串字符,X, Y, "内容", 字符大小
void OLED_ShowCHinese(u8 x,u8 y,u8 no);//(X, Y, 字符库内汉字编号):x必须+2, Y={2, 4, 6, 8}
void OLED_Set_Pos(unsigned char x, unsigned char y);//设置起始点坐标
void Delay_1ms(unsigned int Del_1ms);//延时程序,单位为1ms
void fill_picture(unsigned char fill_Data);//填充屏幕----0xff为点亮全屏,0x00为不点亮
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 IIC_Wait_Ack();
#endif
这是调试库的函数
由于代码过多,就不在这里详细展示了,见附件
上面4个C语言文件下载,不含工程文件,大家自己建立一下吧:
文件.7z
(5.66 KB, 下载次数: 80)
|