oled显示图片,128x64(图片可自己创建)

#include "reg52.h"
#include "intrins.h"

sbit SCL=P0^1;
sbit SDA=P0^3;

void iic_start()
{
SCL=0;//防止雪花,残留数据出现
SDA=1;
SCL=1;
_nop_();
SDA=0;
_nop_();
}
void iic_stop()
{
SCL=1;
SDA=0;
_nop_();
SDA=1;
_nop_();
}
char iic_ack()
{
char flag;
SDA=1;//在时钟脉冲9期间释放数据线
_nop_();
SCL=1;
_nop_();
flag=SDA;
_nop_();
SCL=0;
_nop_();
return flag;
}
void iic_send_byte(char datasend)
{
int i;
for(i=0;i<8;i++){

SCL=0;//拉低,做好数据准备

SDA=datasend &0x80;//获取数据的高位

_nop_();//发送数据建立时间

SCL=1;//拉高传输数据

_nop_();

SCL=0;//发送完1bit数据,手动拉低

_nop_();

datasend=datasend<<1;
}
}
void Oled_Write_Cmd(char data_cmd)
{
iic_start();
iic_send_byte(0x78);//发送从机地址
iic_ack();
iic_send_byte(0x00);//写命令0000 0000
iic_ack();
iic_send_byte(data_cmd);//写入命令
iic_ack();
iic_stop();
}
void Oled_Write_Data(char data_data)
{
iic_start();
iic_send_byte(0x78);
iic_ack();
iic_send_byte(0x40);//写数据0100 0000
iic_ack();
iic_send_byte(data_data);//写入数据
iic_ack();
iic_stop();
}
void Oled_Clean()
{
int i;
int j;
for(i=0;i<8;i++){
Oled_Write_Cmd(0xB0+i);
Oled_Write_Cmd(0x00);
Oled_Write_Cmd(0x10);

for(j=0;j<128;j++){

Oled_Write_Data(0);

}
}
}
void oled_init(void)
{
Oled_Write_Cmd(0xAE);//--display off
Oled_Write_Cmd(0x00);//---set low column address
Oled_Write_Cmd(0x10);//---set high column address
Oled_Write_Cmd(0x40);//--set start line address
Oled_Write_Cmd(0xB0);//--set page address
Oled_Write_Cmd(0x81); // contract control
Oled_Write_Cmd(0xFF);//--128
Oled_Write_Cmd(0xA1);
Oled_Write_Cmd(0xA6);
Oled_Write_Cmd(0xA8);
Oled_Write_Cmd(0x3F);
Oled_Write_Cmd(0xC8);
Oled_Write_Cmd(0xD3);
Oled_Write_Cmd(0x00);
Oled_Write_Cmd(0xD5);
Oled_Write_Cmd(0x80);
Oled_Write_Cmd(0xD8);
Oled_Write_Cmd(0x05);
Oled_Write_Cmd(0xD9);
Oled_Write_Cmd(0xF1);
Oled_Write_Cmd(0xDA);
Oled_Write_Cmd(0x12);
Oled_Write_Cmd(0xDB);
Oled_Write_Cmd(0x30);
Oled_Write_Cmd(0x8D);
Oled_Write_Cmd(0x14);
Oled_Write_Cmd(0xAF);
}

code unsigned char bmp_image[]={//code 可以替换为xdata,在此处会乱码
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xC0,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xE0,0x30,0x0C,0x03,0x01,0x00,0xF8,0x47,0x20,0x30,0x10,0x18,0x88,0xC8,0x68,
0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0E,
0x03,0x00,0x00,0x00,0x00,0x38,0x1F,0x01,0x40,0x60,0x38,0x1C,0x0A,0x0D,0x04,0x04,
0x02,0x02,0x02,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,
0x06,0x04,0x0C,0x18,0x30,0xE8,0x88,0x88,0xC8,0x78,0x18,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,
0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x8C,0x04,0x04,0x04,0x04,0x04,0x00,
0x00,0x00,0x00,0x80,0xE0,0x39,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x60,0x40,0x40,0x40,0xC0,0xC0,0x00,0x00,
0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0xA0,0x60,0x60,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x06,
0x04,0x04,0x04,0x0C,0x08,0x08,0x08,0x1F,0x09,0x09,0x08,0x0C,0x08,0x08,0x08,0x08,
0x08,0x08,0x08,0x08,0x0C,0x04,0x04,0x04,0x04,0x05,0x05,0x07,0x06,0x02,0x02,0x02,
0x03,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x04,0x06,0x3F,0x12,0x92,0xD2,0x32,0x1E,0x13,0x13,0x52,0x92,0x3E,
0x00,0x80,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xFE,0x09,0x09,0x08,0x08,0x08,0x08,
0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x00,0x01,0x00,0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x02,
0x03,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

void oled_show_bmg(unsigned char *bmp)
{
unsigned char i;//可以用unsigned int i
unsigned int j;
for(i=0;i<8;i++){
Oled_Write_Cmd(0xB0+i);//页地址的选择,选择page1-page8,靠X0,X1,X2来寻址,2^3种模式
Oled_Write_Cmd(0x00);
Oled_Write_Cmd(0x10);
for(j=128*i;j<128*(i+1);j++){

Oled_Write_Data(bmp[j]);

}
}
}
void main()
{

oled_init();
Oled_Write_Cmd(0x20);
Oled_Write_Cmd(0x02);
Oled_Clean();
oled_show_bmg(bmp_image);

while(1);
}

Michelle is stressed out over this Oscar thing [苦涩][苦涩][苦涩]. Living up to people’s expectations is never easy. I’m rooting for her, whether she will win the Oscar or not. I am afraid Oscar is so white, and this is called white supremacy. It’s okay to give nominees for hypersexualized characters for the white, but it would take around 40 years for an Asian woman to have a seat at this table. Joaquin Phoenix won an Oscar for the comic film Joker … If there’s no genre bias, then Michelle’s kicked-ass performance also deserves an Oscar. Stay Strong[苦涩][苦涩][苦涩]

#Namorntaraaa南姐[超话]# #namorntaraaa表白三十天#

双向奔赴,我真的好爱你!我们会见面的!你等我!我会带着另外八位管理与你见面!
I really love you! We will meet again! You wait for me! I will meet you with eight other managers!
ฉันรักคุณจริงๆ ! เราจะได้พบกัน ! คุณ รอให้ฉัน ! ฉันจะพบคุณด้วยการจัดการอีก 8 คน

@Namorntaraaa


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • 也可后期通过社保卡服务机构网点或者网上服务平台申领社保卡,或者通过就读学校、以及人力资源社会保障部门委托的社保卡服务银行等其他机构代为申领。2021年12月22
  • 热线电话:400-000-9075《复式中式设计效果图 有传统文化底蕴的空间设计》中式文化在中式装修中有着很重要的作用,除了展现出来的是一种设计风格之外,也体现
  • [玫瑰]​[咖啡]早餐吃完,和我的宝贝一起吃纤维棒,好吃营养多多,每天都给自己最好的营养素,让我的小宇宙不断爆发出来,吃完上班打卡啦![玫瑰]​[咖啡]早餐吃完
  • あとな!!
  • 现在想来,觉得自己对工作成就的追逐有点病态,是对自我的放逐和维持惯性的懒惰,以勤奋作免死金牌,沉浸在自我感动中,却甘当思考上的侏儒。跟这个世界交手的许多年来,你
  • 社会不会因为你的眼泪,为你降低了标准,生活不会因为你的脆弱,给你想要的一切。周五——开心的几件小事1.理了一个自认为性价比还不错的发[馋嘴](¥25)2.买了一
  • 14. 扁担是条龙,一生吃弗穷15. 本小利微,本大利宽16. 不求金玉重重贵,但愿儿孙个个贤。14. 扁担是条龙,一生吃弗穷15. 本小利微,本大利宽16.
  • (阳光报)#上班第一天##虎年开工第一天#【#辽宁男篮#辽篮春节期间提前投入联赛备战】在绝大多数人都还享受春节假期的时候,辽宁男篮的教练和球员们已经早早的回到训
  • 如果你想用香气表达独特纯粹的自己,维克多与罗夫激情炸弹SPICEBOMB,正是你在追寻的那瓶小众性感木质香。前调的淡淡奶油香,宛如和煦的暖风将你深拥;后调烟草的
  • 面包鸡肉配合调味酱和炸过的土豆块,食材被完美统一起来,也没有谁抢了谁的风头的感觉,并且确实有一种在吃大盘鸡的错觉,美中不足的是没有什么蔬菜,是一场油炸和碳水的“
  • 存档金曲全记录内容[抱一抱]AllX:这一次我会接通你电话Y:接我的电话(Comi 睫毛增强版)⭐️To XYD:谢谢你们让我们拥有了在更大的舞台创作出不一样的
  • 所以那些“同事”要求我把东西给他们搬车上,要求我晚上九点钟把她“缺的货”给她送家里去(后来知道我是正式工以后又说没缺)还有的在我说了晚上这里没灯,全靠手机电筒照
  • [哆啦A梦微笑]【19.9】薄荷健康 零食大礼包6袋 薄荷健康 零食大礼包含0脂墨鱼片低脂鸡肉脆似薯片苦荞片解馋食品 【19.9】有你一面 多口味地域风情拌面*
  • ”在2021-2022赛季,隋文静/韩聪自由滑选用的曲目是《忧伤河上的金桥》这也是他们2017年首次夺得世锦赛冠军时的曲目。收获奖牌后,隋文静落泪了,她说:“毕
  • [太阳]#肖战[超话]##肖战#肖战#肖战顾一野#肖战顾一野注意‼️不要忘记今天下午[打call]1:06央7频道重播《寻找〈王牌部队〉中的经典军品》哦!我也不
  • 采用低糖指数饮食的PCOS 患者胰岛素敏感指数有显著改善,作用类似二甲双胍,并且不会对人体有任何副作用,此报告的结果和最近WHO在PCOS无排卵性不孕的指南中提
  • [笑cry]不过最关键制约我们爱好的还是没钱。只有打工仔才不爱运动,除了工作最多就是唱K蹦迪。
  • 今天去校办盖章,老师拒绝了,需要盖章申请,我又去弄盖章申请,申请的老师很善良就盖了,申请搞完就去了。2022.02.26 这是在中日的最后一个夜班,昨天科室美
  • 如果说你是有自己的技术水平,你是可以在中游部分做点事情,如果你有强大的销售网络,那下游部分就有你的机会。其实,创业的人,应该是一无所有的人,想通过自己给自己打工
  • 【黑木华再演职人剧!#黑木华#