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 0000iic_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 0000iic_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 iunsigned 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);
}

C51——oled显示图片(128x64,图片可自己创建)相关推荐

  1. OLED显示取模图片

    OLED show_image 说明 代码开源在我的个人Github:https://github.com/jesons007/Warship_Template-AC6-/tree/master/WA ...

  2. 【PCtoLCD】OLED显示汉字和图片

    文章目录 前言 一.取模汉字 1.设置 2.显示汉字 二.显示图片 1.照片格式转换 2.图片取模 总结 前言 PCtoLCD工具链接下载: 链接:https://pan.baidu.com/s/1K ...

  3. 7针oled显示中文及图片arduino。ug8lib

    文章目录 前言: 7针oled(spi协议)的引脚说明: 关于中文的显示 关于图片显示: 取模软件 前言: 关于回家没带esp8266usb数据线,所以使用arduino和7针oled连接的小白.网上 ...

  4. esp8266驱动四脚oled显示文字和图片

    #include "SSD1306Wire.h"/* 设置oled屏幕的相关信息 */ const int I2C_ADDR = 0x3c; // oled屏幕的I2c地址 #de ...

  5. python oled库_MicroPython 玩转硬件系列7:OLED显示

    上一篇文章,我们实现了ESP32获取天气信息的功能,是在电脑上通过串口终端显示的.能不能EPS32 直接接一个显示器来显示呢?当然可以,今天我们来实现ESP32控制OLED显示字符或者图片. OLED ...

  6. OLED的中英文和图片显示

    OLED的中英文和图片显示 51单片机使用oled时要用到取模软件,本文用PCtoLCD2002进行中英文和图片的取字模 OLED点阵与常规的LCD点阵的显示方式相同,从第一列开始向下取8个点作为一个 ...

  7. 利用51单片机+0.96寸iic接口oled显示图片或动图

    利用51单片机+0.96寸iic接口oled显示图片或动图 前言:之前讲过如何使用oled显示数字以及字符,但并未讲述如何显示BMP格式的图片, 这篇将在之前的基础上加以封装一些函数用来显示图片 硬件 ...

  8. 8051单片机Proteus仿真与开发实例-OLED显示屏(SSD1306控制器)I2C驱动显示中文及图片仿真

    OLED显示屏(SSD控制器)I2C驱动显示中文及图片仿真 1.OLED显示屏介绍 在前面的实例中,已经介绍了OLED显示屏,在这里就不展开介绍了,请参考: OLED显示屏(SSD1306控制器)I2 ...

  9. 如何使用OLED显示图片

    以下文章来源于:公_众_号开源电子网 读取更多技术文章,请扫码关注 如何使用OLED显示图片 前言 这篇文章不过多描述OLED工作原理及驱动过程,仅从实用性出发,如何使用OLED显示图片.这里我们以正 ...

最新文章

  1. 关于现代软件工程学习
  2. 深度学习之循环神经网络(12)预训练的词向量
  3. excel 区间人数柱状图_Excel中,区间统计的3种技巧都不掌握,那就真的OUt了!
  4. textbox的textmode取为multiline多行时,其maxlength不起作用
  5. 如何删除textarea的移动版Safari的阴影?
  6. SpringCloud学习笔记008---杂七杂八002_spring 注解@Value详解_@Value(quot;#{}quot;)与@Value(quot;${}quot;)的区别
  7. 如何使用SQL Server数据工具中的“可见性”选项降低报告的复杂性
  8. 【渝粤教育】电大中专幼儿园课程论作业 题库
  9. 《Big Data Glossary》笔记
  10. goaccess分析nginx日志
  11. Computer:Microsoft Office Visio2021的简介、安装、使用方法图文教程之详细攻略
  12. python怎么读单词和古文,用文言文写Python
  13. 中国信通院沈滢:字体开源协议——OFL V1.1介绍及合规要点分析
  14. jQuery教程(二)——jQuery选择器selector
  15. 【开发日常】【Makefile】编译时如何将警告(warning)视为错误(error)?
  16. 解决ubuntu开机变慢;删除耗时启动项
  17. java 整型数组定义_在Java中定义一个具有10个元素的整型数组a的语句是:___
  18. C++中如何使输出对齐
  19. win10安装MinGW-64
  20. 心理测评软件php mysql_心理测评系统

热门文章

  1. Stata outreg2命令中(label)无法正确输出Word/Excel文档
  2. 雪鹰领主服务器维护,《雪鹰领主》12月21日新开服务器已更新
  3. word2013中mathtype公式编号
  4. jupyterhub-k8s
  5. centos下载安装注意步骤
  6. 美国邮政署网站的一个高危漏洞暴露了6000万用户的数据
  7. 使用设计模式防止破窗理论
  8. Maven项目问题——没有webContent文件夹
  9. 现代控制理论(一) 状态空间方程
  10. python3 实现rc4算法