資源簡介
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
- 上一篇:基于邊緣檢測的canny算法
- 下一篇:ZEBRA斑馬掃描槍設置手冊
評論
共有 條評論