91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-06
  • 語言: C/C++
  • 標簽: OLED??

資源簡介

0.96OLED 屏幕顯示函數(shù),只需要調(diào)用,就能顯示。C語言。

資源截圖

代碼片段和文件信息

#include?“oled.h“
#include?“stdlib.h“
#include?“oledfont.h“?? ?
#include?“delay.h“
#include??“math.h“
//OLED的顯存
//存放格式如下.
//[0]0?1?2?3?...?127
//[1]0?1?2?3?...?127
//[2]0?1?2?3?...?127
//[3]0?1?2?3?...?127
//[4]0?1?2?3?...?127
//[5]0?1?2?3?...?127
//[6]0?1?2?3?...?127
//[7]0?1?2?3?...?127? ???

#if?OLED_MODE==1
//向SSD1106寫入一個字節(jié)。
//dat:要寫入的數(shù)據(jù)/命令
//cmd:數(shù)據(jù)/命令標志?0表示命令;1表示數(shù)據(jù);
void?OLED_WR_Byte(u8?datu8?cmd)
{
DATAOUT(dat); ????
if(cmd)
??OLED_DC_Set();
else?
??OLED_DC_Clr(); ???
OLED_CS_Clr();
OLED_WR_Clr(); ?
OLED_WR_Set();
OLED_CS_Set(); ??
OLED_DC_Set(); ?
}? ???? ????
#else
//向SSD1106寫入一個字節(jié)。
//dat:要寫入的數(shù)據(jù)/命令
//cmd:數(shù)據(jù)/命令標志?0表示命令;1表示數(shù)據(jù);
void?OLED_WR_Byte(u8?datu8?cmd)
{
u8?i; ??
if(cmd)
??OLED_DC_Set();
else?
??OLED_DC_Clr(); ??
OLED_CS_Clr();
for(i=0;i<8;i++)
{ ??
OLED_SCLK_Clr();
if(dat&0x80)
???OLED_SDIN_Set();
else?
???OLED_SDIN_Clr();
OLED_SCLK_Set();
dat<<=1;???
} ? ??
OLED_CS_Set();
OLED_DC_Set();??? ??
}?
#endif
void?OLED_Set_Pos(unsigned?char?x?unsigned?char?y)?
{?
OLED_WR_Byte(0xb0+yOLED_CMD);
OLED_WR_Byte(((x&0xf0)>>4)|0x10OLED_CMD);
OLED_WR_Byte((x&0x0f)|0x01OLED_CMD);?
}??? ??
//開啟OLED顯示????
void?OLED_Display_On(void)
{
OLED_WR_Byte(0X8DOLED_CMD);??//SET?DCDC命令
OLED_WR_Byte(0X14OLED_CMD);??//DCDC?ON
OLED_WR_Byte(0XAFOLED_CMD);??//DISPLAY?ON
}
//關(guān)閉OLED顯示?????
void?OLED_Display_Off(void)
{
OLED_WR_Byte(0X8DOLED_CMD);??//SET?DCDC命令
OLED_WR_Byte(0X10OLED_CMD);??//DCDC?OFF
OLED_WR_Byte(0XAEOLED_CMD);??//DISPLAY?OFF
} ??? ?
//清屏函數(shù)清完屏整個屏幕是黑色的!和沒點亮一樣!!! ??
void?OLED_Clear(void)??
{??
u8?in; ????
for(i=0;i<8;i++)??
{??
OLED_WR_Byte?(0xb0+iOLED_CMD);????//設(shè)置頁地址(0~7)
OLED_WR_Byte?(0x00OLED_CMD);??????//設(shè)置顯示位置—列低地址
OLED_WR_Byte?(0x10OLED_CMD);??????//設(shè)置顯示位置—列高地址???
for(n=0;n<128;n++)OLED_WR_Byte(0OLED_DATA);?
}?//更新顯示
}


//在指定位置顯示一個字符包括部分字符
//x:0~127
//y:0~63
//mode:0反白顯示;1正常顯示 ?
//size:選擇字體?16/12?
void?OLED_ShowChar(u8?xu8?yu8?chr)
{??????
unsigned?char?c=0i=0;
c=chr-‘?‘;//得到偏移后的值
if(x>Max_Column-1){x=0;y=y+2;}
if(SIZE?==16)
{
OLED_Set_Pos(xy);
for(i=0;i<8;i++)
OLED_WR_Byte(F8X16[c*16+i]OLED_DATA);
OLED_Set_Pos(xy+1);
for(i=0;i<8;i++)
OLED_WR_Byte(F8X16[c*16+i+8]OLED_DATA);
}
else?{
OLED_Set_Pos(xy+1);
for(i=0;i<6;i++)
OLED_WR_Byte(F6x8[c][i]OLED_DATA);

}
}
//m^n函數(shù)
u32?oled_pow(u8?mu8?n)
{
u32?result=1; ?
while(n--)result*=m;????
return?result;
} ??
//顯示2個數(shù)字
//xy?:起點坐標 ?
//len?:數(shù)字的位數(shù)
//size:字體大小
//mode:模式 0填充模式;1疊加模式
//num:數(shù)值(0~4294967295); ? ??
void?OLED_ShowNum(u8?xu8?yu32?numu8?lenu8?size)
{?????????
u8?ttemp;
u8?enshow=0; ???
for(t=0;t {
temp=(num/oled_pow(10len-t-1))%10;
if(enshow==0&&t<(len-1))
{
if(temp==0)
{
OLED_ShowChar(x+(size/2)*ty‘?‘);
continue;
}else?ensh

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-05-26?21:48??OLED\
?????文件???????11890??2014-07-14?23:49??OLED\bmp.h
?????文件????????7720??2017-05-09?15:05??OLED\oled.c
?????文件????????1777??2017-05-09?15:05??OLED\oled.h
?????文件???????13996??2017-05-02?21:55??OLED\oledfont.h

評論

共有 條評論