網上的一些資料沒有相關的備注,對于初學者來說相當的惱火,在經過一段時間的摸索后,現在將自己的成果分享出來供大家參考
#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
這是調試庫的函數
由于代碼過多,就不在這里詳細展示了,見附件
51hei.png (5.24 KB, 下載次數: 90)
下載附件
2021-7-25 05:10 上傳
上面4個C語言文件下載,不含工程文件,大家自己建立一下吧:
文件.7z
(5.66 KB, 下載次數: 80)
2021-7-25 05:11 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|