STM32—OLED(0.96)IIC

  1 #include "stm32f1xx_hal.h"
  2 #include "OLED.h"
  3 #include "oledfont.h"
  4 #include "stdint.h"
  5 #include "i2c.h"
  6 
  7 void WriteCmd(unsigned char I2C_Command)//写命令
  8 {
  9 
 10     HAL_I2C_Mem_Write(&hi2c1,OLED0561_ADD,COM,I2C_MEMADD_SIZE_8BIT,&I2C_Command,1,100);
 11 
 12 }
 13 void WriteDat(unsigned char I2C_Data)//写数据
 14 {
 15 
 16     HAL_I2C_Mem_Write(&hi2c1,OLED0561_ADD,DAT,I2C_MEMADD_SIZE_8BIT,&I2C_Data,1,100);
 17 
 18 }
 19 void OLED_Init(void)
 20 {
 21     HAL_Delay(100); //这里的延时很重要
 22 
 23     WriteCmd(0xAE); //display off
 24     WriteCmd(0x20);    //Set Memory Addressing Mode
 25     WriteCmd(0x10);    //00,Horizontal Addressing Mode;01,Vertical Addressing Mode;10,Page Addressing Mode (RESET);11,Invalid
 26     WriteCmd(0xb0);    //Set Page Start Address for Page Addressing Mode,0-7
 27     WriteCmd(0xc8);    //Set COM Output Scan Direction
 28     WriteCmd(0x00); //---set low column address
 29     WriteCmd(0x10); //---set high column address
 30     WriteCmd(0x40); //--set start line address
 31     WriteCmd(0x81); //--set contrast control register
 32     WriteCmd(0xff); //亮度调节 0x00~0xff
 33     WriteCmd(0xa1); //--set segment re-map 0 to 127
 34     WriteCmd(0xa6); //--set normal display
 35     WriteCmd(0xa8); //--set multiplex ratio(1 to 64)
 36     WriteCmd(0x3F); //
 37     WriteCmd(0xa4); //0xa4,Output follows RAM content;0xa5,Output ignores RAM content
 38     WriteCmd(0xd3); //-set display offset
 39     WriteCmd(0x00); //-not offset
 40     WriteCmd(0xd5); //--set display clock divide ratio/oscillator frequency
 41     WriteCmd(0xf0); //--set divide ratio
 42     WriteCmd(0xd9); //--set pre-charge period
 43     WriteCmd(0x22); //
 44     WriteCmd(0xda); //--set com pins hardware configuration
 45     WriteCmd(0x12);
 46     WriteCmd(0xdb); //--set vcomh
 47     WriteCmd(0x20); //0x20,0.77xVcc
 48     WriteCmd(0x8d); //--set DC-DC enable
 49     WriteCmd(0x14); //
 50     WriteCmd(0xaf); //--turn on oled panel
 51 }
 52 void OLED_SetPos(unsigned char x, unsigned char y) //设置起始点坐标
 53 {
 54     WriteCmd(0xb0+y);
 55     WriteCmd(((x&0xf0)>>4)|0x10);
 56     WriteCmd((x&0x0f)|0x01);
 57 }
 58 void OLED_Fill(unsigned char fill_Data)//全屏填充
 59 {
 60     unsigned char m,n;
 61     for(m=0;m<8;m++)
 62     {
 63         WriteCmd(0xb0+m);        //page0-page1
 64         WriteCmd(0x00);        //low column start address
 65         WriteCmd(0x10);        //high column start address
 66         for(n=0;n<128;n++)
 67         {
 68             WriteDat(fill_Data);
 69         }
 70     }
 71 }
 72 void OLED_CLS(void)//清屏
 73 {
 74     OLED_Fill(0x00);
 75 }
 76 void OLED_ON(void)
 77 {
 78     WriteCmd(0X8D);  //设置电荷泵
 79     WriteCmd(0X14);  //开启电荷泵
 80     WriteCmd(0XAF);  //OLED唤醒
 81 }
 82 void OLED_OFF(void)
 83 {
 84     WriteCmd(0X8D);  //设置电荷泵
 85     WriteCmd(0X10);  //关闭电荷泵
 86     WriteCmd(0XAE);  //OLED休眠
 87 }
 88 void OLED_ShowString(uint8_t x, uint8_t y, uint8_t *chr, uint8_t Char_Size) {
 89     unsigned char j = 0;
 90     while (chr[j] != '\0') {
 91         OLED_ShowChar(x, y, chr[j], Char_Size);
 92         x += 8;
 93         if (x > 120) {
 94             x = 0;
 95             y += 2;
 96         }
 97         j++;
 98     }
 99 }
100 // Parameters     : x,y -- 起始点坐标(x:0~127, y:0~7); N:汉字在.h中的索引
101 // Description    : 显示ASCII_8x16.h中的汉字,16*16点阵
102 void OLED_ShowCN(unsigned char x, unsigned char y, unsigned char N)
103 {
104     unsigned char wm=0;
105     unsigned int  adder=32*N;
106     OLED_SetPos(x , y);
107     for(wm = 0;wm < 16;wm++)
108     {
109         WriteDat(F16x16[adder]);
110         adder += 1;
111     }
112     OLED_SetPos(x,y + 1);
113     for(wm = 0;wm < 16;wm++)
114     {
115         WriteDat(F16x16[adder]);
116         adder += 1;
117     }
118 }
119 // Parameters     : x0,y0 -- 起始点坐标(x0:0~127, y0:0~7); x1,y1 -- 起点对角线(结束点)的坐标(x1:1~128,y1:1~8)
120 // Description    : 显示BMP位图
121 void OLED_DrawBMP(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,unsigned char BMP[])
122 {
123     unsigned int j=0;
124     unsigned char x,y;
125 
126     if(y1%8==0)
127         y = y1/8;
128     else
129         y = y1/8 + 1;
130     for(y=y0;y<y1;y++)
131     {
132         OLED_SetPos(x0,y);
133         for(x=x0;x<x1;x++)
134         {
135             WriteDat(BMP[j++]);
136         }
137     }
138 }
139 void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 Char_Size)
140 {
141     unsigned char c=0,i=0;
142     c=chr-' ';//得到偏移后的值
143     if(x>128-1){x=0;y=y+2;}
144     if(Char_Size ==16)
145     {
146         OLED_SetPos(x,y);
147         for(i=0;i<8;i++)
148             WriteDat(F8X16[c*16+i]);
149         OLED_SetPos(x,y+1);
150         for(i=0;i<8;i++)
151             WriteDat(F8X16[c*16+i+8]);
152     }
153     else {
154         OLED_SetPos(x,y);
155         for(i=0;i<6;i++)
156             WriteDat(F6x8[c][i]);
157 
158     }
159 }
160 u32 oled_pow(u8 m,u8 n)
161 {
162     u32 result=1;
163     while(n--)result*=m;
164     return result;
165 }
166 //显示2个数字
167 //x,y :起点坐标
168 //len :数字的位数
169 //size:字体大小
170 //mode:模式    0,填充模式;1,叠加模式
171 //num:数值(0~4294967295);
172 void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size2)
173 {
174     u8 t,temp;
175     u8 enshow=0;
176     for(t=0;t<len;t++)
177     {
178         temp=(num/oled_pow(10,len-t-1))%10;
179         if(enshow==0&&t<(len-1))
180         {
181             if(temp==0)
182             {
183                 OLED_ShowChar(x+(size2/2)*t,y,' ',size2);
184                 continue;
185             }else enshow=1;
186 
187         }
188         OLED_ShowChar(x+(size2/2)*t,y,temp+'0',size2);
189     }
190 }

 


 

OLED.h

#ifndef __OLED_H_
#define __OLED_H_    

#include "stdint.h"
#include "stm32f1xx_hal_i2c.h"

#define u8 uint8_t
#define u32 uint32_t

#define OLED0561_ADD    0x78  // OLED的I2C地址(禁止修改)
#define COM                0x00  // OLED 指令(禁止修改)
#define DAT             0x40  // OLED 数据(禁止修改)

void WriteCmd(unsigned char I2C_Command);//写命令
void WriteDat(unsigned char I2C_Data);//写数据
void OLED_Init(void);//初始化
void OLED_SetPos(unsigned char x, unsigned char y);
void OLED_Fill(unsigned char fill_Data);//全屏填充
void OLED_CLS(void);
void OLED_ON(void);
void OLED_OFF(void);

void OLED_ShowString(uint8_t x, uint8_t y, uint8_t *chr, uint8_t Char_Size);
void OLED_ShowCN(unsigned char x, unsigned char y, unsigned char N);
void OLED_DrawBMP(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,unsigned char BMP[]);

void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 Char_Size);
u32 oled_pow(u8 m,u8 n);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size2);//size2(16|12)

#endif

 


 

oledfont.h 字模

#ifndef __OLEDFONT_H
#define __OLEDFONT_H        

// ------------------  ASCII字模的数据表 ------------------------ //
// 码表从0x20~0x7e                                                //
// 字库:  纵向取模下高位// (调用时要减512)
// -------------------------------------------------------------- //

unsigned char F16x16[] =
        {

                0x88,0x68,0x1F,0xC8,0x08,0x10,0xC8,0x54,0x52,0xD1,0x12,0x94,0x08,0xD0,0x10,0x00,
                0x09,0x19,0x09,0xFF,0x05,0x00,0xFF,0x12,0x92,0xFF,0x00,0x5F,0x80,0x7F,0x00,0x00,//输0
/* (16 X 16 , 宋体 )*/

                0x00,0x00,0x00,0x00,0x00,0x01,0xE2,0x1C,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x03,0x0C,0x30,0x40,0x80,0x80,0x00,//入1
/* (16 X 16 , 宋体 )*/

                0x00,0x80,0x60,0xF8,0x07,0x40,0x20,0x18,0x0F,0x08,0xC8,0x08,0x08,0x28,0x18,0x00,
                0x01,0x00,0x00,0xFF,0x00,0x10,0x0C,0x03,0x40,0x80,0x7F,0x00,0x01,0x06,0x18,0x00,//你2
/* (16 X 16 , 宋体 )*/

                0x00,0x08,0x88,0x68,0xFF,0x48,0x88,0x00,0xFE,0x52,0x52,0x52,0xFE,0x00,0x00,0x00,
                0x40,0x31,0x00,0x00,0x3B,0x40,0x40,0x44,0x5B,0x42,0x42,0x72,0x03,0x08,0x30,0x00,//想3
/* (16 X 16 , 宋体 )*/

                0x00,0x02,0xF2,0x92,0x92,0xFE,0x92,0x92,0x92,0xFE,0x92,0x92,0xF2,0x02,0x00,0x00,
                0x00,0x02,0x82,0x92,0x9A,0x56,0x63,0x22,0x32,0x4A,0x46,0x42,0x82,0x02,0x00,0x00,//要4
/* (16 X 16 , 宋体 )*/

                0x00,0xF8,0x0C,0x0B,0x08,0x08,0xF8,0x40,0x30,0x8F,0x08,0x08,0x08,0xF8,0x00,0x00,
                0x00,0x7F,0x21,0x21,0x21,0x21,0x7F,0x00,0x00,0x00,0x43,0x80,0x40,0x3F,0x00,0x00,//的5
/* (16 X 16 , 宋体 )*/

                0x10,0x0C,0x04,0x24,0x24,0x24,0x25,0x26,0xA4,0x64,0x24,0x04,0x04,0x14,0x0C,0x00,
                0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,//字6
/* (16 X 16 , 宋体 )*/

                0x10,0x10,0xD0,0xFF,0x90,0x14,0xE4,0xAF,0xA4,0xA4,0xA4,0xAF,0xE4,0x04,0x00,0x00,
                0x04,0x03,0x00,0xFF,0x00,0x89,0x4B,0x2A,0x1A,0x0E,0x1A,0x2A,0x4B,0x88,0x80,0x00,//模7
/* (16 X 16 , 宋体 )*/
        };

/************************************6*8的点阵************************************/
const unsigned char F6x8[][6] =
        {
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00,//
                0x00, 0x00, 0x00, 0x2f, 0x00, 0x00,// !
                0x00, 0x00, 0x07, 0x00, 0x07, 0x00,// "
                0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,// #
                0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12,// $
                0x00, 0x62, 0x64, 0x08, 0x13, 0x23,// %
                0x00, 0x36, 0x49, 0x55, 0x22, 0x50,// &
                0x00, 0x00, 0x05, 0x03, 0x00, 0x00,// '
                0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,// (
                0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,// )
                0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,// *
                0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,// +
                0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,// ,
                0x00, 0x08, 0x08, 0x08, 0x08, 0x08,// -
                0x00, 0x00, 0x60, 0x60, 0x00, 0x00,// .
                0x00, 0x20, 0x10, 0x08, 0x04, 0x02,// /
                0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0
                0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,// 1
                0x00, 0x42, 0x61, 0x51, 0x49, 0x46,// 2
                0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,// 3
                0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,// 4
                0x00, 0x27, 0x45, 0x45, 0x45, 0x39,// 5
                0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6
                0x00, 0x01, 0x71, 0x09, 0x05, 0x03,// 7
                0x00, 0x36, 0x49, 0x49, 0x49, 0x36,// 8
                0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,// 9
                0x00, 0x00, 0x36, 0x36, 0x00, 0x00,// :
                0x00, 0x00, 0x56, 0x36, 0x00, 0x00,// ;
                0x00, 0x08, 0x14, 0x22, 0x41, 0x00,// <
                0x00, 0x14, 0x14, 0x14, 0x14, 0x14,// =
                0x00, 0x00, 0x41, 0x22, 0x14, 0x08,// >
                0x00, 0x02, 0x01, 0x51, 0x09, 0x06,// ?
                0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,// @
                0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,// A
                0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,// B
                0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,// C
                0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,// D
                0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,// E
                0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,// F
                0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,// G
                0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,// H
                0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,// I
                0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,// J
                0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,// K
                0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,// L
                0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,// M
                0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,// N
                0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,// O
                0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,// P
                0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q
                0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,// R
                0x00, 0x46, 0x49, 0x49, 0x49, 0x31,// S
                0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,// T
                0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,// U
                0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,// V
                0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,// W
                0x00, 0x63, 0x14, 0x08, 0x14, 0x63,// X
                0x00, 0x07, 0x08, 0x70, 0x08, 0x07,// Y
                0x00, 0x61, 0x51, 0x49, 0x45, 0x43,// Z
                0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,// [
                0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55,// 55
                0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,// ]
                0x00, 0x04, 0x02, 0x01, 0x02, 0x04,// ^
                0x00, 0x40, 0x40, 0x40, 0x40, 0x40,// _
                0x00, 0x00, 0x01, 0x02, 0x04, 0x00,// '
                0x00, 0x20, 0x54, 0x54, 0x54, 0x78,// a
                0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,// b
                0x00, 0x38, 0x44, 0x44, 0x44, 0x20,// c
                0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,// d
                0x00, 0x38, 0x54, 0x54, 0x54, 0x18,// e
                0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,// f
                0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,// g
                0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,// h
                0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,// i
                0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,// j
                0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,// k
                0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,// l
                0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,// m
                0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,// n
                0x00, 0x38, 0x44, 0x44, 0x44, 0x38,// o
                0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,// p
                0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,// q
                0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,// r
                0x00, 0x48, 0x54, 0x54, 0x54, 0x20,// s
                0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,// t
                0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,// u
                0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,// v
                0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,// w
                0x00, 0x44, 0x28, 0x10, 0x28, 0x44,// x
                0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,// y
                0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,// z
                0x14, 0x14, 0x14, 0x14, 0x14, 0x14,// horiz lines
        };
/****************************************8*16的点阵************************************/
const unsigned char F8X16[]=
        {
                0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 0
                0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//! 1
                0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//" 2
                0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//# 3
                0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$ 4
                0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//% 5
                0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,//& 6
                0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//' 7
                0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//( 8
                0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//) 9
                0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//* 10
                0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,//+ 11
                0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//, 12
                0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//- 13
                0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//. 14
                0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,/// 15
                0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0 16
                0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1 17
                0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2 18
                0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3 19
                0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4 20
                0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5 21
                0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6 22
                0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7 23
                0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8 24
                0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9 25
                0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//: 26
                0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//; 27
                0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,//< 28
                0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//= 29
                0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,//> 30
                0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,//? 31
                0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,//@ 32
                0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,//A 33
                0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,//B 34
                0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,//C 35
                0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,//D 36
                0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,//E 37
                0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,//F 38
                0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,//G 39
                0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,//H 40
                0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//I 41
                0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,//J 42
                0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,//K 43
                0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,//L 44
                0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,//M 45
                0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,//N 46
                0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,//O 47
                0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,//P 48
                0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,//Q 49
                0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R 50
                0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S 51
                0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T 52
                0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U 53
                0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V 54
                0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W 55
                0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X 56
                0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y 57
                0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z 58
                0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[ 59
                0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\ 60
                0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//] 61
                0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^ 62
                0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_ 63
                0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//` 64
                0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a 65
                0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b 66
                0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c 67
                0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d 68
                0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e 69
                0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f 70
                0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g 71
                0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h 72
                0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i 73
                0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j 74
                0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k 75
                0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l 76
                0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m 77
                0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n 78
                0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o 79
                0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p 80
                0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q 81
                0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r 82
                0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s 83
                0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t 84
                0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//u 85
                0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v 86
                0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w 87
                0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x 88
                0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y 89
                0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z 90
                0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{ 91
                0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//| 92
                0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//} 93
                0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~ 94
        };


#endif

main中使用:

/* USER CODE BEGIN 2 */
    OLED_Init();    //这里的初始化一定要在I2c_Init的后面,只有I2C初始化之后OLED才能运行
    OLED_CLS();     //初始化之后清一下屏
/* USER CODE END 2 */
    OLED_ShowString(30, 0, "Vol Mode", 16);
    OLED_ShowString(0, 2, "ch1:", 16);
    OLED_ShowString(0, 4, "ch2:", 16);
    OLED_ShowString(0, 6, "ch3:", 16);
    OLED_ShowNum(30, 2, adcA * 3300 / 4096, 6, 16);
    OLED_ShowNum(30, 4, adcB * 3300 / 4096, 6, 16);
    OLED_ShowNum(30, 6, adcC * 3300 / 4096, 6, 16);

 

posted @ 2022-05-25 11:01  grey_electron  阅读(314)  评论(0编辑  收藏  举报