一、

    二、程序代码:
    1、主函数:

    1. //OLED屏 显示时间的程序
    2. //SCL接A5
    3. //SDL接A4
    4. // 引入IIC通讯所需的Wire库文件
    5. #include <Wire.h>
    6. #include "text.h"
    7. #include <Adafruit_GFX.h> // 引入驱动OLED0.96所需的库
    8. #include <Adafruit_SSD1306.h>
    9. #define SCREEN_WIDTH 128 // 设置OLED宽度,单位:像素
    10. #define SCREEN_HEIGHT 64 // 设置OLED高度,单位:像素
    11. // 自定义重置引脚,虽然教程未使用,但却是Adafruit_SSD1306库文件所必需的
    12. #define OLED_RESET 4
    13. int miao = 0;
    14. int fen = 54;
    15. int shi = 15;
    16. int hao = 0;
    17. int nian = 2021;
    18. int yue = 11;
    19. int ri = 12;
    20. Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
    21. void setup()
    22. {
    23. // 初始化Wire库
    24. // Wire.begin();
    25. // 初始化OLED并设置其IIC地址为 0x3C
    26. display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
    27. }
    28. void loop()
    29. {
    30. words_display();
    31. display.display();
    32. }
    33. void words_display()
    34. {
    35. display.clearDisplay();// 清除屏幕
    36. display.setTextColor(WHITE); // 设置字体颜色,白色可见
    37. display.setTextSize(2);//设置字体大小
    38. display.setCursor(0, 0);//设置光标位置
    39. display.print(nian);
    40. // 显示文字 ;第一个参数:列;第二个参数:行;第三个参数:字;第四五个参数:字的宽长;第六个参数:颜色
    41. display.drawBitmap(45, 0, niann, 16, 16, 1);
    42. display.setCursor(60, 0);
    43. display.print(yue);
    44. display.drawBitmap(80, 0, yuee, 16, 16, 1); //月
    45. display.setCursor(95, 0);
    46. display.print(ri);
    47. display.drawBitmap(116, 0, rii, 16, 16, 1); //日
    48. display.drawBitmap(0, 40, xingg, 16, 16, 1); //星
    49. display.drawBitmap(16, 40, qii, 16, 16, 1); //期
    50. display.setCursor(32, 45);
    51. display.print(":");
    52. delay(1000);
    53. miao++;
    54. display.setCursor(60, 20);//第一个参数:列;第二个参数:行
    55. display.print(":");
    56. display.print(miao);
    57. display.setCursor(25, 20);//第一个参数:列;第二个参数:行
    58. display.print(":");
    59. display.print(fen);
    60. display.setCursor(0, 20);//第一个参数:列;第二个参数:行
    61. display.print(shi);
    62. if(miao >= 60)
    63. {
    64. miao = 00;
    65. fen++;
    66. }
    67. if(fen >= 60)
    68. {
    69. fen = 00;
    70. shi++;
    71. }
    72. if(shi>=24)
    73. {
    74. shi = 00;
    75. ri++;
    76. }
    77. }

    2、htxt.h :

    1. static const unsigned char PROGMEM niann[] = {
    2. 0x10,0x00,0x10,0x00,0x1F,0xFC,0x20,0x80,0x20,0x80,0x40,0x80,0x1F,0xF8,0x10,0x80,
    3. 0x10,0x80,0x10,0x80,0xFF,0xFE,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80};
    4. /*"年",0*/
    5. static const unsigned char PROGMEM yuee[] = {
    6. 0x00,0x00,0x1F,0xF8,0x10,0x08,0x10,0x08,0x10,0x08,0x1F,0xF8,0x10,0x08,0x10,0x08,
    7. 0x10,0x08,0x1F,0xF8,0x10,0x08,0x10,0x08,0x20,0x08,0x20,0x08,0x40,0x28,0x80,0x10};
    8. /*"月",1*/
    9. static const unsigned char PROGMEM rii[] = {
    10. 0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,
    11. 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10};
    12. /*"日",2*/
    13. static const unsigned char PROGMEM xingg[] = {
    14. 0x00,0x00,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x01,0x00,0x11,0x00,
    15. 0x1F,0xF8,0x21,0x00,0x41,0x00,0x1F,0xF0,0x01,0x00,0x01,0x00,0x7F,0xFC,0x00,0x00};
    16. /*"星",3*/
    17. static const unsigned char PROGMEM qii[] = {
    18. 0x22,0x00,0x22,0x7C,0x7F,0x44,0x22,0x44,0x22,0x44,0x3E,0x7C,0x22,0x44,0x22,0x44,
    19. 0x3E,0x44,0x22,0x7C,0x22,0x44,0xFF,0x44,0x04,0x84,0x22,0x84,0x41,0x14,0x82,0x08};
    20. /*"期",4*/
    21. static const unsigned char PROGMEM yii[] = {
    22. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,
    23. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
    24. /*"一",5*/
    25. static const unsigned char PROGMEM err[] = {
    26. 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    27. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00};
    28. /*"二",6*/
    29. static const unsigned char PROGMEM sann[] = {
    30. 0x00,0x00,0x00,0x00,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,
    31. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00};
    32. /*"三",7*/
    33. static const unsigned char PROGMEM sii[] = {
    34. 0x00,0x00,0x00,0x00,0x7F,0xFC,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
    35. 0x48,0x44,0x48,0x3C,0x50,0x04,0x60,0x04,0x40,0x04,0x7F,0xFC,0x40,0x04,0x00,0x00};
    36. /*"四",8*/
    37. static const unsigned char PROGMEM wuu[] = {
    38. 0x00,0x00,0x7F,0xFC,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x3F,0xF0,0x04,0x10,
    39. 0x04,0x10,0x04,0x10,0x04,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0xFF,0xFE,0x00,0x00};
    40. /*"五",9*/
    41. static const unsigned char PROGMEM liuu[] = {
    42. 0x02,0x00,0x01,0x00,0x00,0x80,0x00,0x80,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,
    43. 0x04,0x40,0x04,0x20,0x08,0x10,0x08,0x08,0x10,0x08,0x20,0x04,0x40,0x04,0x00,0x00};
    44. /*"六",10*/
    45. static const unsigned char PROGMEM qiii[] = {
    46. 0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x3C,0x07,0xC0,0xFA,0x00,
    47. 0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x04,0x02,0x04,0x02,0x04,0x01,0xFC,0x00,0x00};
    48. /*"七",11*/

    三、