标题:
基于stm32f030f4单片机ds3231+tm1640万年历时钟源程序
[打印本页]
作者:
bedz
时间:
2022-3-29 10:13
标题:
基于stm32f030f4单片机ds3231+tm1640万年历时钟源程序
基于stm32f030f4芯片+ds3231+tm1640+16位数码管+oled 万年历时钟
由于此版本为代人开发的!所以只能开源基本代码(删除包括:OLED WIFI KEY 等外设代码)!供大家研究!!!
制作出来的实物图如下:
0.JPG
(43.37 KB, 下载次数: 82)
下载附件
2022-3-29 09:56 上传
1.JPG
(49.32 KB, 下载次数: 74)
下载附件
2022-3-29 10:13 上传
GPIO配置:
TM1640
DIN =PA1
SCLK=PA2
DS3231
SDA=PA3
SCL=PA4
单片机源程序如下:
/*************************************************************************************
//基于STM32F030F4P6+DS3231+TM1640 ****(此版本为删减开源版本)
//实现基本万年历时钟
//2022.03.10
****************************************************************************************/
//#include "exti.h"
//#include "oled.h"
//#include "bmp.h"
//#include "key.h"
//#include "wifi.h"
//#include "uart.h"
#include "sys.h"
#include "delay.h"
#include "i2c.h"
#include "DS3231.h"
#include "TM1640.h"
int main(void)
{
delay_init();
I2C_GPIO_Config();
DS3231_Init();
TM1640_Init();
// //Set_DS3231_Time(22,03,28,22,18,00,1);//22年03月20号14时00?分00秒星期日,初始化DS3231后注销
// key_Init();
// uart_Init();
// wifi_Init();
// OLED_Init();
// OLED_Clear();
while(1)
{
Get_DS3231_Time();
{
/*/OLED12864显示日期
OLED_ShowString(0,0,"2",16); //2
OLED_ShowString(10,0,"0",16); //0
OLED_ShowChar(20,0,calendar.w_year/10+48,16);
OLED_ShowChar(31,0,calendar.w_year%10+48,16);
OLED_ShowCHinese(40,0,0);//年
OLED_ShowChar(59,0,calendar.w_month/10+48,16);
OLED_ShowChar(68,0,calendar.w_month%10+48,16);
OLED_ShowCHinese(78,0,1);//月
OLED_ShowChar(96,0,calendar.w_date/10+48,16);
OLED_ShowChar(105,0,calendar.w_date%10+48,16);
OLED_ShowCHinese(112,0,14);//日
//OLED12864显示时间
OLED_Show16X32(0,2,calendar.hour/10);
OLED_Show16X32(18,2,calendar.hour%10);
OLED_Show16X32(33,2,10);
OLED_Show16X32(48,2,calendar.min/10);
OLED_Show16X32(64,2,calendar.min%10);
OLED_Show16X32(80,2,10);
OLED_Show16X32(95,2,calendar.sec/10);
OLED_Show16X32(110,2,calendar.sec%10);
//OLED_ShowCHinese(2,6,6);//
//OLED_ShowCHinese(18,6,7);//
OLED_ShowCHinese(0,6,2);//
OLED_ShowCHinese(20,6,calendar.week+7); //星期
//OLED_ShowChar(70,6,127,16); //
OLED_ShowCHinese(45,6,4);//
OLED_ShowCHinese(63,6,5);//
OLED_ShowChar(79,6,calendar.temper_H/10+48,16);//
OLED_ShowChar(88,6,calendar.temper_H%10+48,16);//显示温度
OLED_ShowString(96,6,".",16);//.
OLED_ShowChar(103,6,calendar.temper_L/10+48,16);//
OLED_ShowCHinese(112,6,3);//C*/
//*************************************TM1640-16位共阴数码管显示****************************************88888888
// TM1640_display(0,calendar.w_year/10); //年
// TM1640_display(1,calendar.w_year%10);//年
// TM1640_display(2,11); //不显示
TM1640_display(0,calendar.w_month/10);
TM1640_display(1,calendar.w_month%10);//月
TM1640_display(2,11); //不显示
TM1640_display(3,calendar.w_date/10);
TM1640_display(4,calendar.w_date%10);//日
TM1640_display(5,11); //不显?
TM1640_display(6,11); //不显?
TM1640_display(7,calendar.week); //星期
TM1640_display(8,calendar.hour/10);
TM1640_display(9,calendar.hour%10);//时
TM1640_display(10,10); //显示"-"
TM1640_display(11,calendar.min/10);
TM1640_display(12,calendar.min%10);//分
TM1640_display(13,10); //显示"-"
TM1640_display(14,calendar.sec/10);
TM1640_display(15,calendar.sec%10);//秒
}
}
}
复制代码
Keil代码下载:
STM32F030F4P6+TM1640+DS3231 万年历时钟.7z
(195.71 KB, 下载次数: 68)
2022-3-29 14:41 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1