单片机OLED屏幕进行数字,字符,图片的显示程序

发布者:静心悠然最新更新时间:2020-11-21 来源: 51hei关键字:单片机  OLED屏幕  显示程序 手机看文章 扫描二维码
随时随地手机看文章

找到一块OLED显示屏,便写了一个可以显示字符,数字,图片的程序(这里一显示51黑电子和QQ图标为例,显示其他,可通过取模软件进行更改)在压缩包中附有工程文件,和取模软件,以及使用方法

制作出来的实物图如下:
  

#include "OLED.h"

#inclide "intrins.h"




/******************************************************************************/

// 定义显示字符:51

/******************************************************************************/


uint8 code oledTable2[] = {

0x00,0xF8,0x88,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x20,0x20,0x20,0x11,0x0E,0x00,//5


0x00,0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00};//1


/******************************************************************************/

// 定义显示汉字:黑电子

/******************************************************************************/

uint8 code oledTable3[]={

        0x00,0x00,0x3E,0x22,0x2A,0x32,0x22,0xFE,0x22,0x32,0x2A,0x22,0x3E,0x00,0x00,0x00,

0x88,0x68,0x09,0x09,0x29,0xC9,0x09,0x0F,0x29,0xC9,0x09,0x09,0x29,0xC8,0x08,0x00,//黑0


0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x88,0xF8,0x00,0x00,0x00,

0x00,0x00,0x1F,0x08,0x08,0x08,0x08,0x7F,0x88,0x88,0x88,0x88,0x9F,0x80,0xF0,0x00,//电1


0x80,0x82,0x82,0x82,0x82,0x82,0x82,0xE2,0xA2,0x92,0x8A,0x86,0x82,0x80,0x80,0x00,

0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//子2


/******************************************************************************/

// 定义显示图画

/******************************************************************************/

//QQ图标

uint8 code oledTable4[]={

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

......详见附件...........

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00};//C:UsersxzsDesktop捕获.bmp0//C:UsersxzsDesktop捕获.bmp0



        void display2(uint8 page,uint8 lie,uint8 *p)

        {//显示一个字符

        uint8 i;

        


        Oled_Write_Cmd(0xb0+page); //page 0

Oled_Write_Cmd(0x00+lie); //low

        Oled_Write_Cmd(0x10+lie); //high        

        for(i=0;i<8;i++){

        Oled_Write_Data(p[i]);//写数据oledTable1

        }


        Oled_Write_Cmd(0xb1+page); //page 1

        Oled_Write_Cmd(0x00+lie); //low

        Oled_Write_Cmd(0x10+lie); //high

        for(i=0;i<8;i++){

                Oled_Write_Data(p[i+8]);//写数据oledTable1

        }}

        

        void display3(uint8 page,uint8 lie,uint8 *p)

        {//显示汉字

        uint8 i;

        Oled_Write_Cmd(0xb0+page); //page 0

        Oled_Write_Cmd(0x00+lie); //low

        Oled_Write_Cmd(0x10+lie); //high        

        for(i=0;i<16;i++){

                Oled_Write_Data(p[i]);//写数据oledTable1

        }


        Oled_Write_Cmd(0xb1+page); //page 1

        Oled_Write_Cmd(0x00+lie); //low

        Oled_Write_Cmd(0x10+lie); //high

        for(i=0;i<16;i++){

                Oled_Write_Data(p[i+16]);//写数据oledTable1

        }}

               

        void display4()

        {//显示一幅图

        uint8 i;

        Oled_Init();

        Oled_Screen_Clear();


        Oled_Write_Cmd(0xb0); //page 0

        Oled_Write_Cmd(0x00); //low

        Oled_Write_Cmd(0x10); //high        

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

                Oled_Write_Data(oledTable4[i]);//写数据oledTable1

        }


        Oled_Write_Cmd(0xb1); //page 1

        Oled_Write_Cmd(0x00); //low

        Oled_Write_Cmd(0x10); //high

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

                Oled_Write_Data(oledTable4[i+128]);//写数据oledTable1

        }


        Oled_Write_Cmd(0xb2); //page 2

        Oled_Write_Cmd(0x00); //low

        Oled_Write_Cmd(0x10); //high        

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

                Oled_Write_Data(oledTable4[i+256]);//写数据oledTable1

        }


        Oled_Write_Cmd(0xb3); //page 3

        Oled_Write_Cmd(0x00); //low

        Oled_Write_Cmd(0x10); //high

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

                Oled_Write_Data(oledTable4[i+384]);//写数据oledTable1

        }


        Oled_Write_Cmd(0xb4); //page 4

        Oled_Write_Cmd(0x00); //low

        Oled_Write_Cmd(0x10); //high        

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

                Oled_Write_Data(oledTable4[i+512]);//写数据oledTable1

        }


        Oled_Write_Cmd(0xb5); //page 5

        Oled_Write_Cmd(0x00); //low

        Oled_Write_Cmd(0x10); //high

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

                Oled_Write_Data(oledTable4[i+640]);//写数据oledTable1

        }


        Oled_Write_Cmd(0xb6); //page 6

        Oled_Write_Cmd(0x00); //low

        Oled_Write_Cmd(0x10); //high        

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

                Oled_Write_Data(oledTable4[i+768]);//写数据oledTable1

        }


        Oled_Write_Cmd(0xb7); //page 7

        Oled_Write_Cmd(0x00); //low

        Oled_Write_Cmd(0x10); //high

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

                Oled_Write_Data(oledTable4[i+896]);//写数据oledTable1

        }

}


int main(void)

        {        Oled_Init();

        Oled_Screen_Clear();


display2(0,0,oledTable2);//51黑电子

display2(0,1,oledTable2+16);

                display3(0,2,oledTable3);

                display3(0,3,oledTable3+32);

                display3(0,4,oledTable3+64);

                //display4();//qq图标的显示

        

               

        while(1);        


}


关键字:单片机  OLED屏幕  显示程序 引用地址:单片机OLED屏幕进行数字,字符,图片的显示程序

上一篇:单片机+NRF2401+DHT11远程温湿度控制程序
下一篇:单片机LED调光程序,状态机按键处理,效果比较好

推荐阅读最新更新时间:2024-10-26 23:15

单片机OLED屏幕进行数字,字符,图片的显示程序
找到一块OLED显示屏,便写了一个可以显示字符,数字,图片的程序(这里一显示51黑电子和QQ图标为例,显示其他,可通过取模软件进行更改)在压缩包中附有工程文件,和取模软件,以及使用方法 制作出来的实物图如下: #include OLED.h #inclide intrins.h /******************************************************************************/ // 定义显示字符:51 /***********************************************************************
[单片机]
<font color='red'>单片机</font><font color='red'>OLED</font><font color='red'>屏幕</font>进行数字,字符,图片的<font color='red'>显示</font><font color='red'>程序</font>
51单片机OLED+dht11显示温度的源程序
入门51单片机一个多月,参加一个比赛熬夜写出了OLED+DHT11程序。 单片机源程序如下: #include REG51.h #include oled.h #include intrins.h typedef unsigned char BYTE; typedef unsigned int WORD; #define uint unsigned int #define uchar unsigned char sbit io=P1^2;//dht11data端接单片机的P1^0口// sbit IN1 = P1^0; sbit IN2 = P1^1; //输入电机接口 sbit K1 = P3^
[单片机]
stm32单片机oled显示程序 带浮点数显示
单片机源程序如下: // 文 件 名 : OLED // 版 本 号 : 2017521 // 功能描述 :在OLED上显示信息 // 接法说明: // ---------------------------------------------------------------- // OLED接法 // // GND 电源地 // VCC 接5V或3.3v电源 // CLK 接PD9(SCL) // MOSI 接PD7(SDA) // RES 接PD4 // DC 接PD5
[单片机]
oled显示温度报警的51单片机程序
温度报警限制上下值 由oled显示 制作出来的实物图如下: 单片机源程序如下: #include #include oled.h #define uchar unsigned char #define uint unsigned int unsigned char set=0; unsigned char code table = 0123456789 ; uchar shi,bai,ge,xiaoshu; sbit DSPORT=P3^7; sbit k1=P2^7; sbit k2=P2^6; sbit k3=P3^2; bit N_flag; int shangxian=22; int xiaxian=10;
[单片机]
<font color='red'>oled</font><font color='red'>显示</font>温度报警的51<font color='red'>单片机</font><font color='red'>程序</font>
STC15单片机DHT11温湿度检测(注释详细)oled显示程序
我这里加了oled用来显示温湿度,采用STC15,dht11模块 #include STC15.H #include intrins.h //用于提供_nop_();函数 #include OLED_Contrul_Hygrothermograph.c //OLED控制函数 sbit YLED=P3^1; sbit RLED=P3^0; sbit DHT=P3^5;//DHT11模块 unsigned int Temperature ={1,1,1};//前两位为整数部分,后一位为小数部分 unsigned int Humidity ={1,1};//传回的湿度数据只有整数部分 unsigned char Da
[单片机]
stc8单片机+8针oled驱动显示ADC值源程序
#include intrins.h #include STC8.H sbit lcd_sclk=P5^0; /*接口定义:lcd_sclk就是CLK*/ sbit lcd_sid=P5^1; /*接口定义:lcd_sid就是MOSI*/ sbit lcd_rs=P5^2; /*接口定义:lcd_rs就是DC*/ sbit lcd_cs1=P5^3; /*接口定义:lcd_cs1就是OLED的片选CS1*/ sbit Rom_OUT=P5^4; /*字库IC接口定义:Rom_OUT就是FSO*/ sbit Rom_CS=P5^5; /*字库IC接口定义Rom_CS就是字库IC的CS2*/ unsigned char
[单片机]
BOE(京东方)强势赋能vivo X100旗舰级屏幕 引领柔性OLED超清护眼显示新风尚
11月13日,vivo正式发布全能影像旗舰vivo X100系列新品, 该产品搭载了BOE(京东方)柔性OLED超高清护眼屏,并凭借超清画质显示、极致视觉享受、全方位用眼防护等多项业界领先的技术,为用户带来性能全面升级的柔性OLED显示新体验,不仅标志着BOE(京东方)持续引领超清护眼显示风向标,也彰显了BOE(京东方)柔性显示创新技术在高端旗舰手机应用领域的领先实力。 在操作性能方面,vivo X100系列采用BOE(京东方)6.78英寸柔性OLED屏幕,搭载行业领先的、基于全新一代发光器件的柔性OLED解决方案,从屏幕中核心的发光结构单元进行优化,实现屏幕性能全面提升。同时,搭载BOE(京东方)自主研发的新一代L
[手机便携]
BOE(京东方)独供iQOO Neo8全系列手机 旗舰级屏幕引领柔性OLED显示新风尚
5月23日,iQOO性能旗舰机型iQOO Neo8系列新品正式亮相 ,该系列产品全面搭载了BOE(京东方)柔性OLED旗舰级超清护眼屏,为用户带来超清画质显示、极致高帧享受、全方位护眼的无忧畅玩体验。这不仅是BOE(京东方)赋能合作伙伴高端旗舰产品的又一力作,更是BOE(京东方)创立30周年来技术实力的体现。 iQOO Neo8系列搭载了BOE(京东方)独供的6.78英寸柔性直屏 ,以及行业领先的、基于全新一代Q9发光器件的柔性OLED解决方案,通过屏幕核心发光结构进行优化,实现屏幕性能全面提升。该系列手机配备最高可达144Hz的多频刷新率模式,画面流畅无卡顿;搭载300Hz报点率,带来更快的响应速度和更加平滑的画面表现。
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved