• 大小: 9KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-18
  • 语言: 其他
  • 标签: OLED  

资源简介

ssd1306驱动12864OLED显示屏msp430g2553函数库,引脚需要自行定义,已测试可行

资源截图

代码片段和文件信息

#include “OLEDssd1306.h“
#include “io430.h“
#include “in430.h“
#include 
#include 
#include 




///*********************************************************************
//* 功能描述:g2553 USCI_A0模块初始化为SPI模式
//* 参数:无
//* 返回:无
//* 备注:无
//**********************************************************************/
//void USCIA0_SPI_init()       //ssd1306中4线制SPI,g2553中3线SPI
//{
// UCA0CTL1|=UCSWRST;
// UCA0CTL0|=UCSYNC+UCMST;    //USCIA0选择SPI模式,master模式
// UCA0CTL1|=UCSSEL0;         //SPI时钟选择辅助系统时钟32768Hz 
// UCA0CTL1&=~UCSWRST;
//}


/*********************************************************************
* 功能描述:向oled中写入一字节的控制命令
* 参数:控制命令(cmd)
* 返回:无
* 备注:无
**********************************************************************/
void OLED_write_CommandByte(unsigned char cmd)
{
OLEDOUT&=~DC;
OLEDOUT&=~D0;
unsigned char i;
for(i=0;i<8;i++)
{
if((cmd&0x80)==0) OLEDOUT&=~D1;
else OLEDOUT|=D1;
OLEDOUT|=D0;
_NOP();
OLEDOUT&=~D0;
cmd<<=1;
}
}


/*********************************************************************
* 功能描述:向oled中写入一字节的展示数据
* 参数:展示数据(data)
* 返回:无
* 备注:无
**********************************************************************/
void OLED_write_DataByte(unsigned char data)
{
OLEDOUT|=DC;
OLEDOUT&=~D0;
unsigned char i;
for(i=0;i<8;i++)
{
if((data&0x80)==0) OLEDOUT&=~D1;
else OLEDOUT|=D1;
OLEDOUT|=D0;
_NOP();
OLEDOUT&=~D0;
data<<=1;
}
}


/*********************************************************************
* 功能描述:设置图像的起始位置
* 参数:起始位置x,y坐标
* 返回:无
* 备注:无
**********************************************************************/
void OLED_SetPos(unsigned char x unsigned char y)
{
OLED_write_CommandByte(0xb0+y);    //设置起始页
OLED_write_CommandByte(((x&0xf0)>>4)|0x10);       //起始列低地址
OLED_write_CommandByte((x&0x0f)|0x01);         //起始列高地址
}


/*********************************************************************
* 功能描述:初始清屏
* 参数:无
* 返回:无
* 备注:无
**********************************************************************/
void OLED_clear()
{
unsigned char ij;
for(i=0;i<8;i++)
{
OLED_write_CommandByte(0xb0+i);
OLED_write_CommandByte(0x01);
OLED_write_CommandByte(0x10);
for(j=0;j<128;j++)
OLED_write_DataByte(0);
}
}


/*********************************************************************
* 功能描述:清除一页
* 参数:无
* 返回:无
* 备注:无
**********************************************************************/
void OLED_clear_page(char i)
{
unsigned char j;
OLED_write_CommandByte(0xb0+i);
OLED_write_CommandByte(0x01);
OLED_write_CommandByte(0x10);
for(j=0;j<128;j++)
OLED_write_DataByte(0);

}


/*********************************************************************
* 功能描述:显示一句中文语句,汉字的大小为14x16
* 参数:已经取模转换的中文语句数组ch[]位置坐标x,y
* 返回:无
* 备注:无
**********************************************************************/
void OLED_display_Chinese(unsigned char x unsigned char y cons

评论

共有 条评论