学了那么久的单片机了,一直想做一个综合的应用,正好家里缺个看时间的东东,我寻思就做个 万年历吧。
设计的功能有:时间显示,日期显示,温显示,整点报时,设置闹钟。 
硬件上采用了 DS1302+DS18B20+四脚I2Coled+红外接收器+蜂鸣器,主控是stm32f103rct6
Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)
名称
STM32f103核心板
DS1302
DS18B20
四脚I2Coled
有源蜂鸣器
红外接收器
CR2032电池盒
IN4148
NPN型三极管
10K电阻
1K电阻
104独石电容
32.768MHZ晶振
共阳七色LED
4.7K电阻
大体思路是DS18B20与 DS1302 分别提供温度与时间数据,BEEP让闹钟响,oled屏就负责显示。
新人第一次发帖,请各位大佬前辈们轻喷  ,部分程序来自网络,感谢大家共享的资料 #include "delay.h"
#include "sys.h"
#include "oled.h"
#include "bmp.h"
#include "show.h"
#include "beep.h"
void main()
{
ledinit();
BEEP_Init();
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 LED_Init(); //LED端口初始化
OLED_Init(); //初始化OLED
OLED_Clear();
Ds1302Init();
Remote_Init();
while(1)
{
show();
delay_ms(20);
}
}
全部资料51hei下载地址:
32万年历.7z
(1.67 MB, 下载次数: 669)
|