stm32_ota/OLED显示屏资料/03中景园电子1.3英寸OLED显示屏测试程序/14中景园电子1.3英寸OLED显示屏_MSP430系列_SPI_例程/oled.h

139 lines
4.9 KiB
C
Raw Normal View History

2024-12-17 20:03:43 +08:00
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
//<2F>о<EFBFBD>԰<EFBFBD><D4B0><EFBFBD><EFBFBD>
//<2F><><EFBFBD>̵<EFBFBD>ַ<EFBFBD><D6B7>http://shop73023976.taobao.com/?spm=2013.1.0.0.M4PqC2
//
// <20><> <20><> <20><> : oled.c
// <20><> <20><> <20><> : v2.0
// <20><> <20><> : HuangKai
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : 2014-0101
// <20><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD> :
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : 0.96<EFBFBD><EFBFBD>OLED <20>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>(MSP430F149ϵ<39><CFB5>)
// <20><><EFBFBD><EFBFBD>IC :SSD1309
// ˵<><CBB5>:
// ----------------------------------------------------------------
// GND <20><>Դ<EFBFBD><D4B4>
// VCC <20><>3.3v<EFBFBD><EFBFBD>Դ
// D0 P54<35><34>ʱ<EFBFBD>ӣ<EFBFBD>
// D1 P53<35><33><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
// RES <20><>P52
// DC <20><>P51
// CS <20><>P50
// ----------------------------------------------------------------
// <20>޸<EFBFBD><DEB8><EFBFBD>ʷ :
// <20><> <20><> :
// <20><> <20><> : HuangKai
// <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
//Copyright(C) <20>о<EFBFBD>԰<EFBFBD><D4B0><EFBFBD><EFBFBD>2014/3/16
//All rights reserved
//******************************************************************************/
#ifndef __OLED_H
#define __OLED_H
#include <io430.h>
#include <in430.h>
#include <intrinsics.h>
#define u8 unsigned char
#define u32 unsigned int
#define OLED_CMD 0 //д<><D0B4><EFBFBD><EFBFBD>
#define OLED_DATA 1 //д<><D0B4><EFBFBD><EFBFBD>
#define Set_Bit(val, bitn) (val |= (/*1 <<*/(bitn))) //<2F>m<EFBFBD>Y<EFBFBD>쬰 1
#define Clr_Bit(val, bitn) (val &= ~(/*1<<*/(bitn))) //<2F>m<EFBFBD>Y<EFBFBD>쬰 0
#define Get_Bit(val, bitn) (val & (1<<(bitn)) ) //<2F><><EFBFBD>o<EFBFBD>Y<EFBFBD><EFBFBD><ECAABA>
//----------------------------------------------------------------------------------
//OLED SSD1306 SPI ʱ<><CAB1>D0
//#define OLED_SSD1306_SCLK_DIR (P1DIR)
//#define OLED_SSD1306_SCLK_OUT (P1OUT)
#define OLED_SSD1306_SCLK_PIN_NUM (BIT4)
#define OLED_SSD1306_SCLK_IO_INIT (Set_Bit(P5DIR,OLED_SSD1306_SCLK_PIN_NUM))
#define OLED_SCLK_Set() (Set_Bit(P5OUT,OLED_SSD1306_SCLK_PIN_NUM))
#define OLED_SCLK_Clr() (Clr_Bit(P5OUT,OLED_SSD1306_SCLK_PIN_NUM))
//----------------------------------------------------------------------------------
//OLED SSD1306 SPI <20><><EFBFBD><EFBFBD>D1
//#define OLED_SSD1306_SDIN_DIR (P1DIR)
//#define OLED_SSD1306_SDIN_OUT (P1OUT)
#define OLED_SSD1306_SDIN_PIN_NUM (BIT3)
#define OLED_SSD1306_SDIN_IO_INIT (Set_Bit(P5DIR,OLED_SSD1306_SDIN_PIN_NUM))
#define OLED_SDIN_Set() (Set_Bit(P5OUT,OLED_SSD1306_SDIN_PIN_NUM))
#define OLED_SDIN_Clr() (Clr_Bit(P5OUT,OLED_SSD1306_SDIN_PIN_NUM))
//----------------------------------------------------------------------------------
//OLED SSD1306 <20><>λ/RES
//#define OLED_SSD1306_RST_DIR (P1DIR)
//#define OLED_SSD1306_RST_OUT (P1OUT)
#define OLED_SSD1306_RST_PIN_NUM (BIT2)
#define OLED_SSD1306_RST_IO_INIT (Set_Bit(P5DIR,OLED_SSD1306_RST_PIN_NUM))
#define OLED_RST_Set() (Set_Bit(P5OUT,OLED_SSD1306_RST_PIN_NUM))
#define OLED_RST_Clr() (Clr_Bit(P5OUT,OLED_SSD1306_RST_PIN_NUM))
//----------------------------------------------------------------------------------
//OLED SSD1306 <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>DC
//#define OLED_SSD1306_DC_DIR (P1DIR)
//#define OLED_SSD1306_DC_OUT (P1OUT)
#define OLED_SSD1306_DC_PIN_NUM (BIT1)
#define OLED_SSD1306_DC_IO_INIT (Set_Bit(P5DIR,OLED_SSD1306_DC_PIN_NUM))
#define OLED_DC_Set() (Set_Bit(P5OUT,OLED_SSD1306_DC_PIN_NUM))
#define OLED_DC_Clr() (Clr_Bit(P5OUT,OLED_SSD1306_DC_PIN_NUM))
//----------------------------------------------------------------------------------
//OLED SSD1306 <20><>ƬѡCS
//#define OLED_SSD1306_CE_DIR (P1DIR)
//#define OLED_SSD1306_CE_OUT (P1OUT)
#define OLED_SSD1306_CE_PIN_NUM (BIT0)
#define OLED_SSD1306_CE_IO_INIT (Set_Bit(P5DIR,OLED_SSD1306_CE_PIN_NUM))
#define OLED_CS_Set() (Set_Bit(P5OUT,OLED_SSD1306_CE_PIN_NUM))
#define OLED_CS_Clr() (Clr_Bit(P5OUT,OLED_SSD1306_CE_PIN_NUM))
//----------------------------------------------------------------------------------
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LED<45><44>
#define LED_PIN_NUM (BIT0)
#define LED_IO_INIT (Set_Bit(P2DIR,LED_PIN_NUM))
#define LED_Set() (Set_Bit(P2OUT,LED_PIN_NUM))
#define LED_Clr() (Clr_Bit(P2OUT,LED_PIN_NUM))
//----------------------------------------------------------------------------------
#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<45>˿ڶ<CBBF><DAB6><EFBFBD>----------------
void delay_ms(unsigned int ms);
//OLED<45><44><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
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_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);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size2);
void OLED_ShowString(u8 x,u8 y, u8 *p);
void OLED_Set_Pos(unsigned char x, unsigned char y);
void OLED_ShowCHinese(u8 x,u8 y,u8 no);
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[]);
#endif