/********************************************************************
* OLED屏测试程序
* msp430g2553
*
* 调用方法:
* LCD_Init(); // OLED 初始化
* LCD_Fill(0x00); // 全屏填充 0x00
* LCD_GBK16(0, 2, "1.锄禾日当午,\r2.汗滴禾下土。\r3.谁知盘中餐,");
* LCD_P6x8Str (0,4,"OLED"); // 显示6*8 字符串
* = HowMuchWidth(Num);// 获取某数有几位
* LCD_IntNum(x, y, HowMuchWidth(v), v); // 显示数字
* LCD_16Pic(unsigned char x,unsigned char y,unsigned char width,unsigned char dat[]);//16像素高度图片
* LCD_8Pic(unsigned char x,unsigned char y,unsigned char width,unsigned char ch[]);//8像素高度图片
* LCD_AllPic(unsigned char dat[]);//全局图像显示
*
*
* 说明:图像取模:纵向取模,字节倒序
*
* 作者:星希望(已校验)
* 日期:2016年7月25日
**********************************************************************/
#include "msp430f149.h"
#include "OLED.h"
#include "OLED_Font.h"
#define LCD_SCL_1 P2OUT |= BIT0
#define LCD_SCL_0 P2OUT &= ~BIT0
#define LCD_SDA_1 P2OUT |= BIT1
#define LCD_SDA_0 P2OUT &= ~BIT1
#define LCD_RST_1 P2OUT |= BIT2
#define LCD_RST_0 P2OUT &= ~BIT2
#define LCD_DC_1 P2OUT |= BIT3
#define LCD_DC_0 P2OUT &= ~BIT3
#define XLevelL 0x00
#define XLevelH 0x10
#define XLevel ((XLevelH&0x0F)*16+XLevelL)
#define Max_Column 128
#define Max_Row 64
#define Brightness 0xCF
#define X_WIDTH 128
#define Y_WIDTH 64
unsigned int hz16_num = 0; // 汉字个数
//======================================
void LCD_WrDat(unsigned char dat)
{
unsigned char i=8;
LCD_DC_1;
LCD_SCL_0;
while(i--)
{
if(dat&0x80) {LCD_SDA_1;}
else {LCD_SDA_0;}
LCD_SCL_1;
dat<<=1;
LCD_SCL_0;
}
}
void LCD_WrCmd(unsigned char cmd)
{
unsigned char i=8;
LCD_DC_0;
LCD_SCL_0;
while(i--)
{
if(cmd&0x80) {LCD_SDA_1;}
else {LCD_SDA_0;}
LCD_SCL_1;
cmd<<=1;
LCD_SCL_0;
}
}
void LCD_Set_Pos(unsigned char x, unsigned char y)
{
L