原创哦
这个是基于arduino(328p)芯片开发的数字万年历
串口调时1302时钟芯片
12864显示屏
以下内容全部开源,开机画面可供用户自定义,目前为空白所以在没有
调时之前全屏为白色
以下是工程文件全部内容
屏幕效果
硬件测试
部分源码展示
- #include <dht11.h>
- #include <DS1302.h> //声明库文件 这些库文件不是编译器自带的需要拷贝
- #include "U8glib.h"
- /*这些库文件不是编译器自带的需要拷贝 DHT11 DS1302 u8gilb到
- 编译器库文件夹目前我测试了16.4 和18.3都可以正常工作,开发板卡选uno或nano(328p)
- 串口为9600波特率 换行符
- !!在没有调时之前屏幕为空,开机画面可以自定,目前为空!
- 本程序开源,希望大家尊重原著,qq3406225989
- */
- int b;
- int years=0;
- byte second = 0;
- byte minute = 0;
- byte hour = 0; // 调时日期暂存
- byte weekday = 0;
- byte monthday = 0;
- byte month = 0;
- byte year = 0;
- char m12[]="December";
- char m11[]="November";
- char m10[]="October";//月份暂存
- char m9[]="September";
- char m8[]="August"; // const char* days[] =
- //{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
- char m7[]="July";
- char m6[]="June";
- char m5[]="May";
- char m4[]="April";
- char m3[]="March";
- char m2[]="February";
- char m1[]="January";
- //char c1[]="Monday";
- //char c2[]="Tuesday";
- //char c3[]="Wednesday";
- //char c4[]="Thursday";
- //char c5[]="Friday";
- //char c6[]="Saturday";
- //char c7[]="Sunday";
- const byte dataPin =8;
- DS1302 rtc(2, 3, 7);//模块引脚接口设定
- U8GLIB_ST7920_128X64_4X u8g(4,5,6); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
- Time t;
- dht11 DHT11;//温度传感
- const uint8_t rock10_bitmap[] PROGMEM = {
- 0x00,0x00,0x01,0x80,0x02,0x40,0x02,0x40,0x02,0xC0,0x02,0x40,0x02,0xC0,0x02,0x40,
- 0x02,0xC0,0x02,0x40,0x03,0xC0,0x07,0xE0,0x0F,0xF0,0x0F,0xF0,0x07,0xE0,0x03,0xC0};//wen du ji tu biao
- const uint8_t rock11_bitmap[] PROGMEM = {
- 0x00,0x00,0x30,0x00,0x48,0x00,0x49,0xC0,0x33,0xE8,0x06,0x38,0x0C,0x18,0x0C,0x08, //温度计 温度图标暂存
- 0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x06,0x08,0x03,0x10,0x01,0xE0,0x00,0x00}; //she shi du fu hao
- void draw(void) {
- int chk = DHT11.read(dataPin);//温度预设
- int m=0; //数字预设
复制代码
全部资料51hei下载地址:
12864-1302-serial.zip
(995.07 KB, 下载次数: 107)
|