|
- //=======调用U8GLIB液晶屏驱动库=====
- #include "U8glib.h"
- U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
- //=======调用DS3231时钟驱动库======
- #include <DS3231.h>
- #include <Wire.h>
- //========定义时钟需要的各种变量========
- DS3231 Clock;
- bool Century=false;
- bool h12;
- bool PM;
- byte ADay, AHour, AMinute, ASecond, ABits;
- bool ADy, A12h, Apm;
- int second,minute,hour,date,month,year,temperature;
- void setup(void) {
- Clock.setClockMode(true);
- }
- void loop(void) {
- //=======读取时钟的各种中值,存入对应变量========
- second=Clock.getSecond(); //秒
- minute=Clock.getMinute(); //分
- hour=Clock.getHour(h12, PM); //小时 (分上午和下午模式)
- date=Clock.getDate(); //日
- month=Clock.getMonth(Century); //月
- year=Clock.getYear(); //年(仅2位)
- temperature=Clock.getTemperature(); //温度 (正负2-3摄氏度误差,温度仅供参考)
- //======开始显示==========
- u8g.firstPage();
- do {
- draw();
- } while( u8g.nextPage() );
- }
- //======定义的显示模式======
- void draw(void) {
- //u8g.setPrintPos(0, 45); //定义显示位置 横向起始位置0 纵向45
- //if(PM==0) //判断变量PM返回值 0就显示AM 1就显示PM
- //{
- //u8g.print("AM");
- //}else
- //{u8g.print("PM");}
- u8g.setPrintPos(0, 20); //定义显示位置 横向起始位置0 纵向45
- u8g.setFont(u8g_font_fub20); //设定字体(具体请参看 U8GLIB google code页面,大量字体可选)u8g_font_fub20
- u8g.print(year);
- u8g.print(":"); //显示一个冒号
- u8g.print(month);
- u8g.print(":"); //显示一个冒号
- u8g.print(date);
- u8g.setPrintPos(0, 45); //定义显示位置 横向起始位置0 纵向45
- u8g.setFont(u8g_font_fub20); //设定字体(具体请参看 U8GLIB google code页面,大量字体可选)u8g_font_fub20
- u8g.print(hour); //输出小时的值
- u8g.print(":"); //显示一个冒号
- u8g.print(minute); //显示分钟的值
- u8g.setFont(u8g_font_fub20); //调整显示字体u8g_font_freedoomr10r原
- u8g.print(":"); //再显示冒号
- u8g.print(second); //显示秒
- //u8g.setPrintPos(0, 65); //定义显示位置 横向起始位置0 纵向45
- //u8g.setFont(u8g_font_fub20); //设定字体(具体请参看 U8GLIB google code页面,大量字体可选)u8g_font_fub20
- //u8g.print(temperature); //输出小时的值
- //u8g.print("☆"); //显示一个冒号
- }
复制代码
|
评分
-
查看全部评分
|