一、
二、程序代码:
1、主函数:
//OLED屏 显示时间的程序
//SCL接A5
//SDL接A4
// 引入IIC通讯所需的Wire库文件
#include <Wire.h>
#include "text.h"
#include <Adafruit_GFX.h> // 引入驱动OLED0.96所需的库
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // 设置OLED宽度,单位:像素
#define SCREEN_HEIGHT 64 // 设置OLED高度,单位:像素
// 自定义重置引脚,虽然教程未使用,但却是Adafruit_SSD1306库文件所必需的
#define OLED_RESET 4
int miao = 0;
int fen = 54;
int shi = 15;
int hao = 0;
int nian = 2021;
int yue = 11;
int ri = 12;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup()
{
// 初始化Wire库
// Wire.begin();
// 初始化OLED并设置其IIC地址为 0x3C
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
}
void loop()
{
words_display();
display.display();
}
void words_display()
{
display.clearDisplay();// 清除屏幕
display.setTextColor(WHITE); // 设置字体颜色,白色可见
display.setTextSize(2);//设置字体大小
display.setCursor(0, 0);//设置光标位置
display.print(nian);
// 显示文字 ;第一个参数:列;第二个参数:行;第三个参数:字;第四五个参数:字的宽长;第六个参数:颜色
display.drawBitmap(45, 0, niann, 16, 16, 1);
display.setCursor(60, 0);
display.print(yue);
display.drawBitmap(80, 0, yuee, 16, 16, 1); //月
display.setCursor(95, 0);
display.print(ri);
display.drawBitmap(116, 0, rii, 16, 16, 1); //日
display.drawBitmap(0, 40, xingg, 16, 16, 1); //星
display.drawBitmap(16, 40, qii, 16, 16, 1); //期
display.setCursor(32, 45);
display.print(":");
delay(1000);
miao++;
display.setCursor(60, 20);//第一个参数:列;第二个参数:行
display.print(":");
display.print(miao);
display.setCursor(25, 20);//第一个参数:列;第二个参数:行
display.print(":");
display.print(fen);
display.setCursor(0, 20);//第一个参数:列;第二个参数:行
display.print(shi);
if(miao >= 60)
{
miao = 00;
fen++;
}
if(fen >= 60)
{
fen = 00;
shi++;
}
if(shi>=24)
{
shi = 00;
ri++;
}
}
2、htxt.h :
static const unsigned char PROGMEM niann[] = {
0x10,0x00,0x10,0x00,0x1F,0xFC,0x20,0x80,0x20,0x80,0x40,0x80,0x1F,0xF8,0x10,0x80,
0x10,0x80,0x10,0x80,0xFF,0xFE,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80};
/*"年",0*/
static const unsigned char PROGMEM yuee[] = {
0x00,0x00,0x1F,0xF8,0x10,0x08,0x10,0x08,0x10,0x08,0x1F,0xF8,0x10,0x08,0x10,0x08,
0x10,0x08,0x1F,0xF8,0x10,0x08,0x10,0x08,0x20,0x08,0x20,0x08,0x40,0x28,0x80,0x10};
/*"月",1*/
static const unsigned char PROGMEM rii[] = {
0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10};
/*"日",2*/
static const unsigned char PROGMEM xingg[] = {
0x00,0x00,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x01,0x00,0x11,0x00,
0x1F,0xF8,0x21,0x00,0x41,0x00,0x1F,0xF0,0x01,0x00,0x01,0x00,0x7F,0xFC,0x00,0x00};
/*"星",3*/
static const unsigned char PROGMEM qii[] = {
0x22,0x00,0x22,0x7C,0x7F,0x44,0x22,0x44,0x22,0x44,0x3E,0x7C,0x22,0x44,0x22,0x44,
0x3E,0x44,0x22,0x7C,0x22,0x44,0xFF,0x44,0x04,0x84,0x22,0x84,0x41,0x14,0x82,0x08};
/*"期",4*/
static const unsigned char PROGMEM yii[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
/*"一",5*/
static const unsigned char PROGMEM err[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00};
/*"二",6*/
static const unsigned char PROGMEM sann[] = {
0x00,0x00,0x00,0x00,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00};
/*"三",7*/
static const unsigned char PROGMEM sii[] = {
0x00,0x00,0x00,0x00,0x7F,0xFC,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
0x48,0x44,0x48,0x3C,0x50,0x04,0x60,0x04,0x40,0x04,0x7F,0xFC,0x40,0x04,0x00,0x00};
/*"四",8*/
static const unsigned char PROGMEM wuu[] = {
0x00,0x00,0x7F,0xFC,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x3F,0xF0,0x04,0x10,
0x04,0x10,0x04,0x10,0x04,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0xFF,0xFE,0x00,0x00};
/*"五",9*/
static const unsigned char PROGMEM liuu[] = {
0x02,0x00,0x01,0x00,0x00,0x80,0x00,0x80,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,
0x04,0x40,0x04,0x20,0x08,0x10,0x08,0x08,0x10,0x08,0x20,0x04,0x40,0x04,0x00,0x00};
/*"六",10*/
static const unsigned char PROGMEM qiii[] = {
0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x3C,0x07,0xC0,0xFA,0x00,
0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x04,0x02,0x04,0x02,0x04,0x01,0xFC,0x00,0x00};
/*"七",11*/
三、