找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4047|回复: 1
打印 上一主题 下一主题
收起左侧

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

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

制作出来的实物图如下:


具体单片机程序如下(这里仅复制部分,工程文件有完整程序)

  1. #include "OLED.h"
  2. #inclide "intrins.h"



  3. /******************************************************************************/
  4. // 定义显示字符:51
  5. /******************************************************************************/

  6. uint8 code oledTable2[] = {
  7. 0x00,0xF8,0x88,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x20,0x20,0x20,0x11,0x0E,0x00,//5

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

  9. /******************************************************************************/
  10. // 定义显示汉字:黑电子
  11. /******************************************************************************/
  12. uint8 code oledTable3[]={
  13.         0x00,0x00,0x3E,0x22,0x2A,0x32,0x22,0xFE,0x22,0x32,0x2A,0x22,0x3E,0x00,0x00,0x00,
  14. 0x88,0x68,0x09,0x09,0x29,0xC9,0x09,0x0F,0x29,0xC9,0x09,0x09,0x29,0xC8,0x08,0x00,//黑0

  15. 0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x88,0xF8,0x00,0x00,0x00,
  16. 0x00,0x00,0x1F,0x08,0x08,0x08,0x08,0x7F,0x88,0x88,0x88,0x88,0x9F,0x80,0xF0,0x00,//电1

  17. 0x80,0x82,0x82,0x82,0x82,0x82,0x82,0xE2,0xA2,0x92,0x8A,0x86,0x82,0x80,0x80,0x00,
  18. 0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//子2

  19. /******************************************************************************/
  20. // 定义显示图画
  21. /******************************************************************************/
  22. //QQ图标
  23. uint8 code oledTable4[]={
  24. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  25. ......详见附件...........
  26. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00};//C:\Users\xzs\Desktop\捕获.bmp0//C:\Users\xzs\Desktop\捕获.bmp0


  27.         void display2(uint8 page,uint8 lie,uint8 *p)
  28.         {//显示一个字符
  29.         uint8 i;
  30.         

  31.         Oled_Write_Cmd(0xb0+page); //page 0
  32. Oled_Write_Cmd(0x00+lie); //low
  33.         Oled_Write_Cmd(0x10+lie); //high        
  34.         for(i=0;i<8;i++){
  35.         Oled_Write_Data(p[i]);//写数据oledTable1
  36.         }

  37.         Oled_Write_Cmd(0xb1+page); //page 1
  38.         Oled_Write_Cmd(0x00+lie); //low
  39.         Oled_Write_Cmd(0x10+lie); //high
  40.         for(i=0;i<8;i++){
  41.                 Oled_Write_Data(p[i+8]);//写数据oledTable1
  42.         }}
  43.         
  44.         void display3(uint8 page,uint8 lie,uint8 *p)
  45.         {//显示汉字
  46.         uint8 i;
  47.         Oled_Write_Cmd(0xb0+page); //page 0
  48.         Oled_Write_Cmd(0x00+lie); //low
  49.         Oled_Write_Cmd(0x10+lie); //high        
  50.         for(i=0;i<16;i++){
  51.                 Oled_Write_Data(p[i]);//写数据oledTable1
  52.         }

  53.         Oled_Write_Cmd(0xb1+page); //page 1
  54.         Oled_Write_Cmd(0x00+lie); //low
  55.         Oled_Write_Cmd(0x10+lie); //high
  56.         for(i=0;i<16;i++){
  57.                 Oled_Write_Data(p[i+16]);//写数据oledTable1
  58.         }}
  59.                
  60.         void display4()
  61.         {//显示一幅图
  62.         uint8 i;
  63.         Oled_Init();
  64.         Oled_Screen_Clear();

  65.         Oled_Write_Cmd(0xb0); //page 0
  66.         Oled_Write_Cmd(0x00); //low
  67.         Oled_Write_Cmd(0x10); //high        
  68.         for(i=0;i<128;i++){
  69.                 Oled_Write_Data(oledTable4[i]);//写数据oledTable1
  70.         }

  71.         Oled_Write_Cmd(0xb1); //page 1
  72.         Oled_Write_Cmd(0x00); //low
  73.         Oled_Write_Cmd(0x10); //high
  74.         for(i=0;i<128;i++){
  75.                 Oled_Write_Data(oledTable4[i+128]);//写数据oledTable1
  76.         }

  77.         Oled_Write_Cmd(0xb2); //page 2
  78.         Oled_Write_Cmd(0x00); //low
  79.         Oled_Write_Cmd(0x10); //high        
  80.         for(i=0;i<128;i++){
  81.                 Oled_Write_Data(oledTable4[i+256]);//写数据oledTable1
  82.         }

  83.         Oled_Write_Cmd(0xb3); //page 3
  84.         Oled_Write_Cmd(0x00); //low
  85.         Oled_Write_Cmd(0x10); //high
  86.         for(i=0;i<128;i++){
  87.                 Oled_Write_Data(oledTable4[i+384]);//写数据oledTable1
  88.         }

  89.         Oled_Write_Cmd(0xb4); //page 4
  90.         Oled_Write_Cmd(0x00); //low
  91.         Oled_Write_Cmd(0x10); //high        
  92.         for(i=0;i<128;i++){
  93.                 Oled_Write_Data(oledTable4[i+512]);//写数据oledTable1
  94.         }

  95.         Oled_Write_Cmd(0xb5); //page 5
  96.         Oled_Write_Cmd(0x00); //low
  97.         Oled_Write_Cmd(0x10); //high
  98.         for(i=0;i<128;i++){
  99.                 Oled_Write_Data(oledTable4[i+640]);//写数据oledTable1
  100.         }

  101.         Oled_Write_Cmd(0xb6); //page 6
  102.         Oled_Write_Cmd(0x00); //low
  103.         Oled_Write_Cmd(0x10); //high        
  104.         for(i=0;i<128;i++){
  105.                 Oled_Write_Data(oledTable4[i+768]);//写数据oledTable1
  106.         }

  107.         Oled_Write_Cmd(0xb7); //page 7
  108.         Oled_Write_Cmd(0x00); //low
  109.         Oled_Write_Cmd(0x10); //high
  110.         for(i=0;i<128;i++){
  111.                 Oled_Write_Data(oledTable4[i+896]);//写数据oledTable1
  112.         }
  113. }

  114. int main(void)
  115.         {        Oled_Init();
  116.         Oled_Screen_Clear();

  117. display2(0,0,oledTable2);//51黑电子
  118. display2(0,1,oledTable2+16);
  119.                 display3(0,2,oledTable3);
  120.                 display3(0,3,oledTable3+32);
  121.                 display3(0,4,oledTable3+64);
  122.                 //display4();//qq图标的显示
  123.         
  124.                
  125.         while(1);        

  126. }
复制代码

全部资料51hei下载地址:
取模.zip (5.01 MB, 下载次数: 19)
OLED屏幕显示.zip (37.51 KB, 下载次数: 29)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:342822 发表于 2020-11-21 19:44 | 只看该作者
看到程序头晕
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表